dm ioctl: only issue uevent on resume if state changed
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> Cc: stable@kernel.org Signed-off-by: Alasdair G Kergon <agk@redhat.com>
This commit is contained in:
parent
ede5ea0b8b
commit
0f3649a9e3
|
@ -897,16 +897,17 @@ static int do_resume(struct dm_ioctl *param)
|
||||||
set_disk_ro(dm_disk(md), 1);
|
set_disk_ro(dm_disk(md), 1);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (dm_suspended_md(md))
|
if (dm_suspended_md(md)) {
|
||||||
r = dm_resume(md);
|
r = dm_resume(md);
|
||||||
|
if (!r)
|
||||||
|
dm_kobject_uevent(md, KOBJ_CHANGE, param->event_nr);
|
||||||
|
}
|
||||||
|
|
||||||
if (old_map)
|
if (old_map)
|
||||||
dm_table_destroy(old_map);
|
dm_table_destroy(old_map);
|
||||||
|
|
||||||
if (!r) {
|
if (!r)
|
||||||
dm_kobject_uevent(md, KOBJ_CHANGE, param->event_nr);
|
|
||||||
r = __dev_status(md, param);
|
r = __dev_status(md, param);
|
||||||
}
|
|
||||||
|
|
||||||
dm_put(md);
|
dm_put(md);
|
||||||
return r;
|
return r;
|
||||||
|
|
Reference in New Issue