diff options
author | Dan Williams <dan.j.williams@intel.com> | 2008-05-23 13:04:37 -0700 |
---|---|---|
committer | Linus Torvalds <torvalds@linux-foundation.org> | 2008-05-24 09:56:10 -0700 |
commit | 4f54b0e9485644a3c5fca2ae43bcbe7376825747 (patch) | |
tree | 10033228aa5efc868c25aed924b5a0d6b98ac090 /drivers/md | |
parent | 09a44cc15079f80c1416cde1a1d5b2cdd8f2118a (diff) | |
download | linux-4f54b0e9485644a3c5fca2ae43bcbe7376825747.tar.gz linux-4f54b0e9485644a3c5fca2ae43bcbe7376825747.tar.bz2 linux-4f54b0e9485644a3c5fca2ae43bcbe7376825747.zip |
md: notify userspace on 'stop' events
This additional notification to 'array_state' is needed to allow the
monitor application to learn about stop events via sysfs. The
sysfs_notify("sync_action") call that comes at the end of do_md_stop()
(via md_new_event) is insufficient since the 'sync_action' attribute has
been removed by this point.
(Seems like a sysfs-notify-on-removal patch is a better fix. Currently
removal updates the event count but does not wake up waiters)
Signed-off-by: Dan Williams <dan.j.williams@intel.com>
Signed-off-by: Neil Brown <neilb@suse.de>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Diffstat (limited to 'drivers/md')
-rw-r--r-- | drivers/md/md.c | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/drivers/md/md.c b/drivers/md/md.c index 52f9865096c6..e57213dacd25 100644 --- a/drivers/md/md.c +++ b/drivers/md/md.c @@ -3691,6 +3691,8 @@ static int do_md_stop(mddev_t * mddev, int mode) module_put(mddev->pers->owner); mddev->pers = NULL; + /* tell userspace to handle 'inactive' */ + sysfs_notify(&mddev->kobj, NULL, "array_state"); set_capacity(disk, 0); mddev->changed = 1; |