kern/159418: [tmpfs] [panic] tmpfs kernel panic: recursing on
non recursive lockmgr tmpfs
Gleb Kurtsou
gleb.kurtsou at gmail.com
Fri Aug 5 07:30:18 UTC 2011
The following reply was made to PR kern/159418; it has been noted by GNATS.
From: Gleb Kurtsou <gleb.kurtsou at gmail.com>
To: bug-followup at FreeBSD.org, gpr at mail.ru
Cc:
Subject: Re: kern/159418: [tmpfs] [panic] tmpfs kernel panic: recursing on
non recursive lockmgr tmpfs
Date: Fri, 5 Aug 2011 09:55:50 +0300
--UlVJffcvxoiEqYs2
Content-Type: text/plain; charset=utf-8
Content-Disposition: inline
Could you test the patch attached.
Thanks,
Gleb.
--UlVJffcvxoiEqYs2
Content-Type: text/plain; charset=utf-8
Content-Disposition: attachment; filename="tmpfs-rename_lock.patch.txt"
--- a/sys/fs/tmpfs/tmpfs_vnops.c
+++ b/sys/fs/tmpfs/tmpfs_vnops.c
@@ -968,7 +968,7 @@ tmpfs_rename(struct vop_rename_args *v)
/* If we need to move the directory between entries, lock the
* source so that we can safely operate on it. */
- if (tdvp != fdvp) {
+ if (fdvp != tdvp && fdvp != tvp) {
error = vn_lock(fdvp, LK_EXCLUSIVE | LK_RETRY);
if (error != 0)
goto out;
@@ -1145,7 +1145,7 @@ tmpfs_rename(struct vop_rename_args *v)
error = 0;
out_locked:
- if (fdnode != tdnode)
+ if (fdvp != tdvp && fdvp != tvp)
VOP_UNLOCK(fdvp, 0);
out:
--UlVJffcvxoiEqYs2--
More information about the freebsd-fs
mailing list