On Sun, 8 Jan 2012 11:06:59 +0200 Alexander Lyakas <alex.bolshoy@xxxxxxxxx> wrote: > Hi, > well, at least according to 2.6.38-8 kernel code, this attribute is > notified in 3 cases: > # When the array is started (e.g., via RUN_ARRAY ioctl) > # When "reshape" is initiated via sysfs > # When a spare is activated after successful completion of > resync/recover/check/replair > Hmm... it really should notify when a disk fails. Mikhail: could you please test if this patch makes it work better for you? Thanks, NeilBrown diff --git a/drivers/md/md.c b/drivers/md/md.c index 1c1c562..33aa06f 100644 --- a/drivers/md/md.c +++ b/drivers/md/md.c @@ -7383,6 +7383,7 @@ static int remove_and_add_spares(struct mddev *mddev) { struct md_rdev *rdev; int spares = 0; + int removed = 0; mddev->curr_resync_completed = 0; @@ -7396,8 +7397,13 @@ static int remove_and_add_spares(struct mddev *mddev) mddev, rdev) == 0) { sysfs_unlink_rdev(mddev, rdev); rdev->raid_disk = -1; + removed++; } } + if (removed) + sysfs_notify(&mddev->kobj, NULL, + "degraded"); + list_for_each_entry(rdev, &mddev->disks, same_set) { if (rdev->raid_disk >= 0 &&
Attachment:
signature.asc
Description: PGP signature