diff options
author | Jean-Pierre André <jpandre@users.sourceforge.net> | 2012-08-22 10:00:22 +0200 |
---|---|---|
committer | Jean-Pierre André <jpandre@users.sourceforge.net> | 2012-08-22 10:00:22 +0200 |
commit | ef3fffe827e50c9885c80cdce10f66eba651d2af (patch) | |
tree | 48a80e609760c0830974bdfb0b1fda6b7a6b1c32 | |
parent | dc34383d0dae60435470bc74fb3b3382fcc3d9a5 (diff) | |
download | illumos-fusefs-ef3fffe827e50c9885c80cdce10f66eba651d2af.tar.gz |
Skipped problematic locking in rmdir()
-rw-r--r-- | kernel/fuse_vnops.c | 15 |
1 files changed, 11 insertions, 4 deletions
diff --git a/kernel/fuse_vnops.c b/kernel/fuse_vnops.c index 3413040..1298d1c 100644 --- a/kernel/fuse_vnops.c +++ b/kernel/fuse_vnops.c @@ -2147,10 +2147,17 @@ fuse_rmdir(vnode_t *dvp, char *name, vnode_t *cwd, cred_t *credp, goto out; } - if (vn_vfswlock(vp)) { - err = EBUSY; - goto out; - } +/* + * JPA This causes directories from other file systems to be locked + * after the current partition is unmounted (reuse of vnode ?) + * On http://wesunsolve.net/bugid/id/6651136 the use of vn_vfsrlock() + * is recommended in a similar situation. + * + * if (vn_vfswlock(vp)) { + * err = EBUSY; + * goto out; + * } + */ if (vn_mountedvfs(vp)) { vn_vfsunlock(vp); |