mirror of https://gitee.com/openkylin/linux.git
[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
|
@ -25,12 +25,6 @@ struct attrlist_cursor_kern;
|
|||
|
||||
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.
|
||||
*/
|
||||
|
@ -151,24 +145,6 @@ typedef struct bhv_vattr {
|
|||
XFS_AT_TYPE|XFS_AT_BLKSIZE|XFS_AT_NBLOCKS|XFS_AT_VCODE|\
|
||||
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 int vn_revalidate(bhv_vnode_t *);
|
||||
|
||||
|
|
|
@ -72,7 +72,7 @@ xfs_acl_vhasacl_default(
|
|||
{
|
||||
int error;
|
||||
|
||||
if (!VN_ISDIR(vp))
|
||||
if (!S_ISDIR(vp->i_mode))
|
||||
return 0;
|
||||
xfs_acl_get_attr(vp, NULL, _ACL_TYPE_DEFAULT, ATTR_KERNOVAL, &error);
|
||||
return (error == 0);
|
||||
|
@ -379,7 +379,7 @@ xfs_acl_allow_set(
|
|||
|
||||
if (vp->i_flags & (S_IMMUTABLE|S_APPEND))
|
||||
return EPERM;
|
||||
if (kind == _ACL_TYPE_DEFAULT && !VN_ISDIR(vp))
|
||||
if (kind == _ACL_TYPE_DEFAULT && !S_ISDIR(vp->i_mode))
|
||||
return ENOTDIR;
|
||||
if (vp->i_sb->s_flags & MS_RDONLY)
|
||||
return EROFS;
|
||||
|
@ -719,7 +719,7 @@ xfs_acl_inherit(
|
|||
* If the new file is a directory, its default ACL is a copy of
|
||||
* 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);
|
||||
if (!error && !basicperms)
|
||||
xfs_acl_set_attr(vp, cacl, _ACL_TYPE_ACCESS, &error);
|
||||
|
|
|
@ -211,7 +211,6 @@ xfs_setattr(
|
|||
int flags,
|
||||
cred_t *credp)
|
||||
{
|
||||
bhv_vnode_t *vp = XFS_ITOV(ip);
|
||||
xfs_mount_t *mp = ip->i_mount;
|
||||
xfs_trans_t *tp;
|
||||
int mask;
|
||||
|
@ -222,7 +221,6 @@ xfs_setattr(
|
|||
gid_t gid=0, igid=0;
|
||||
int timeflags = 0;
|
||||
xfs_prid_t projid=0, iprojid=0;
|
||||
int mandlock_before, mandlock_after;
|
||||
struct xfs_dquot *udqp, *gdqp, *olddquot1, *olddquot2;
|
||||
int file_owner;
|
||||
int need_iolock = 1;
|
||||
|
@ -383,7 +381,7 @@ xfs_setattr(
|
|||
m |= S_ISGID;
|
||||
#if 0
|
||||
/* 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;
|
||||
#endif
|
||||
if (m && !capable(CAP_FSETID))
|
||||
|
@ -461,10 +459,10 @@ xfs_setattr(
|
|||
goto error_return;
|
||||
}
|
||||
|
||||
if (VN_ISDIR(vp)) {
|
||||
if (S_ISDIR(ip->i_d.di_mode)) {
|
||||
code = XFS_ERROR(EISDIR);
|
||||
goto error_return;
|
||||
} else if (!VN_ISREG(vp)) {
|
||||
} else if (!S_ISREG(ip->i_d.di_mode)) {
|
||||
code = XFS_ERROR(EINVAL);
|
||||
goto error_return;
|
||||
}
|
||||
|
@ -626,9 +624,6 @@ xfs_setattr(
|
|||
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.
|
||||
*/
|
||||
|
@ -858,13 +853,6 @@ xfs_setattr(
|
|||
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);
|
||||
|
||||
/*
|
||||
|
@ -1491,7 +1479,7 @@ xfs_release(
|
|||
xfs_mount_t *mp = ip->i_mount;
|
||||
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;
|
||||
|
||||
/* If this is a read-only mount, don't do this (would generate I/O) */
|
||||
|
|
Loading…
Reference in New Issue