summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMike Snitzer <snitzer@redhat.com>2010-03-06 02:32:24 +0000
committerGreg Kroah-Hartman <gregkh@suse.de>2010-03-15 09:07:08 -0700
commit6c46bff05fb1889ff5581dcd7274db69fd4a4da3 (patch)
tree63c64d2ba874db5de8a16097276bb568a4c10101
parentf64089821be953b9b5b5ff49172780c929786614 (diff)
downloadlwn-6c46bff05fb1889ff5581dcd7274db69fd4a4da3.tar.gz
lwn-6c46bff05fb1889ff5581dcd7274db69fd4a4da3.zip
dm ioctl: only issue uevent on resume if state changed
commit 0f3649a9e305ea22eb196a84a2d7520afcaa6060 upstream. Only issue a uevent on a resume if the state of the device changed, i.e. if it was suspended and/or its table was replaced. Signed-off-by: Dave Wysochanski <dwysocha@redhat.com> Signed-off-by: Mike Snitzer <snitzer@redhat.com> Signed-off-by: Alasdair G Kergon <agk@redhat.com> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
-rw-r--r--drivers/md/dm-ioctl.c9
1 files changed, 5 insertions, 4 deletions
diff --git a/drivers/md/dm-ioctl.c b/drivers/md/dm-ioctl.c
index 1d669322b27c..e3cf5686d0aa 100644
--- a/drivers/md/dm-ioctl.c
+++ b/drivers/md/dm-ioctl.c
@@ -897,16 +897,17 @@ static int do_resume(struct dm_ioctl *param)
set_disk_ro(dm_disk(md), 1);
}
- if (dm_suspended_md(md))
+ if (dm_suspended_md(md)) {
r = dm_resume(md);
+ if (!r)
+ dm_kobject_uevent(md, KOBJ_CHANGE, param->event_nr);
+ }
if (old_map)
dm_table_destroy(old_map);
- if (!r) {
- dm_kobject_uevent(md, KOBJ_CHANGE, param->event_nr);
+ if (!r)
r = __dev_status(md, param);
- }
dm_put(md);
return r;