Make "--write-mostly" effective when re-adding a device to an array.
Fixes Debian Bug 442874 When we discover that we can 're-add' a drive, we forget to check the write-mostly flag. This highlights the fact that you cannot turn 'off' the write-mostly flag at this point. I wonder if that is a problem...
This commit is contained in:
parent
3dacb89029
commit
4d20d744cb
8
Manage.c
8
Manage.c
|
@ -384,9 +384,9 @@ int Manage_subdevs(char *devname, int fd,
|
|||
else if (osuper) {
|
||||
st->ss->uuid_from_super(ouuid, osuper);
|
||||
if (memcmp(duuid, ouuid, sizeof(ouuid))==0) {
|
||||
/* look close enough for now. Kernel
|
||||
* will worry about where a bitmap
|
||||
* based reconstruct is possible
|
||||
/* looks close enough for now. Kernel
|
||||
* will worry about whether a bitmap
|
||||
* based reconstruction is possible.
|
||||
*/
|
||||
struct mdinfo mdi;
|
||||
st->ss->getinfo_super(&mdi, osuper);
|
||||
|
@ -395,6 +395,8 @@ int Manage_subdevs(char *devname, int fd,
|
|||
disc.number = mdi.disk.number;
|
||||
disc.raid_disk = mdi.disk.raid_disk;
|
||||
disc.state = mdi.disk.state;
|
||||
if (dv->writemostly)
|
||||
disc.state |= 1 << MD_DISK_WRITEMOSTLY;
|
||||
if (ioctl(fd, ADD_NEW_DISK, &disc) == 0) {
|
||||
if (verbose >= 0)
|
||||
fprintf(stderr, Name ": re-added %s\n", dv->devname);
|
||||
|
|
Loading…
Reference in New Issue