xfs
[Top] [All Lists]

RE: crash in linvfs_dentry_to_fh

To: "HABBINGA,ERIK ""(HP-Loveland,ex1)" <erik.habbinga@xxxxxx>
Subject: RE: crash in linvfs_dentry_to_fh
From: Steve Lord <lord@xxxxxxx>
Date: 31 Mar 2003 13:24:15 -0600
Cc: "'linux-xfs@xxxxxxxxxxx'" <linux-xfs@xxxxxxxxxxx>
In-reply-to: <F341E03C8ED6D311805E00902761278C0C35E4AD@xfc04.fc.hp.com>
Organization:
References: <F341E03C8ED6D311805E00902761278C0C35E4AD@xfc04.fc.hp.com>
Sender: linux-xfs-bounce@xxxxxxxxxxx
On Mon, 2003-03-31 at 12:21, HABBINGA,ERIK (HP-Loveland,ex1) wrote:
> Steve,
> 
> The kernel I'm running does have a patch to drop the BKL around calls to
> xfs_permission, xfs_lookup, and xfs_readdir, based on the philosophy of a
> post of yours from Feb 2002:
> 
> http://lists.insecure.org/linux-kernel/2002/Feb/4308.html
> 
> permission, lookup, and readdir were the biggest hitters of BKL usage when
> profiling the SPEC SFS NFS test last year.  I don't know if not having the
> BKL in the lookup code is the problem here, as we crash out of the lookup
> code in fh_compose.  I don't drop the BKL before entering
> linvfs_dentry_to_fh.  The stack trace from the oops isn't quite correct, the
> call tree doesn't go through lookup_hash before getting to
> linvfs_dentry_to_fh, it should go:
> 
> nfsd_lookup -> fh_compose -> linvfs_dentry_to_fh
> 
> I'll instrument linvfs_fh_to_dentry and xfs_inactive like you suggest and
> let you know the results.  Let me know if you think dropping the BKL around
> permission, lookup, and readdir might be causing this problem.

It has been pointed out to me that there are cases where nfs has been
known to do things without the i_sem being held when it should be.
This in combination with dropping the BKL might the cause here.

I don't know what speedup you are seeing from BKL removals, but
I really think you may be introducing bugs by doing this.

Steve

-- 

Steve Lord                                      voice: +1-651-683-3511
Principal Engineer, Filesystem Software         email: lord@xxxxxxx


<Prev in Thread] Current Thread [Next in Thread>