md: support bitmap offset appropriate for external-metadata arrays.
authorNeilBrown <neilb@suse.de>
Mon, 14 Dec 2009 01:49:54 +0000 (12:49 +1100)
committerNeilBrown <neilb@suse.de>
Mon, 14 Dec 2009 01:51:41 +0000 (12:51 +1100)
commitf6af949c5672115313cc3c976d85b0533f607d7e
tree6d00471bd4ee7c3aee67f9ad4c0a3023109b88e0
parent9cd30fdc33cde9ae4ac55a1ccbbb89f3f7b9b2f2
md: support bitmap offset appropriate for external-metadata arrays.

For md arrays were metadata is managed externally, the kernel does not
know about a superblock so the superblock offset is 0.
If we want to have a write-intent-bitmap near the end of the
devices of such an array, we should support sector_t sized offset.
We need offset be possibly negative for when the bitmap is before
the metadata, so use loff_t instead.

Also add sanity check that bitmap does not overlap with data.

Signed-off-by: NeilBrown <neilb@suse.de>
drivers/md/bitmap.c
drivers/md/md.h