summaryrefslogtreecommitdiffstats
path: root/drivers/md/dm.c
diff options
context:
space:
mode:
authorMilan Broz <mbroz@redhat.com>2008-02-08 03:09:49 +0100
committerAlasdair G Kergon <agk@redhat.com>2008-02-08 03:09:49 +0100
commit7e5c1e830b2310359a4cfbbf89895dde4abd996a (patch)
tree143d5ff1998b115689347f0346a25b622a888739 /drivers/md/dm.c
parentMerge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/sha... (diff)
downloadlinux-7e5c1e830b2310359a4cfbbf89895dde4abd996a.tar.xz
linux-7e5c1e830b2310359a4cfbbf89895dde4abd996a.zip
dm: add missing memory barrier to dm_suspend
Add memory barrier to fix atomic_read of pending value. Signed-off-by: Milan Broz <mbroz@redhat.com> Signed-off-by: Alasdair G Kergon <agk@redhat.com>
Diffstat (limited to '')
-rw-r--r--drivers/md/dm.c1
1 files changed, 1 insertions, 0 deletions
diff --git a/drivers/md/dm.c b/drivers/md/dm.c
index f2d24eb3208c..466a6bf0742f 100644
--- a/drivers/md/dm.c
+++ b/drivers/md/dm.c
@@ -1410,6 +1410,7 @@ int dm_suspend(struct mapped_device *md, unsigned suspend_flags)
while (1) {
set_current_state(TASK_INTERRUPTIBLE);
+ smp_mb();
if (!atomic_read(&md->pending) || signal_pending(current))
break;