Enable bitmap support for external metadata
The patch enables the implementation of a write-intent bitmap for external metadata. Configuration of the internal bitmaps for non-native metadata requires the extension in superswitch to perform an additional sysfs setup before the array is activated. Signed-off-by: Jakub Radtke <jakub.radtke@intel.com> Signed-off-by: Jes Sorensen <jsorensen@fb.com>
This commit is contained in:
parent
b090e91075
commit
b554ab5c9b
|
@ -2094,6 +2094,13 @@ int assemble_container_content(struct supertype *st, int mdfd,
|
|||
}
|
||||
}
|
||||
|
||||
/*
|
||||
* Before activating the array, perform extra steps required
|
||||
* to configure the internal write-intent bitmap.
|
||||
*/
|
||||
if (content->consistency_policy == CONSISTENCY_POLICY_BITMAP &&
|
||||
st->ss->set_bitmap)
|
||||
st->ss->set_bitmap(st, content);
|
||||
|
||||
if (start_reshape) {
|
||||
int spare = content->array.raid_disks + expansion;
|
||||
|
|
12
Create.c
12
Create.c
|
@ -989,6 +989,18 @@ int Create(struct supertype *st, char *mddev,
|
|||
st->ss->free_super(st);
|
||||
goto abort_locked;
|
||||
}
|
||||
/*
|
||||
* Before activating the array, perform extra steps
|
||||
* required to configure the internal write-intent
|
||||
* bitmap.
|
||||
*/
|
||||
if (info_new.consistency_policy ==
|
||||
CONSISTENCY_POLICY_BITMAP &&
|
||||
st->ss->set_bitmap &&
|
||||
st->ss->set_bitmap(st, &info)) {
|
||||
st->ss->free_super(st);
|
||||
goto abort_locked;
|
||||
}
|
||||
|
||||
/* update parent container uuid */
|
||||
if (me) {
|
||||
|
|
3
mdadm.h
3
mdadm.h
|
@ -1007,6 +1007,9 @@ extern struct superswitch {
|
|||
int (*add_internal_bitmap)(struct supertype *st, int *chunkp,
|
||||
int delay, int write_behind,
|
||||
unsigned long long size, int may_change, int major);
|
||||
/* Perform additional setup required to activate a bitmap.
|
||||
*/
|
||||
int (*set_bitmap)(struct supertype *st, struct mdinfo *info);
|
||||
/* Seek 'fd' to start of write-intent-bitmap. Must be an
|
||||
* md-native format bitmap
|
||||
*/
|
||||
|
|
Loading…
Reference in New Issue