summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJean-Pierre André <jpandre@users.sourceforge.net>2012-08-22 10:00:22 +0200
committerJean-Pierre André <jpandre@users.sourceforge.net>2012-08-22 10:00:22 +0200
commitef3fffe827e50c9885c80cdce10f66eba651d2af (patch)
tree48a80e609760c0830974bdfb0b1fda6b7a6b1c32
parentdc34383d0dae60435470bc74fb3b3382fcc3d9a5 (diff)
downloadillumos-fusefs-ef3fffe827e50c9885c80cdce10f66eba651d2af.tar.gz
Skipped problematic locking in rmdir()
-rw-r--r--kernel/fuse_vnops.c15
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);