summaryrefslogtreecommitdiffstats
path: root/drivers/md/dm-crypt.c
diff options
context:
space:
mode:
authorLinus Torvalds <torvalds@linux-foundation.org>2018-06-12 21:12:08 -0400
committerLinus Torvalds <torvalds@linux-foundation.org>2018-06-12 21:12:08 -0400
commit4597fcff07044d89c646d0c5d8b42cd976d966a1 (patch)
treeace9a18c624e6ede7229d495aa5bad393daded92 /drivers/md/dm-crypt.c
parenta205f0c974db78c6a1a8ce31cd4c0b45ac45ea40 (diff)
parent48debafe4f2feabcc99f8e2659e80557e3ca6b39 (diff)
Merge tag 'for-4.18/dm-changes-v2' of git://git.kernel.org/pub/scm/linux/kernel/git/device-mapper/linux-dm
Pull device mapper updates from Mike Snitzer: - Adjust various DM structure members to improve alignment relative to 4.18 block's mempool_t and bioset changes. - Add DM writecache target that offers writeback caching to persistent memory or SSD. - Small DM core error message change to give context for why a DM table type transition wasn't allowed. * tag 'for-4.18/dm-changes-v2' of git://git.kernel.org/pub/scm/linux/kernel/git/device-mapper/linux-dm: dm: add writecache target dm: adjust structure members to improve alignment dm: report which conflicting type caused error during table_load()
Diffstat (limited to 'drivers/md/dm-crypt.c')
-rw-r--r--drivers/md/dm-crypt.c26
1 files changed, 13 insertions, 13 deletions
diff --git a/drivers/md/dm-crypt.c b/drivers/md/dm-crypt.c
index da02f4d8e4b9..4939fbc34ff2 100644
--- a/drivers/md/dm-crypt.c
+++ b/drivers/md/dm-crypt.c
@@ -139,25 +139,13 @@ struct crypt_config {
139 struct dm_dev *dev; 139 struct dm_dev *dev;
140 sector_t start; 140 sector_t start;
141 141
142 /*
143 * pool for per bio private data, crypto requests,
144 * encryption requeusts/buffer pages and integrity tags
145 */
146 mempool_t req_pool;
147 mempool_t page_pool;
148 mempool_t tag_pool;
149 unsigned tag_pool_max_sectors;
150
151 struct percpu_counter n_allocated_pages; 142 struct percpu_counter n_allocated_pages;
152 143
153 struct bio_set bs;
154 struct mutex bio_alloc_lock;
155
156 struct workqueue_struct *io_queue; 144 struct workqueue_struct *io_queue;
157 struct workqueue_struct *crypt_queue; 145 struct workqueue_struct *crypt_queue;
158 146
159 struct task_struct *write_thread;
160 wait_queue_head_t write_thread_wait; 147 wait_queue_head_t write_thread_wait;
148 struct task_struct *write_thread;
161 struct rb_root write_tree; 149 struct rb_root write_tree;
162 150
163 char *cipher; 151 char *cipher;
@@ -213,6 +201,18 @@ struct crypt_config {
213 unsigned int integrity_iv_size; 201 unsigned int integrity_iv_size;
214 unsigned int on_disk_tag_size; 202 unsigned int on_disk_tag_size;
215 203
204 /*
205 * pool for per bio private data, crypto requests,
206 * encryption requeusts/buffer pages and integrity tags
207 */
208 unsigned tag_pool_max_sectors;
209 mempool_t tag_pool;
210 mempool_t req_pool;
211 mempool_t page_pool;
212
213 struct bio_set bs;
214 struct mutex bio_alloc_lock;
215
216 u8 *authenc_key; /* space for keys in authenc() format (if used) */ 216 u8 *authenc_key; /* space for keys in authenc() format (if used) */
217 u8 key[0]; 217 u8 key[0];
218}; 218};