diff options
| -rw-r--r-- | drivers/md/dm-snap.c | 26 | ||||
| -rw-r--r-- | include/linux/dm-io.h | 4 |
2 files changed, 15 insertions, 15 deletions
diff --git a/drivers/md/dm-snap.c b/drivers/md/dm-snap.c index 0789c22ff0d4..54853773510c 100644 --- a/drivers/md/dm-snap.c +++ b/drivers/md/dm-snap.c | |||
| @@ -83,10 +83,10 @@ struct dm_snapshot { | |||
| 83 | /* Whether or not owning mapped_device is suspended */ | 83 | /* Whether or not owning mapped_device is suspended */ |
| 84 | int suspended; | 84 | int suspended; |
| 85 | 85 | ||
| 86 | mempool_t *pending_pool; | ||
| 87 | |||
| 88 | atomic_t pending_exceptions_count; | 86 | atomic_t pending_exceptions_count; |
| 89 | 87 | ||
| 88 | mempool_t *pending_pool; | ||
| 89 | |||
| 90 | struct dm_exception_table pending; | 90 | struct dm_exception_table pending; |
| 91 | struct dm_exception_table complete; | 91 | struct dm_exception_table complete; |
| 92 | 92 | ||
| @@ -96,6 +96,11 @@ struct dm_snapshot { | |||
| 96 | */ | 96 | */ |
| 97 | spinlock_t pe_lock; | 97 | spinlock_t pe_lock; |
| 98 | 98 | ||
| 99 | /* Chunks with outstanding reads */ | ||
| 100 | spinlock_t tracked_chunk_lock; | ||
| 101 | mempool_t *tracked_chunk_pool; | ||
| 102 | struct hlist_head tracked_chunk_hash[DM_TRACKED_CHUNK_HASH_SIZE]; | ||
| 103 | |||
| 99 | /* The on disk metadata handler */ | 104 | /* The on disk metadata handler */ |
| 100 | struct dm_exception_store *store; | 105 | struct dm_exception_store *store; |
| 101 | 106 | ||
| @@ -105,10 +110,12 @@ struct dm_snapshot { | |||
| 105 | struct bio_list queued_bios; | 110 | struct bio_list queued_bios; |
| 106 | struct work_struct queued_bios_work; | 111 | struct work_struct queued_bios_work; |
| 107 | 112 | ||
| 108 | /* Chunks with outstanding reads */ | 113 | /* Wait for events based on state_bits */ |
| 109 | mempool_t *tracked_chunk_pool; | 114 | unsigned long state_bits; |
| 110 | spinlock_t tracked_chunk_lock; | 115 | |
| 111 | struct hlist_head tracked_chunk_hash[DM_TRACKED_CHUNK_HASH_SIZE]; | 116 | /* Range of chunks currently being merged. */ |
| 117 | chunk_t first_merging_chunk; | ||
| 118 | int num_merging_chunks; | ||
| 112 | 119 | ||
| 113 | /* | 120 | /* |
| 114 | * The merge operation failed if this flag is set. | 121 | * The merge operation failed if this flag is set. |
| @@ -125,13 +132,6 @@ struct dm_snapshot { | |||
| 125 | */ | 132 | */ |
| 126 | int merge_failed; | 133 | int merge_failed; |
| 127 | 134 | ||
| 128 | /* Wait for events based on state_bits */ | ||
| 129 | unsigned long state_bits; | ||
| 130 | |||
| 131 | /* Range of chunks currently being merged. */ | ||
| 132 | chunk_t first_merging_chunk; | ||
| 133 | int num_merging_chunks; | ||
| 134 | |||
| 135 | /* | 135 | /* |
| 136 | * Incoming bios that overlap with chunks being merged must wait | 136 | * Incoming bios that overlap with chunks being merged must wait |
| 137 | * for them to be committed. | 137 | * for them to be committed. |
diff --git a/include/linux/dm-io.h b/include/linux/dm-io.h index b6bf17ee2f61..5c9186b93fff 100644 --- a/include/linux/dm-io.h +++ b/include/linux/dm-io.h | |||
| @@ -37,14 +37,14 @@ enum dm_io_mem_type { | |||
| 37 | struct dm_io_memory { | 37 | struct dm_io_memory { |
| 38 | enum dm_io_mem_type type; | 38 | enum dm_io_mem_type type; |
| 39 | 39 | ||
| 40 | unsigned offset; | ||
| 41 | |||
| 40 | union { | 42 | union { |
| 41 | struct page_list *pl; | 43 | struct page_list *pl; |
| 42 | struct bio_vec *bvec; | 44 | struct bio_vec *bvec; |
| 43 | void *vma; | 45 | void *vma; |
| 44 | void *addr; | 46 | void *addr; |
| 45 | } ptr; | 47 | } ptr; |
| 46 | |||
| 47 | unsigned offset; | ||
| 48 | }; | 48 | }; |
| 49 | 49 | ||
| 50 | struct dm_io_notify { | 50 | struct dm_io_notify { |
