diff options
author | NeilBrown <neilb@suse.de> | 2014-12-14 20:56:56 -0500 |
---|---|---|
committer | NeilBrown <neilb@suse.de> | 2015-02-03 16:35:52 -0500 |
commit | 85572d7c75fd5b9fa3fc911e1c99c68ec74903a0 (patch) | |
tree | c5cddb46ed2460752c371c2775521de87d1450e2 /drivers/md/md.c | |
parent | ea664c8245f3d5e78d05d1250bc0be0d60e264af (diff) |
md: rename mddev->write_lock to mddev->lock
This lock is used for (slightly) more than helping with writing
superblocks, and it will soon be extended further. So the
name is inappropriate.
Also, the _irq variant hasn't been needed since 2.6.37 as it is
never taking from interrupt or bh context.
So:
-rename write_lock to lock
-document what it protects
-remove _irq ... except in md_flush_request() as there
is no wait_event_lock() (with no _irq). This can be
cleaned up after appropriate changes to wait.h.
Signed-off-by: NeilBrown <neilb@suse.de>
Diffstat (limited to 'drivers/md/md.c')
-rw-r--r-- | drivers/md/md.c | 36 |
1 files changed, 18 insertions, 18 deletions
diff --git a/drivers/md/md.c b/drivers/md/md.c index 709755fb6d7b..17e7fd776034 100644 --- a/drivers/md/md.c +++ b/drivers/md/md.c | |||
@@ -397,12 +397,12 @@ static void md_submit_flush_data(struct work_struct *ws) | |||
397 | 397 | ||
398 | void md_flush_request(struct mddev *mddev, struct bio *bio) | 398 | void md_flush_request(struct mddev *mddev, struct bio *bio) |
399 | { | 399 | { |
400 | spin_lock_irq(&mddev->write_lock); | 400 | spin_lock_irq(&mddev->lock); |
401 | wait_event_lock_irq(mddev->sb_wait, | 401 | wait_event_lock_irq(mddev->sb_wait, |
402 | !mddev->flush_bio, | 402 | !mddev->flush_bio, |
403 | mddev->write_lock); | 403 | mddev->lock); |
404 | mddev->flush_bio = bio; | 404 | mddev->flush_bio = bio; |
405 | spin_unlock_irq(&mddev->write_lock); | 405 | spin_unlock_irq(&mddev->lock); |
406 | 406 | ||
407 | INIT_WORK(&mddev->flush_work, submit_flushes); | 407 | INIT_WORK(&mddev->flush_work, submit_flushes); |
408 | queue_work(md_wq, &mddev->flush_work); | 408 | queue_work(md_wq, &mddev->flush_work); |
@@ -465,7 +465,7 @@ void mddev_init(struct mddev *mddev) | |||
465 | atomic_set(&mddev->active, 1); | 465 | atomic_set(&mddev->active, 1); |
466 | atomic_set(&mddev->openers, 0); | 466 | atomic_set(&mddev->openers, 0); |
467 | atomic_set(&mddev->active_io, 0); | 467 | atomic_set(&mddev->active_io, 0); |
468 | spin_lock_init(&mddev->write_lock); | 468 | spin_lock_init(&mddev->lock); |
469 | atomic_set(&mddev->flush_pending, 0); | 469 | atomic_set(&mddev->flush_pending, 0); |
470 | init_waitqueue_head(&mddev->sb_wait); | 470 | init_waitqueue_head(&mddev->sb_wait); |
471 | init_waitqueue_head(&mddev->recovery_wait); | 471 | init_waitqueue_head(&mddev->recovery_wait); |
@@ -2230,7 +2230,7 @@ repeat: | |||
2230 | return; | 2230 | return; |
2231 | } | 2231 | } |
2232 | 2232 | ||
2233 | spin_lock_irq(&mddev->write_lock); | 2233 | spin_lock(&mddev->lock); |
2234 | 2234 | ||
2235 | mddev->utime = get_seconds(); | 2235 | mddev->utime = get_seconds(); |
2236 | 2236 | ||
@@ -2287,7 +2287,7 @@ repeat: | |||
2287 | } | 2287 | } |
2288 | 2288 | ||
2289 | sync_sbs(mddev, nospares); | 2289 | sync_sbs(mddev, nospares); |
2290 | spin_unlock_irq(&mddev->write_lock); | 2290 | spin_unlock(&mddev->lock); |
2291 | 2291 | ||
2292 | pr_debug("md: updating %s RAID superblock on device (in sync %d)\n", | 2292 | pr_debug("md: updating %s RAID superblock on device (in sync %d)\n", |
2293 | mdname(mddev), mddev->in_sync); | 2293 | mdname(mddev), mddev->in_sync); |
@@ -2326,15 +2326,15 @@ repeat: | |||
2326 | md_super_wait(mddev); | 2326 | md_super_wait(mddev); |
2327 | /* if there was a failure, MD_CHANGE_DEVS was set, and we re-write super */ | 2327 | /* if there was a failure, MD_CHANGE_DEVS was set, and we re-write super */ |
2328 | 2328 | ||
2329 | spin_lock_irq(&mddev->write_lock); | 2329 | spin_lock(&mddev->lock); |
2330 | if (mddev->in_sync != sync_req || | 2330 | if (mddev->in_sync != sync_req || |
2331 | test_bit(MD_CHANGE_DEVS, &mddev->flags)) { | 2331 | test_bit(MD_CHANGE_DEVS, &mddev->flags)) { |
2332 | /* have to write it out again */ | 2332 | /* have to write it out again */ |
2333 | spin_unlock_irq(&mddev->write_lock); | 2333 | spin_unlock(&mddev->lock); |
2334 | goto repeat; | 2334 | goto repeat; |
2335 | } | 2335 | } |
2336 | clear_bit(MD_CHANGE_PENDING, &mddev->flags); | 2336 | clear_bit(MD_CHANGE_PENDING, &mddev->flags); |
2337 | spin_unlock_irq(&mddev->write_lock); | 2337 | spin_unlock(&mddev->lock); |
2338 | wake_up(&mddev->sb_wait); | 2338 | wake_up(&mddev->sb_wait); |
2339 | if (test_bit(MD_RECOVERY_RUNNING, &mddev->recovery)) | 2339 | if (test_bit(MD_RECOVERY_RUNNING, &mddev->recovery)) |
2340 | sysfs_notify(&mddev->kobj, NULL, "sync_completed"); | 2340 | sysfs_notify(&mddev->kobj, NULL, "sync_completed"); |
@@ -3722,7 +3722,7 @@ array_state_store(struct mddev *mddev, const char *buf, size_t len) | |||
3722 | case clean: | 3722 | case clean: |
3723 | if (mddev->pers) { | 3723 | if (mddev->pers) { |
3724 | restart_array(mddev); | 3724 | restart_array(mddev); |
3725 | spin_lock_irq(&mddev->write_lock); | 3725 | spin_lock(&mddev->lock); |
3726 | if (atomic_read(&mddev->writes_pending) == 0) { | 3726 | if (atomic_read(&mddev->writes_pending) == 0) { |
3727 | if (mddev->in_sync == 0) { | 3727 | if (mddev->in_sync == 0) { |
3728 | mddev->in_sync = 1; | 3728 | mddev->in_sync = 1; |
@@ -3733,7 +3733,7 @@ array_state_store(struct mddev *mddev, const char *buf, size_t len) | |||
3733 | err = 0; | 3733 | err = 0; |
3734 | } else | 3734 | } else |
3735 | err = -EBUSY; | 3735 | err = -EBUSY; |
3736 | spin_unlock_irq(&mddev->write_lock); | 3736 | spin_unlock(&mddev->lock); |
3737 | } else | 3737 | } else |
3738 | err = -EINVAL; | 3738 | err = -EINVAL; |
3739 | break; | 3739 | break; |
@@ -7102,7 +7102,7 @@ void md_write_start(struct mddev *mddev, struct bio *bi) | |||
7102 | if (mddev->safemode == 1) | 7102 | if (mddev->safemode == 1) |
7103 | mddev->safemode = 0; | 7103 | mddev->safemode = 0; |
7104 | if (mddev->in_sync) { | 7104 | if (mddev->in_sync) { |
7105 | spin_lock_irq(&mddev->write_lock); | 7105 | spin_lock(&mddev->lock); |
7106 | if (mddev->in_sync) { | 7106 | if (mddev->in_sync) { |
7107 | mddev->in_sync = 0; | 7107 | mddev->in_sync = 0; |
7108 | set_bit(MD_CHANGE_CLEAN, &mddev->flags); | 7108 | set_bit(MD_CHANGE_CLEAN, &mddev->flags); |
@@ -7110,7 +7110,7 @@ void md_write_start(struct mddev *mddev, struct bio *bi) | |||
7110 | md_wakeup_thread(mddev->thread); | 7110 | md_wakeup_thread(mddev->thread); |
7111 | did_change = 1; | 7111 | did_change = 1; |
7112 | } | 7112 | } |
7113 | spin_unlock_irq(&mddev->write_lock); | 7113 | spin_unlock(&mddev->lock); |
7114 | } | 7114 | } |
7115 | if (did_change) | 7115 | if (did_change) |
7116 | sysfs_notify_dirent_safe(mddev->sysfs_state); | 7116 | sysfs_notify_dirent_safe(mddev->sysfs_state); |
@@ -7148,7 +7148,7 @@ int md_allow_write(struct mddev *mddev) | |||
7148 | if (!mddev->pers->sync_request) | 7148 | if (!mddev->pers->sync_request) |
7149 | return 0; | 7149 | return 0; |
7150 | 7150 | ||
7151 | spin_lock_irq(&mddev->write_lock); | 7151 | spin_lock(&mddev->lock); |
7152 | if (mddev->in_sync) { | 7152 | if (mddev->in_sync) { |
7153 | mddev->in_sync = 0; | 7153 | mddev->in_sync = 0; |
7154 | set_bit(MD_CHANGE_CLEAN, &mddev->flags); | 7154 | set_bit(MD_CHANGE_CLEAN, &mddev->flags); |
@@ -7156,11 +7156,11 @@ int md_allow_write(struct mddev *mddev) | |||
7156 | if (mddev->safemode_delay && | 7156 | if (mddev->safemode_delay && |
7157 | mddev->safemode == 0) | 7157 | mddev->safemode == 0) |
7158 | mddev->safemode = 1; | 7158 | mddev->safemode = 1; |
7159 | spin_unlock_irq(&mddev->write_lock); | 7159 | spin_unlock(&mddev->lock); |
7160 | md_update_sb(mddev, 0); | 7160 | md_update_sb(mddev, 0); |
7161 | sysfs_notify_dirent_safe(mddev->sysfs_state); | 7161 | sysfs_notify_dirent_safe(mddev->sysfs_state); |
7162 | } else | 7162 | } else |
7163 | spin_unlock_irq(&mddev->write_lock); | 7163 | spin_unlock(&mddev->lock); |
7164 | 7164 | ||
7165 | if (test_bit(MD_CHANGE_PENDING, &mddev->flags)) | 7165 | if (test_bit(MD_CHANGE_PENDING, &mddev->flags)) |
7166 | return -EAGAIN; | 7166 | return -EAGAIN; |
@@ -7688,7 +7688,7 @@ void md_check_recovery(struct mddev *mddev) | |||
7688 | 7688 | ||
7689 | if (!mddev->external) { | 7689 | if (!mddev->external) { |
7690 | int did_change = 0; | 7690 | int did_change = 0; |
7691 | spin_lock_irq(&mddev->write_lock); | 7691 | spin_lock(&mddev->lock); |
7692 | if (mddev->safemode && | 7692 | if (mddev->safemode && |
7693 | !atomic_read(&mddev->writes_pending) && | 7693 | !atomic_read(&mddev->writes_pending) && |
7694 | !mddev->in_sync && | 7694 | !mddev->in_sync && |
@@ -7699,7 +7699,7 @@ void md_check_recovery(struct mddev *mddev) | |||
7699 | } | 7699 | } |
7700 | if (mddev->safemode == 1) | 7700 | if (mddev->safemode == 1) |
7701 | mddev->safemode = 0; | 7701 | mddev->safemode = 0; |
7702 | spin_unlock_irq(&mddev->write_lock); | 7702 | spin_unlock(&mddev->lock); |
7703 | if (did_change) | 7703 | if (did_change) |
7704 | sysfs_notify_dirent_safe(mddev->sysfs_state); | 7704 | sysfs_notify_dirent_safe(mddev->sysfs_state); |
7705 | } | 7705 | } |