diff options
author | NeilBrown <neilb@suse.de> | 2014-12-14 20:56:58 -0500 |
---|---|---|
committer | NeilBrown <neilb@suse.de> | 2015-02-05 17:32:55 -0500 |
commit | 978a7a47cae79ae7a7b5a1e80bfcaef6ee700312 (patch) | |
tree | f9f479f5a662ddc9cd482d0e46c7e21e3ca3783b /drivers/md/bitmap.c | |
parent | 36d091f4759d194c99f0705d412afe208622b45a (diff) |
md/bitmap: protect clearing of ->bitmap by mddev->lock
This makes it safe to inspect the struct while holding only
the spinlock.
Signed-off-by: NeilBrown <neilb@suse.de>
Diffstat (limited to 'drivers/md/bitmap.c')
-rw-r--r-- | drivers/md/bitmap.c | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/drivers/md/bitmap.c b/drivers/md/bitmap.c index 1695ee5f3ffc..3424b1915fc4 100644 --- a/drivers/md/bitmap.c +++ b/drivers/md/bitmap.c | |||
@@ -1619,7 +1619,9 @@ void bitmap_destroy(struct mddev *mddev) | |||
1619 | return; | 1619 | return; |
1620 | 1620 | ||
1621 | mutex_lock(&mddev->bitmap_info.mutex); | 1621 | mutex_lock(&mddev->bitmap_info.mutex); |
1622 | spin_lock(&mddev->lock); | ||
1622 | mddev->bitmap = NULL; /* disconnect from the md device */ | 1623 | mddev->bitmap = NULL; /* disconnect from the md device */ |
1624 | spin_unlock(&mddev->lock); | ||
1623 | mutex_unlock(&mddev->bitmap_info.mutex); | 1625 | mutex_unlock(&mddev->bitmap_info.mutex); |
1624 | if (mddev->thread) | 1626 | if (mddev->thread) |
1625 | mddev->thread->timeout = MAX_SCHEDULE_TIMEOUT; | 1627 | mddev->thread->timeout = MAX_SCHEDULE_TIMEOUT; |