summaryrefslogtreecommitdiffstats
path: root/drivers/md/bitmap.h
diff options
context:
space:
mode:
authorNeilBrown <neilb@suse.de>2012-05-22 05:55:25 +0200
committerNeilBrown <neilb@suse.de>2012-05-22 05:55:25 +0200
commitd60b479d177a5735b6b4db6ee5280ef6653f50e7 (patch)
tree8fc110bc113817f237559da6da68ca2a75e3614c /drivers/md/bitmap.h
parentmd/bitmap: use DIV_ROUND_UP instead of open-code (diff)
downloadlinux-d60b479d177a5735b6b4db6ee5280ef6653f50e7.tar.xz
linux-d60b479d177a5735b6b4db6ee5280ef6653f50e7.zip
md/bitmap: add bitmap_resize function to allow bitmap resizing.
This function will allocate the new data structures and copy bits across from old to new, allowing for the possibility that the chunksize has changed. Use the same function for performing the initial allocation of the structures. This improves test coverage. When bitmap_resize is used to resize an existing bitmap, it only copies '1' bits in, not '0' bits. So when allocating the bitmap, ensure everything is initialised to ZERO. Signed-off-by: NeilBrown <neilb@suse.de>
Diffstat (limited to 'drivers/md/bitmap.h')
-rw-r--r--drivers/md/bitmap.h3
1 files changed, 3 insertions, 0 deletions
diff --git a/drivers/md/bitmap.h b/drivers/md/bitmap.h
index 6bde180e987b..04dcde3871be 100644
--- a/drivers/md/bitmap.h
+++ b/drivers/md/bitmap.h
@@ -255,6 +255,9 @@ void bitmap_cond_end_sync(struct bitmap *bitmap, sector_t sector);
void bitmap_unplug(struct bitmap *bitmap);
void bitmap_daemon_work(struct mddev *mddev);
+
+int bitmap_resize(struct bitmap *bitmap, sector_t blocks,
+ int chunksize, int init);
#endif
#endif