| From c6eda5e81c4fcc77185117255c7419eda771f67f Mon Sep 17 00:00:00 2001 |
| From: Mike Snitzer <snitzer@redhat.com> |
| Date: Fri, 31 Jan 2014 14:11:54 -0500 |
| Subject: dm cache: move hook_info into common portion of per_bio_data structure |
| |
| From: Mike Snitzer <snitzer@redhat.com> |
| |
| commit c6eda5e81c4fcc77185117255c7419eda771f67f upstream. |
| |
| 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> |
| Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org> |
| |
| --- |
| drivers/md/dm-cache-target.c | 2 +- |
| 1 file changed, 1 insertion(+), 1 deletion(-) |
| |
| --- a/drivers/md/dm-cache-target.c |
| +++ b/drivers/md/dm-cache-target.c |
| @@ -283,6 +283,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 |
| @@ -291,7 +292,6 @@ struct per_bio_data { |
| */ |
| struct cache *cache; |
| dm_cblock_t cblock; |
| - struct dm_hook_info hook_info; |
| struct dm_bio_details bio_details; |
| }; |
| |