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