diff options
author | Christoph Hellwig <hch@sgi.com> | 2005-09-02 16:46:51 +1000 |
---|---|---|
committer | Nathan Scott <nathans@sgi.com> | 2005-09-02 16:46:51 +1000 |
commit | 0432dab2d2d3b35347a95c01c78a40781b6431fb (patch) | |
tree | 44fa8c13d6300c9c42b9f5a60aeb933131e24e67 /fs/xfs/linux-2.6/xfs_ioctl.c | |
parent | 155ffd075caedcea5ad595c95403c71bfc391c4a (diff) | |
download | op-kernel-dev-0432dab2d2d3b35347a95c01c78a40781b6431fb.zip op-kernel-dev-0432dab2d2d3b35347a95c01c78a40781b6431fb.tar.gz |
[XFS] remove struct vnode::v_type
SGI-PV: 936236
SGI-Modid: xfs-linux:xfs-kern:195878a
Signed-off-by: Christoph Hellwig <hch@sgi.com>
Signed-off-by: Nathan Scott <nathans@sgi.com>
Diffstat (limited to 'fs/xfs/linux-2.6/xfs_ioctl.c')
-rw-r--r-- | fs/xfs/linux-2.6/xfs_ioctl.c | 16 |
1 files changed, 11 insertions, 5 deletions
diff --git a/fs/xfs/linux-2.6/xfs_ioctl.c b/fs/xfs/linux-2.6/xfs_ioctl.c index 35cbd88..6a3326b 100644 --- a/fs/xfs/linux-2.6/xfs_ioctl.c +++ b/fs/xfs/linux-2.6/xfs_ioctl.c @@ -141,13 +141,19 @@ xfs_find_handle( return -XFS_ERROR(EINVAL); } - /* we need the vnode */ - vp = LINVFS_GET_VP(inode); - if (vp->v_type != VREG && vp->v_type != VDIR && vp->v_type != VLNK) { + switch (inode->i_mode & S_IFMT) { + case S_IFREG: + case S_IFDIR: + case S_IFLNK: + break; + default: iput(inode); return -XFS_ERROR(EBADF); } + /* we need the vnode */ + vp = LINVFS_GET_VP(inode); + /* now we can grab the fsid */ memcpy(&handle.ha_fsid, vp->v_vfsp->vfs_altfsid, sizeof(xfs_fsid_t)); hsize = sizeof(xfs_fsid_t); @@ -386,7 +392,7 @@ xfs_readlink_by_handle( return -error; /* Restrict this handle operation to symlinks only. */ - if (vp->v_type != VLNK) { + if (!S_ISLNK(inode->i_mode)) { VN_RELE(vp); return -XFS_ERROR(EINVAL); } @@ -985,7 +991,7 @@ xfs_ioc_space( if (!(filp->f_mode & FMODE_WRITE)) return -XFS_ERROR(EBADF); - if (vp->v_type != VREG) + if (!VN_ISREG(vp)) return -XFS_ERROR(EINVAL); if (copy_from_user(&bf, arg, sizeof(bf))) |