dm cache: move hook_info into common portion of per_bio_data structure
authorMike Snitzer <snitzer@redhat.com>
Fri, 31 Jan 2014 19:11:54 +0000 (14:11 -0500)
committerMike Snitzer <snitzer@redhat.com>
Mon, 17 Feb 2014 16:00:05 +0000 (11:00 -0500)
Commit c9d28d5d ("dm cache: promotion optimisation for writes")
incorrectly placed the 'hook_info' member in the writethrough-only
portion of the per_bio_data structure.

Given that the overwrite optimization may be used for writeback the
'hook_info' member must be placed above the 'cache' member of the
per_bio_data structure.  Any members above 'cache' are available from
both writeback and writethrough modes' per_bio_data structure.

Signed-off-by: Mike Snitzer <snitzer@redhat.com>
Acked-by: Joe Thornber <ejt@redhat.com>
Cc: stable@vger.kernel.org # 3.13+
drivers/md/dm-cache-target.c

index ffd472e015caa918facaed4f65a621c0f61e58a9..14256b7fce79bad133db3e2866839c06cef51934 100644 (file)
@@ -289,6 +289,7 @@ struct per_bio_data {
        bool tick:1;
        unsigned req_nr:2;
        struct dm_deferred_entry *all_io_entry;
+       struct dm_hook_info hook_info;
 
        /*
         * writethrough fields.  These MUST remain at the end of this
@@ -297,7 +298,6 @@ struct per_bio_data {
         */
        struct cache *cache;
        dm_cblock_t cblock;
-       struct dm_hook_info hook_info;
        struct dm_bio_details bio_details;
 };