xfs
[Top] [All Lists]

Re: TAKE - fix panic caused by mix of local and remote access to xfs

To: linux-xfs@xxxxxxxxxxx
Subject: Re: TAKE - fix panic caused by mix of local and remote access to xfs
From: Steve Lord <lord@xxxxxxx>
Date: Fri, 25 May 2001 17:34:26 -0500
In-reply-to: Message from Steve Lord <lord@xxxxxxx> of "Fri, 25 May 2001 15:42:01 CDT." <200105252042.f4PKg1M21204@xxxxxxxxxxxxxxxxxxxx>
Sender: owner-linux-xfs@xxxxxxxxxxx
Sod's law says you find the hole right after you ship the code. There is a
bug in this code, I would not do a cvs update until I get a fix in, I know
roughly how to fix it, but it will take me a while to code and test it.

I would hold off on the cvs tree for a while until you see another message
from me on this thread - probably not today.

Steve

> This problem was reported to the list a while ago as 
> 
>       "Errors using amanda/xfsdump" by Justin Tripp. 
> 
> It proved to be a nasty problem which has been in there since the original
> implementation, it is a hang over from an Irix / Linux different in what
> comes first, the fs specific data or the fs independent data.
> 
> This is a reworking of the implementation based on a suggestion by Al Viro
> to the linux-fsdevel list last year, thanks to Chris Mason for pointing
> me at it.
> 
> I have pounded on it here, and so far I do not have any regressions.
> Since this places us more in line with the way other linux filesystems
> do things, and removes some code, it is obviously correct ;-). However,
> please let me know if odd things start to happen to your machine
> after you start using this code.
> 
> Steve
> 
> Date:  Fri May 25 13:33:07 PDT 2001
> Workarea:  jen.americas.sgi.com:/src/lord/xfs-linux.2.4
> 
> The following file(s) were checked into:
>   bonnie.engr.sgi.com:/isms/slinx/2.4.x-xfs
> 
> 
> Modid:  2.4.x-xfs:slinx:95990a
> linux/kernel/ksyms.c - 1.89
>       - Export icreate4 unlock_new_inode to modules
> 
> linux/include/linux/fs.h - 1.93
>       - Add new prototype for icreate4 and unlock_new_inode
> 
> linux/fs/inode.c - 1.40
>       - Replace the xfs special ihold4 with icreate4 - this is a function
>         closer to iget, except it does not call read_inode but returns
>         a locked hashed inode for the caller to fill in. create_new_inode
>         was restructured some to allow for code reuse.
> 
> linux/fs/xfs/xfs_iget.c - 1.142
>       - Restructure xfs / linux inode interface, we used to have a deadlock c
> ase
>         which we recognised with a panic. When xfs needs a new inode internal
> ly
>         it goes through icreate, and if this returns a new inode, it calls xf
> s_iget_core
>         to read the xfs inode off disk and fill it in. Various other cleanups
>  as
>         a result of this.
> 
> linux/fs/xfs/xfs_inode.h - 1.149
>       - prototype change
> 
> linux/fs/xfs/linux/xfs_vnode.c - 1.64
>       - Restructure xfs / linux inode interface, we used to have a deadlock c
> ase
>         which we recognised with a panic. When xfs needs a new inode internal
> ly
>         it goes through icreate, and if this returns a new inode, it calls xf
> s_iget_core
>         to read the xfs inode off disk and fill it in. Various other cleanups
>  as
>         a result of this.
> 
> linux/fs/xfs/linux/xfs_vnode.h - 1.20
>       - Prototype changes and removals due to reworked interface
> 



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