diff options
author | NeilBrown <neilb@suse.de> | 2009-12-14 12:49:56 +1100 |
---|---|---|
committer | NeilBrown <neilb@suse.de> | 2009-12-14 12:51:41 +1100 |
commit | ece5cff0da9e696c360fff592cb5f51b6419e4d6 (patch) | |
tree | 1c5cab0e89ae466be9edb476ceb91e5c898fafa6 /drivers/md/bitmap.h | |
parent | 624ce4f5658fa3e0303c1217bba2706142fe7568 (diff) | |
download | op-kernel-dev-ece5cff0da9e696c360fff592cb5f51b6419e4d6.zip op-kernel-dev-ece5cff0da9e696c360fff592cb5f51b6419e4d6.tar.gz |
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.h | 11 |
1 files changed, 1 insertions, 10 deletions
diff --git a/drivers/md/bitmap.h b/drivers/md/bitmap.h index 50ee424..cb821d7 100644 --- a/drivers/md/bitmap.h +++ b/drivers/md/bitmap.h @@ -118,16 +118,6 @@ typedef __u16 bitmap_counter_t; (CHUNK_BLOCK_SHIFT(bitmap) + PAGE_COUNTER_SHIFT - 1) #define PAGEPTR_BLOCK_MASK(bitmap) (PAGEPTR_BLOCK_RATIO(bitmap) - 1) -/* - * on-disk bitmap: - * - * Use one bit per "chunk" (block set). We do the disk I/O on the bitmap - * file a page at a time. There's a superblock at the start of the file. - */ - -/* map chunks (bits) to file pages - offset by the size of the superblock */ -#define CHUNK_BIT_OFFSET(chunk) ((chunk) + (sizeof(bitmap_super_t) << 3)) - #endif /* @@ -250,6 +240,7 @@ struct bitmap { wait_queue_head_t write_wait; wait_queue_head_t overflow_wait; + struct sysfs_dirent *sysfs_can_clear; }; /* the bitmap API */ |