mirror of
git://sourceware.org/git/lvm2.git
synced 2024-12-21 13:34:40 +03:00
lvchange: fix lvchange refresh failed for dm suspend or resume failed
When multiple lvchange refresh processes executed at the same time, suspend/resume ioctl on the same dm, some of these commands will be failed for dm aready change status, and ioctl will return EINVAL in _do_dm_ioctl function. to avoid this problem, add READ_FOR_ACTIVATE flags in lvchange refresh process, it will hold LCK_WRITE lock and avoid suspend/resume dm at the same time. Signed-off-by: Long YunJian <long.yunjian@zte.com.cn> Signed-off-by: Yi Wang <wang.yi59@zte.com.cn>
This commit is contained in:
parent
e5c0562654
commit
47bcb446b8
@ -1622,7 +1622,7 @@ int lvchange_refresh_cmd(struct cmd_context *cmd, int argc, char **argv)
|
|||||||
cmd->lockd_vg_default_sh = 1;
|
cmd->lockd_vg_default_sh = 1;
|
||||||
cmd->ignore_device_name_mismatch = 1;
|
cmd->ignore_device_name_mismatch = 1;
|
||||||
|
|
||||||
return process_each_lv(cmd, argc, argv, NULL, NULL, 0,
|
return process_each_lv(cmd, argc, argv, NULL, NULL, READ_FOR_ACTIVATE,
|
||||||
NULL, &_lvchange_refresh_check, &_lvchange_refresh_single);
|
NULL, &_lvchange_refresh_check, &_lvchange_refresh_single);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user