mirror of
git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
synced 2025-05-17 14:05:52 +00:00
[XFS] Remove VN_IS* macros and related cruft.
We can just check i_mode / di_mode directly. SGI-PV: 976035 SGI-Modid: xfs-linux-melb:xfs-kern:30896a Signed-off-by: Christoph Hellwig <hch@infradead.org> Signed-off-by: Lachlan McIlroy <lachlan@sgi.com>
This commit is contained in:
parent
a01e035ebb
commit
42173f6860
3 changed files with 7 additions and 43 deletions
|
@ -25,12 +25,6 @@ struct attrlist_cursor_kern;
|
||||||
|
|
||||||
typedef struct inode bhv_vnode_t;
|
typedef struct inode bhv_vnode_t;
|
||||||
|
|
||||||
#define VN_ISLNK(vp) S_ISLNK((vp)->i_mode)
|
|
||||||
#define VN_ISREG(vp) S_ISREG((vp)->i_mode)
|
|
||||||
#define VN_ISDIR(vp) S_ISDIR((vp)->i_mode)
|
|
||||||
#define VN_ISCHR(vp) S_ISCHR((vp)->i_mode)
|
|
||||||
#define VN_ISBLK(vp) S_ISBLK((vp)->i_mode)
|
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Vnode to Linux inode mapping.
|
* Vnode to Linux inode mapping.
|
||||||
*/
|
*/
|
||||||
|
@ -151,24 +145,6 @@ typedef struct bhv_vattr {
|
||||||
XFS_AT_TYPE|XFS_AT_BLKSIZE|XFS_AT_NBLOCKS|XFS_AT_VCODE|\
|
XFS_AT_TYPE|XFS_AT_BLKSIZE|XFS_AT_NBLOCKS|XFS_AT_VCODE|\
|
||||||
XFS_AT_NEXTENTS|XFS_AT_ANEXTENTS|XFS_AT_GENCOUNT)
|
XFS_AT_NEXTENTS|XFS_AT_ANEXTENTS|XFS_AT_GENCOUNT)
|
||||||
|
|
||||||
/*
|
|
||||||
* Modes.
|
|
||||||
*/
|
|
||||||
#define VSUID S_ISUID /* set user id on execution */
|
|
||||||
#define VSGID S_ISGID /* set group id on execution */
|
|
||||||
#define VSVTX S_ISVTX /* save swapped text even after use */
|
|
||||||
#define VREAD S_IRUSR /* read, write, execute permissions */
|
|
||||||
#define VWRITE S_IWUSR
|
|
||||||
#define VEXEC S_IXUSR
|
|
||||||
|
|
||||||
#define MODEMASK S_IALLUGO /* mode bits plus permission bits */
|
|
||||||
|
|
||||||
/*
|
|
||||||
* Check whether mandatory file locking is enabled.
|
|
||||||
*/
|
|
||||||
#define MANDLOCK(vp, mode) \
|
|
||||||
(VN_ISREG(vp) && ((mode) & (VSGID|(VEXEC>>3))) == VSGID)
|
|
||||||
|
|
||||||
extern void vn_init(void);
|
extern void vn_init(void);
|
||||||
extern int vn_revalidate(bhv_vnode_t *);
|
extern int vn_revalidate(bhv_vnode_t *);
|
||||||
|
|
||||||
|
|
|
@ -72,7 +72,7 @@ xfs_acl_vhasacl_default(
|
||||||
{
|
{
|
||||||
int error;
|
int error;
|
||||||
|
|
||||||
if (!VN_ISDIR(vp))
|
if (!S_ISDIR(vp->i_mode))
|
||||||
return 0;
|
return 0;
|
||||||
xfs_acl_get_attr(vp, NULL, _ACL_TYPE_DEFAULT, ATTR_KERNOVAL, &error);
|
xfs_acl_get_attr(vp, NULL, _ACL_TYPE_DEFAULT, ATTR_KERNOVAL, &error);
|
||||||
return (error == 0);
|
return (error == 0);
|
||||||
|
@ -379,7 +379,7 @@ xfs_acl_allow_set(
|
||||||
|
|
||||||
if (vp->i_flags & (S_IMMUTABLE|S_APPEND))
|
if (vp->i_flags & (S_IMMUTABLE|S_APPEND))
|
||||||
return EPERM;
|
return EPERM;
|
||||||
if (kind == _ACL_TYPE_DEFAULT && !VN_ISDIR(vp))
|
if (kind == _ACL_TYPE_DEFAULT && !S_ISDIR(vp->i_mode))
|
||||||
return ENOTDIR;
|
return ENOTDIR;
|
||||||
if (vp->i_sb->s_flags & MS_RDONLY)
|
if (vp->i_sb->s_flags & MS_RDONLY)
|
||||||
return EROFS;
|
return EROFS;
|
||||||
|
@ -719,7 +719,7 @@ xfs_acl_inherit(
|
||||||
* If the new file is a directory, its default ACL is a copy of
|
* If the new file is a directory, its default ACL is a copy of
|
||||||
* the containing directory's default ACL.
|
* the containing directory's default ACL.
|
||||||
*/
|
*/
|
||||||
if (VN_ISDIR(vp))
|
if (S_ISDIR(vp->i_mode))
|
||||||
xfs_acl_set_attr(vp, pdaclp, _ACL_TYPE_DEFAULT, &error);
|
xfs_acl_set_attr(vp, pdaclp, _ACL_TYPE_DEFAULT, &error);
|
||||||
if (!error && !basicperms)
|
if (!error && !basicperms)
|
||||||
xfs_acl_set_attr(vp, cacl, _ACL_TYPE_ACCESS, &error);
|
xfs_acl_set_attr(vp, cacl, _ACL_TYPE_ACCESS, &error);
|
||||||
|
|
|
@ -211,7 +211,6 @@ xfs_setattr(
|
||||||
int flags,
|
int flags,
|
||||||
cred_t *credp)
|
cred_t *credp)
|
||||||
{
|
{
|
||||||
bhv_vnode_t *vp = XFS_ITOV(ip);
|
|
||||||
xfs_mount_t *mp = ip->i_mount;
|
xfs_mount_t *mp = ip->i_mount;
|
||||||
xfs_trans_t *tp;
|
xfs_trans_t *tp;
|
||||||
int mask;
|
int mask;
|
||||||
|
@ -222,7 +221,6 @@ xfs_setattr(
|
||||||
gid_t gid=0, igid=0;
|
gid_t gid=0, igid=0;
|
||||||
int timeflags = 0;
|
int timeflags = 0;
|
||||||
xfs_prid_t projid=0, iprojid=0;
|
xfs_prid_t projid=0, iprojid=0;
|
||||||
int mandlock_before, mandlock_after;
|
|
||||||
struct xfs_dquot *udqp, *gdqp, *olddquot1, *olddquot2;
|
struct xfs_dquot *udqp, *gdqp, *olddquot1, *olddquot2;
|
||||||
int file_owner;
|
int file_owner;
|
||||||
int need_iolock = 1;
|
int need_iolock = 1;
|
||||||
|
@ -383,7 +381,7 @@ xfs_setattr(
|
||||||
m |= S_ISGID;
|
m |= S_ISGID;
|
||||||
#if 0
|
#if 0
|
||||||
/* Linux allows this, Irix doesn't. */
|
/* Linux allows this, Irix doesn't. */
|
||||||
if ((vap->va_mode & S_ISVTX) && !VN_ISDIR(vp))
|
if ((vap->va_mode & S_ISVTX) && !S_ISDIR(ip->i_d.di_mode))
|
||||||
m |= S_ISVTX;
|
m |= S_ISVTX;
|
||||||
#endif
|
#endif
|
||||||
if (m && !capable(CAP_FSETID))
|
if (m && !capable(CAP_FSETID))
|
||||||
|
@ -461,10 +459,10 @@ xfs_setattr(
|
||||||
goto error_return;
|
goto error_return;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (VN_ISDIR(vp)) {
|
if (S_ISDIR(ip->i_d.di_mode)) {
|
||||||
code = XFS_ERROR(EISDIR);
|
code = XFS_ERROR(EISDIR);
|
||||||
goto error_return;
|
goto error_return;
|
||||||
} else if (!VN_ISREG(vp)) {
|
} else if (!S_ISREG(ip->i_d.di_mode)) {
|
||||||
code = XFS_ERROR(EINVAL);
|
code = XFS_ERROR(EINVAL);
|
||||||
goto error_return;
|
goto error_return;
|
||||||
}
|
}
|
||||||
|
@ -626,9 +624,6 @@ xfs_setattr(
|
||||||
xfs_trans_ihold(tp, ip);
|
xfs_trans_ihold(tp, ip);
|
||||||
}
|
}
|
||||||
|
|
||||||
/* determine whether mandatory locking mode changes */
|
|
||||||
mandlock_before = MANDLOCK(vp, ip->i_d.di_mode);
|
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Truncate file. Must have write permission and not be a directory.
|
* Truncate file. Must have write permission and not be a directory.
|
||||||
*/
|
*/
|
||||||
|
@ -858,13 +853,6 @@ xfs_setattr(
|
||||||
code = xfs_trans_commit(tp, commit_flags);
|
code = xfs_trans_commit(tp, commit_flags);
|
||||||
}
|
}
|
||||||
|
|
||||||
/*
|
|
||||||
* If the (regular) file's mandatory locking mode changed, then
|
|
||||||
* notify the vnode. We do this under the inode lock to prevent
|
|
||||||
* racing calls to vop_vnode_change.
|
|
||||||
*/
|
|
||||||
mandlock_after = MANDLOCK(vp, ip->i_d.di_mode);
|
|
||||||
|
|
||||||
xfs_iunlock(ip, lock_flags);
|
xfs_iunlock(ip, lock_flags);
|
||||||
|
|
||||||
/*
|
/*
|
||||||
|
@ -1491,7 +1479,7 @@ xfs_release(
|
||||||
xfs_mount_t *mp = ip->i_mount;
|
xfs_mount_t *mp = ip->i_mount;
|
||||||
int error;
|
int error;
|
||||||
|
|
||||||
if (!VN_ISREG(vp) || (ip->i_d.di_mode == 0))
|
if (!S_ISREG(ip->i_d.di_mode) || (ip->i_d.di_mode == 0))
|
||||||
return 0;
|
return 0;
|
||||||
|
|
||||||
/* If this is a read-only mount, don't do this (would generate I/O) */
|
/* If this is a read-only mount, don't do this (would generate I/O) */
|
||||||
|
|
Loading…
Add table
Reference in a new issue