[OpenAFS] Re: Openafs 1.3.78 and kernel 2.4.29 oopses , same for 2.4.30 and openafs 1.3.82
Marcelo Tosatti
marcelo.tosatti@cyclades.com
Fri, 6 May 2005 13:50:33 -0300
On Fri, May 06, 2005 at 07:28:03AM +0200, Willy Tarreau wrote:
> Hi,
>
> On Fri, May 06, 2005 at 02:55:40AM +0300, Dimitris Zilaskos wrote:
> >
> > Hello ,
> >
> > [1.] One line summary of the problem:
> >
> > Oopses on an openafs client system using openafs 1.3.78 and kernel 2.4.29.
> > Oopses also occur afer moving to kernel 2.4.30 and openafs 1.3.82
>
> The problem you encounter on 2.4.30 is not the same as on 2.4.29. The problem
> in 2.4.29 is related to link_path_walk, which has been fixed in 2.4.30.
>
> You might want to try 1.3.78 (or other) with 2.4.29-hf7 to check if your
> 2.4.30 problem was brought by kernel 2.4.30 or openafs 1.3.82, as the
> link_path_walk bug is also fixed in hf7. The patch is available on :
Willy,
The link_path_walk fix in v2.4.30 is related to a reference counting
bug triggered by "umount"...
As Christoph noted OpenAFS seems to be doing nasty things... it seems
to play with dentries inode i_state directly? If that is the case,
maybe it should define d_iput?
static inline void dentry_iput(struct dentry * dentry)
{
struct inode *inode = dentry->d_inode;
if (inode) {
dentry->d_inode = NULL;
list_del_init(&dentry->d_alias);
spin_unlock(&dcache_lock);
if (dentry->d_op && dentry->d_op->d_iput)
dentry->d_op->d_iput(dentry, inode);
May 6 04:55:29 system kernel: kernel BUG at inode.c:1204!