diff options
author | NeilBrown <neilb@suse.de> | 2010-03-22 10:28:51 +1100 |
---|---|---|
committer | NeilBrown <neilb@suse.de> | 2010-05-18 15:27:47 +1000 |
commit | c0cc75f84e0e413bce2dcabea74ef418da45c7c1 (patch) | |
tree | f5723fbd0f5828cadaeec650abb8066ad52fad71 /drivers/md | |
parent | 7b92813c3c0b6990f14838e3985fb385d2655d0c (diff) | |
download | linux-c0cc75f84e0e413bce2dcabea74ef418da45c7c1.tar.bz2 |
md: discard StateChanged device flag.
This was needed when sysfs files could only be 'notified'
from process context. Now that we have sys_notify_direct,
we can call it directly from an interrupt.
Signed-off-by: NeilBrown <neilb@suse.de>
Diffstat (limited to 'drivers/md')
-rw-r--r-- | drivers/md/md.c | 7 | ||||
-rw-r--r-- | drivers/md/md.h | 3 |
2 files changed, 1 insertions, 9 deletions
diff --git a/drivers/md/md.c b/drivers/md/md.c index e8d238885cd2..2a64cba9ea72 100644 --- a/drivers/md/md.c +++ b/drivers/md/md.c @@ -5970,7 +5970,7 @@ void md_error(mddev_t *mddev, mdk_rdev_t *rdev) mddev->pers->error_handler(mddev,rdev); if (mddev->degraded) set_bit(MD_RECOVERY_RECOVER, &mddev->recovery); - set_bit(StateChanged, &rdev->flags); + sysfs_notify_dirent(rdev->sysfs_state); set_bit(MD_RECOVERY_INTR, &mddev->recovery); set_bit(MD_RECOVERY_NEEDED, &mddev->recovery); md_wakeup_thread(mddev->thread); @@ -6962,11 +6962,6 @@ void md_check_recovery(mddev_t *mddev) if (mddev->flags) md_update_sb(mddev, 0); - list_for_each_entry(rdev, &mddev->disks, same_set) - if (test_and_clear_bit(StateChanged, &rdev->flags)) - sysfs_notify_dirent(rdev->sysfs_state); - - if (test_bit(MD_RECOVERY_RUNNING, &mddev->recovery) && !test_bit(MD_RECOVERY_DONE, &mddev->recovery)) { /* resync/recovery still happening */ diff --git a/drivers/md/md.h b/drivers/md/md.h index 05145786b50f..e4836c68b73e 100644 --- a/drivers/md/md.h +++ b/drivers/md/md.h @@ -74,9 +74,6 @@ struct mdk_rdev_s #define Blocked 8 /* An error occured on an externally * managed array, don't allow writes * until it is cleared */ -#define StateChanged 9 /* Faulty or Blocked has changed during - * interrupt, so it needs to be - * notified by the thread */ wait_queue_head_t blocked_wait; int desc_nr; /* descriptor index in the superblock */ |