xfs
[Top] [All Lists]

Re: 2.4.9 mount error handling problem

To: Alexander Viro <viro@xxxxxxxxxxxx>
Subject: Re: 2.4.9 mount error handling problem
From: Steve Lord <lord@xxxxxxx>
Date: Sun, 26 Aug 2001 18:53:14 -0500
Cc: Andi Kleen <ak@xxxxxx>, linux-xfs@xxxxxxxxxxx
In-reply-to: Message from Alexander Viro <viro@xxxxxxxxxxxx> of "Sun, 26 Aug 2001 14:56:15 EDT." <Pine.GSO.4.21.0108261448510.26156-100000@xxxxxxxxxxxxxxxxx>
Sender: owner-linux-xfs@xxxxxxxxxxx
> 
> 
> On Sun, 26 Aug 2001, Andi Kleen wrote:
> 
> > 
> > Hi,
> > 
> > I just tripped over a bug with 2.4.9+XFS, which I believe is a generic
> > problem.  For some unrelated reason the XFS ->read_super failed. After
> > that every df caused an kernel oops in super.c/get_filesystem_info. 
> > 
> >                     MANGLE(tmp->mnt_sb->s_type->name);
> > 
> > In this ->s_type was NULL. The error handling path of read_super sets
> > s_type to NULL, but the super block was still in the list of some mount 
> > with that zero s_type.
> > I unfortunately don't have time to track the exact cause down now, but I gu
> ess
> > it should be debuggable with this information.
> 
> Does xfs_read_super(), by any chance, have an exit path where it
>       * sets ->s_root,
>       * fails _after_ that (i.e. past the point when we had successfully
> allocated root dentry) and
>       * forgets to clean sb->s_root?

Yes it did, there was one way out which did that. Adding the dput and 
clear of the s_root field should fix it I think, although I did not
go to the extent of replicating the failure.

Thanks
  Steve




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