aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/md/bitmap.h
diff options
context:
space:
mode:
authorNeilBrown <neilb@suse.de>2009-12-13 20:49:56 -0500
committerNeilBrown <neilb@suse.de>2009-12-13 20:51:41 -0500
commitece5cff0da9e696c360fff592cb5f51b6419e4d6 (patch)
tree1c5cab0e89ae466be9edb476ceb91e5c898fafa6 /drivers/md/bitmap.h
parent624ce4f5658fa3e0303c1217bba2706142fe7568 (diff)
md: Support write-intent bitmaps with externally managed metadata.
In this case, the metadata needs to not be in the same sector as the bitmap. md will not read/write any bitmap metadata. Config must be done via sysfs and when a recovery makes the array non-degraded again, writing 'true' to 'bitmap/can_clear' will allow bits in the bitmap to be cleared again. Signed-off-by: NeilBrown <neilb@suse.de>
Diffstat (limited to 'drivers/md/bitmap.h')
-rw-r--r--drivers/md/bitmap.h11
1 files changed, 1 insertions, 10 deletions
diff --git a/drivers/md/bitmap.h b/drivers/md/bitmap.h
index 50ee4240f5db..cb821d76d1b4 100644
--- a/drivers/md/bitmap.h
+++ b/drivers/md/bitmap.h
@@ -118,16 +118,6 @@ typedef __u16 bitmap_counter_t;
118 (CHUNK_BLOCK_SHIFT(bitmap) + PAGE_COUNTER_SHIFT - 1) 118 (CHUNK_BLOCK_SHIFT(bitmap) + PAGE_COUNTER_SHIFT - 1)
119#define PAGEPTR_BLOCK_MASK(bitmap) (PAGEPTR_BLOCK_RATIO(bitmap) - 1) 119#define PAGEPTR_BLOCK_MASK(bitmap) (PAGEPTR_BLOCK_RATIO(bitmap) - 1)
120 120
121/*
122 * on-disk bitmap:
123 *
124 * Use one bit per "chunk" (block set). We do the disk I/O on the bitmap
125 * file a page at a time. There's a superblock at the start of the file.
126 */
127
128/* map chunks (bits) to file pages - offset by the size of the superblock */
129#define CHUNK_BIT_OFFSET(chunk) ((chunk) + (sizeof(bitmap_super_t) << 3))
130
131#endif 121#endif
132 122
133/* 123/*
@@ -250,6 +240,7 @@ struct bitmap {
250 wait_queue_head_t write_wait; 240 wait_queue_head_t write_wait;
251 wait_queue_head_t overflow_wait; 241 wait_queue_head_t overflow_wait;
252 242
243 struct sysfs_dirent *sysfs_can_clear;
253}; 244};
254 245
255/* the bitmap API */ 246/* the bitmap API */