lkml.org 
[lkml]   [2007]   [Dec]   [18]   [last100]   RSS Feed
Views: [more markup]  [less markup]  [headers]  [forward] 
 
Messages in this thread
    /
    DateWed, 19 Dec 2007 11:37:45 +1100
    FromDavid Chinner <>
    SubjectRe: xfs mknod regression
    On Tue, Dec 18, 2007 at 05:36:42PM +0000, Christoph Hellwig wrote:
    > This was broken by my '[XFS] simplify xfs_create/mknod/symlink prototype',
    > which assigned the re-shuffled ondisk dev_t back to the rdev variable in
    > xfs_vn_mknod.  Because of that i_rdev is set to the ondisk dev_t instead
    > of the linux dev_t later down the function.
    > 
    > Fortunately the fix for it is trivial:  we can just remove the
    > assignment because xfs_revalidate_inode has done the proper job before
    > unlocking the inode.
    > 
    > 
    > Signed-off-by: Christoph Hellwig <hch@lst.de>
    > 
    > Index: linux-2.6-xfs/fs/xfs/linux-2.6/xfs_iops.c
    > ===================================================================
    > --- linux-2.6-xfs.orig/fs/xfs/linux-2.6/xfs_iops.c	2007-12-18 18:23:32.000000000 +0100
    > +++ linux-2.6-xfs/fs/xfs/linux-2.6/xfs_iops.c	2007-12-18 18:23:43.000000000 +0100
    > @@ -345,9 +345,7 @@ xfs_vn_mknod(
    >  		ASSERT(vp);
    >  		ip = vn_to_inode(vp);
    > 
    > -		if (S_ISCHR(mode) || S_ISBLK(mode))
    > -			ip->i_rdev = rdev;
    > -		else if (S_ISDIR(mode))
    > +		if (S_ISDIR(mode))
    >  			xfs_validate_fields(ip);
    >  		d_instantiate(dentry, ip);
    >  		xfs_validate_fields(dir);
    
    Thanks for this, Christoph - I'll run some tests on it and check it in.
    
    Rafael - this is a regression introduced in 2.6.24-rc1 if you want to
    track it.
    
    Cheers,
    
    Dave.
    -- 
    Dave Chinner
    Principal Engineer
    SGI Australian Software Group
    
    
    
    \
     
     \ /
      Last update: 2007-12-19 01:41    [from the cache]
    ©2003-2008