forked from Minki/linux
md: Allow metadata_version to be updated for externally managed metadata.
For externally managed metadata, the 'metadata_version' sysfs attribute is really just a channel for user-space programs to communicate about how the array is being managed. It can be useful for this to be changed while the array is active. Normally changes to metadata_version are not permitted while the array is active. Change that so that if the metadata is externally managed, the metadata_version can be changed to a different flavour of external management. Signed-off-by: NeilBrown <neilb@suse.de>
This commit is contained in:
parent
7d3c6f8717
commit
ea43ddd849
@ -2943,7 +2943,13 @@ metadata_store(mddev_t *mddev, const char *buf, size_t len)
|
||||
{
|
||||
int major, minor;
|
||||
char *e;
|
||||
if (!list_empty(&mddev->disks))
|
||||
/* Changing the details of 'external' metadata is
|
||||
* always permitted. Otherwise there must be
|
||||
* no devices attached to the array.
|
||||
*/
|
||||
if (mddev->external && strncmp(buf, "external:", 9) == 0)
|
||||
;
|
||||
else if (!list_empty(&mddev->disks))
|
||||
return -EBUSY;
|
||||
|
||||
if (cmd_match(buf, "none")) {
|
||||
|
Loading…
Reference in New Issue
Block a user