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:
Neil Brown 2007-09-24 13:14:13 +10:00
parent 3dacb89029
commit 4d20d744cb
1 changed files with 5 additions and 3 deletions

View File

@ -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);