mirror of
https://git.proxmox.com/git/mirror_zfs.git
synced 2024-12-25 18:59:33 +03:00
Add missing dsl pool configuration lock
The semantics introduced by the restructured sync task of illumos 3464 require this lock when calling dmu_snapshot_list_next(). The pool is locked/unlocked for each iteration to reduce the chance of long-running locks. This was accidentally missed when doing the original port because ZoL's control directory code is Linux-specific and is in a different file than in illumos. Signed-off-by: Richard Yao <ryao@gentoo.org> Signed-off-by: Brian Behlendorf <behlendorf1@llnl.gov> Closes #1785
This commit is contained in:
parent
7a61440761
commit
fbcb768c8f
@ -261,8 +261,10 @@ zpl_snapdir_iterate(struct file *filp, struct dir_context *ctx)
|
||||
goto out;
|
||||
|
||||
while (error == 0) {
|
||||
dsl_pool_config_enter(dmu_objset_pool(zsb->z_os), FTAG);
|
||||
error = -dmu_snapshot_list_next(zsb->z_os, MAXNAMELEN,
|
||||
snapname, &id, &(ctx->pos), &case_conflict);
|
||||
snapname, &id, &ctx->pos, &case_conflict);
|
||||
dsl_pool_config_exit(dmu_objset_pool(zsb->z_os), FTAG);
|
||||
if (error)
|
||||
goto out;
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user