aboutsummaryrefslogtreecommitdiffstats
path: root/fs
diff options
context:
space:
mode:
authorChristoph Hellwig <hch@infradead.org>2007-12-20 18:58:56 -0500
committerLachlan McIlroy <lachlan@redback.melbourne.sgi.com>2007-12-20 19:39:58 -0500
commitbad60fdd14df32459e31cc75ab681e4458bf25cf (patch)
tree8c768d937724751de565eded68d518f22d263e3e /fs
parent041388b54ed95cd169546bd83bacd08ee32bd7ea (diff)
[XFS] Fix mknod regression
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>
Diffstat (limited to 'fs')
-rw-r--r--fs/xfs/linux-2.6/xfs_iops.c4
1 files changed, 1 insertions, 3 deletions
diff --git a/fs/xfs/linux-2.6/xfs_iops.c b/fs/xfs/linux-2.6/xfs_iops.c
index 37e116779eb1..5e8bb7f71b5a 100644
--- a/fs/xfs/linux-2.6/xfs_iops.c
+++ b/fs/xfs/linux-2.6/xfs_iops.c
@@ -332,9 +332,7 @@ xfs_vn_mknod(
332 ASSERT(vp); 332 ASSERT(vp);
333 ip = vn_to_inode(vp); 333 ip = vn_to_inode(vp);
334 334
335 if (S_ISCHR(mode) || S_ISBLK(mode)) 335 if (S_ISDIR(mode))
336 ip->i_rdev = rdev;
337 else if (S_ISDIR(mode))
338 xfs_validate_fields(ip); 336 xfs_validate_fields(ip);
339 d_instantiate(dentry, ip); 337 d_instantiate(dentry, ip);
340 xfs_validate_fields(dir); 338 xfs_validate_fields(dir);