Disable parallel processing for 'zfs mount -l'
Currently, 'zfs mount -a' will always attempt to parallelize work related to mounting as best it can. Unfortunately, when the user passes the '-l' option to load keys, this causes all threads to prompt the user for their keys at once, resulting in a confusing and racy user experience. This patch simply disables parallel mounting when using the '-l' flag. Reviewed by: Sebastien Roy <sebastien.roy@delphix.com> Reviewed by: Brian Behlendorf <behlendorf1@llnl.gov> Signed-off-by: Tom Caputi <tcaputi@datto.com> Closes #8762 Closes #8811
This commit is contained in:
parent
2fb37bcadd
commit
b746c397e3
|
@ -6622,10 +6622,13 @@ share_mount(int op, int argc, char **argv)
|
|||
|
||||
/*
|
||||
* libshare isn't mt-safe, so only do the operation in parallel
|
||||
* if we're mounting.
|
||||
* if we're mounting. Additionally, the key-loading option must
|
||||
* be serialized so that we can prompt the user for their keys
|
||||
* in a consistent manner.
|
||||
*/
|
||||
zfs_foreach_mountpoint(g_zfs, cb.cb_handles, cb.cb_used,
|
||||
share_mount_one_cb, &share_mount_state, op == OP_MOUNT);
|
||||
share_mount_one_cb, &share_mount_state,
|
||||
op == OP_MOUNT && !(flags & MS_CRYPT));
|
||||
ret = share_mount_state.sm_status;
|
||||
|
||||
for (int i = 0; i < cb.cb_used; i++)
|
||||
|
|
Loading…
Reference in New Issue