[XFS] Fix mknod regression
authorChristoph Hellwig <hch@infradead.org>
Thu, 20 Dec 2007 23:58:56 +0000 (10:58 +1100)
committerLachlan McIlroy <lachlan@redback.melbourne.sgi.com>
Fri, 21 Dec 2007 00:39:58 +0000 (11:39 +1100)
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.

SGI-PV: 974873
SGI-Modid: xfs-linux-melb:xfs-kern:30273a

Signed-off-by: Christoph Hellwig <hch@infradead.org>
Signed-off-by: David Chinner <dgc@sgi.com>
Signed-off-by: Lachlan McIlroy <lachlan@sgi.com>
fs/xfs/linux-2.6/xfs_iops.c

index 37e116779eb187945edba30b9322b9b708518b5a..5e8bb7f71b5ae214ab7802b77cae09a6c44901bf 100644 (file)
@@ -332,9 +332,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);