xfs: get rid of open-coded S_ISREG(), etc.

Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
This commit is contained in:
Al Viro 2011-07-26 02:31:30 -04:00
parent c46c887744
commit abbede1b3a
10 changed files with 33 additions and 34 deletions

View file

@ -850,14 +850,14 @@ xfs_set_diflags(
di_flags |= XFS_DIFLAG_NODEFRAG; di_flags |= XFS_DIFLAG_NODEFRAG;
if (xflags & XFS_XFLAG_FILESTREAM) if (xflags & XFS_XFLAG_FILESTREAM)
di_flags |= XFS_DIFLAG_FILESTREAM; di_flags |= XFS_DIFLAG_FILESTREAM;
if ((ip->i_d.di_mode & S_IFMT) == S_IFDIR) { if (S_ISDIR(ip->i_d.di_mode)) {
if (xflags & XFS_XFLAG_RTINHERIT) if (xflags & XFS_XFLAG_RTINHERIT)
di_flags |= XFS_DIFLAG_RTINHERIT; di_flags |= XFS_DIFLAG_RTINHERIT;
if (xflags & XFS_XFLAG_NOSYMLINKS) if (xflags & XFS_XFLAG_NOSYMLINKS)
di_flags |= XFS_DIFLAG_NOSYMLINKS; di_flags |= XFS_DIFLAG_NOSYMLINKS;
if (xflags & XFS_XFLAG_EXTSZINHERIT) if (xflags & XFS_XFLAG_EXTSZINHERIT)
di_flags |= XFS_DIFLAG_EXTSZINHERIT; di_flags |= XFS_DIFLAG_EXTSZINHERIT;
} else if ((ip->i_d.di_mode & S_IFMT) == S_IFREG) { } else if (S_ISREG(ip->i_d.di_mode)) {
if (xflags & XFS_XFLAG_REALTIME) if (xflags & XFS_XFLAG_REALTIME)
di_flags |= XFS_DIFLAG_REALTIME; di_flags |= XFS_DIFLAG_REALTIME;
if (xflags & XFS_XFLAG_EXTSIZE) if (xflags & XFS_XFLAG_EXTSIZE)

View file

@ -414,7 +414,7 @@ xfs_bmap_add_attrfork_local(
if (ip->i_df.if_bytes <= XFS_IFORK_DSIZE(ip)) if (ip->i_df.if_bytes <= XFS_IFORK_DSIZE(ip))
return 0; return 0;
if ((ip->i_d.di_mode & S_IFMT) == S_IFDIR) { if (S_ISDIR(ip->i_d.di_mode)) {
mp = ip->i_mount; mp = ip->i_mount;
memset(&dargs, 0, sizeof(dargs)); memset(&dargs, 0, sizeof(dargs));
dargs.dp = ip; dargs.dp = ip;
@ -3344,8 +3344,7 @@ xfs_bmap_local_to_extents(
* We don't want to deal with the case of keeping inode data inline yet. * We don't want to deal with the case of keeping inode data inline yet.
* So sending the data fork of a regular inode is invalid. * So sending the data fork of a regular inode is invalid.
*/ */
ASSERT(!((ip->i_d.di_mode & S_IFMT) == S_IFREG && ASSERT(!(S_ISREG(ip->i_d.di_mode) && whichfork == XFS_DATA_FORK));
whichfork == XFS_DATA_FORK));
ifp = XFS_IFORK_PTR(ip, whichfork); ifp = XFS_IFORK_PTR(ip, whichfork);
ASSERT(XFS_IFORK_FORMAT(ip, whichfork) == XFS_DINODE_FMT_LOCAL); ASSERT(XFS_IFORK_FORMAT(ip, whichfork) == XFS_DINODE_FMT_LOCAL);
flags = 0; flags = 0;
@ -4052,7 +4051,7 @@ xfs_bmap_one_block(
#ifndef DEBUG #ifndef DEBUG
if (whichfork == XFS_DATA_FORK) { if (whichfork == XFS_DATA_FORK) {
return ((ip->i_d.di_mode & S_IFMT) == S_IFREG) ? return S_ISREG(ip->i_d.di_mode) ?
(ip->i_size == ip->i_mount->m_sb.sb_blocksize) : (ip->i_size == ip->i_mount->m_sb.sb_blocksize) :
(ip->i_d.di_size == ip->i_mount->m_sb.sb_blocksize); (ip->i_d.di_size == ip->i_mount->m_sb.sb_blocksize);
} }

View file

@ -121,7 +121,7 @@ xfs_dir_isempty(
{ {
xfs_dir2_sf_hdr_t *sfp; xfs_dir2_sf_hdr_t *sfp;
ASSERT((dp->i_d.di_mode & S_IFMT) == S_IFDIR); ASSERT(S_ISDIR(dp->i_d.di_mode));
if (dp->i_d.di_size == 0) /* might happen during shutdown. */ if (dp->i_d.di_size == 0) /* might happen during shutdown. */
return 1; return 1;
if (dp->i_d.di_size > XFS_IFORK_DSIZE(dp)) if (dp->i_d.di_size > XFS_IFORK_DSIZE(dp))
@ -179,7 +179,7 @@ xfs_dir_init(
memset((char *)&args, 0, sizeof(args)); memset((char *)&args, 0, sizeof(args));
args.dp = dp; args.dp = dp;
args.trans = tp; args.trans = tp;
ASSERT((dp->i_d.di_mode & S_IFMT) == S_IFDIR); ASSERT(S_ISDIR(dp->i_d.di_mode));
if ((error = xfs_dir_ino_validate(tp->t_mountp, pdp->i_ino))) if ((error = xfs_dir_ino_validate(tp->t_mountp, pdp->i_ino)))
return error; return error;
return xfs_dir2_sf_create(&args, pdp->i_ino); return xfs_dir2_sf_create(&args, pdp->i_ino);
@ -202,7 +202,7 @@ xfs_dir_createname(
int rval; int rval;
int v; /* type-checking value */ int v; /* type-checking value */
ASSERT((dp->i_d.di_mode & S_IFMT) == S_IFDIR); ASSERT(S_ISDIR(dp->i_d.di_mode));
if ((rval = xfs_dir_ino_validate(tp->t_mountp, inum))) if ((rval = xfs_dir_ino_validate(tp->t_mountp, inum)))
return rval; return rval;
XFS_STATS_INC(xs_dir_create); XFS_STATS_INC(xs_dir_create);
@ -278,7 +278,7 @@ xfs_dir_lookup(
int rval; int rval;
int v; /* type-checking value */ int v; /* type-checking value */
ASSERT((dp->i_d.di_mode & S_IFMT) == S_IFDIR); ASSERT(S_ISDIR(dp->i_d.di_mode));
XFS_STATS_INC(xs_dir_lookup); XFS_STATS_INC(xs_dir_lookup);
memset(&args, 0, sizeof(xfs_da_args_t)); memset(&args, 0, sizeof(xfs_da_args_t));
@ -333,7 +333,7 @@ xfs_dir_removename(
int rval; int rval;
int v; /* type-checking value */ int v; /* type-checking value */
ASSERT((dp->i_d.di_mode & S_IFMT) == S_IFDIR); ASSERT(S_ISDIR(dp->i_d.di_mode));
XFS_STATS_INC(xs_dir_remove); XFS_STATS_INC(xs_dir_remove);
memset(&args, 0, sizeof(xfs_da_args_t)); memset(&args, 0, sizeof(xfs_da_args_t));
@ -382,7 +382,7 @@ xfs_readdir(
if (XFS_FORCED_SHUTDOWN(dp->i_mount)) if (XFS_FORCED_SHUTDOWN(dp->i_mount))
return XFS_ERROR(EIO); return XFS_ERROR(EIO);
ASSERT((dp->i_d.di_mode & S_IFMT) == S_IFDIR); ASSERT(S_ISDIR(dp->i_d.di_mode));
XFS_STATS_INC(xs_dir_getdents); XFS_STATS_INC(xs_dir_getdents);
if (dp->i_d.di_format == XFS_DINODE_FMT_LOCAL) if (dp->i_d.di_format == XFS_DINODE_FMT_LOCAL)
@ -414,7 +414,7 @@ xfs_dir_replace(
int rval; int rval;
int v; /* type-checking value */ int v; /* type-checking value */
ASSERT((dp->i_d.di_mode & S_IFMT) == S_IFDIR); ASSERT(S_ISDIR(dp->i_d.di_mode));
if ((rval = xfs_dir_ino_validate(tp->t_mountp, inum))) if ((rval = xfs_dir_ino_validate(tp->t_mountp, inum)))
return rval; return rval;
@ -464,7 +464,7 @@ xfs_dir_canenter(
if (resblks) if (resblks)
return 0; return 0;
ASSERT((dp->i_d.di_mode & S_IFMT) == S_IFDIR); ASSERT(S_ISDIR(dp->i_d.di_mode));
memset(&args, 0, sizeof(xfs_da_args_t)); memset(&args, 0, sizeof(xfs_da_args_t));
args.name = name->name; args.name = name->name;

View file

@ -344,7 +344,7 @@ _xfs_filestream_update_ag(
* Either ip is a regular file and pip is a directory, or ip is a * Either ip is a regular file and pip is a directory, or ip is a
* directory and pip is NULL. * directory and pip is NULL.
*/ */
ASSERT(ip && (((ip->i_d.di_mode & S_IFREG) && pip && ASSERT(ip && ((S_ISREG(ip->i_d.di_mode) && pip &&
(pip->i_d.di_mode & S_IFDIR)) || (pip->i_d.di_mode & S_IFDIR)) ||
((ip->i_d.di_mode & S_IFDIR) && !pip))); ((ip->i_d.di_mode & S_IFDIR) && !pip)));

View file

@ -368,7 +368,7 @@ xfs_iformat(
/* /*
* no local regular files yet * no local regular files yet
*/ */
if (unlikely((be16_to_cpu(dip->di_mode) & S_IFMT) == S_IFREG)) { if (unlikely(S_ISREG(be16_to_cpu(dip->di_mode)))) {
xfs_warn(ip->i_mount, xfs_warn(ip->i_mount,
"corrupt inode %Lu (local format for regular file).", "corrupt inode %Lu (local format for regular file).",
(unsigned long long) ip->i_ino); (unsigned long long) ip->i_ino);
@ -1040,7 +1040,7 @@ xfs_ialloc(
if (pip && XFS_INHERIT_GID(pip)) { if (pip && XFS_INHERIT_GID(pip)) {
ip->i_d.di_gid = pip->i_d.di_gid; ip->i_d.di_gid = pip->i_d.di_gid;
if ((pip->i_d.di_mode & S_ISGID) && (mode & S_IFMT) == S_IFDIR) { if ((pip->i_d.di_mode & S_ISGID) && S_ISDIR(mode)) {
ip->i_d.di_mode |= S_ISGID; ip->i_d.di_mode |= S_ISGID;
} }
} }
@ -1097,14 +1097,14 @@ xfs_ialloc(
if (pip && (pip->i_d.di_flags & XFS_DIFLAG_ANY)) { if (pip && (pip->i_d.di_flags & XFS_DIFLAG_ANY)) {
uint di_flags = 0; uint di_flags = 0;
if ((mode & S_IFMT) == S_IFDIR) { if (S_ISDIR(mode)) {
if (pip->i_d.di_flags & XFS_DIFLAG_RTINHERIT) if (pip->i_d.di_flags & XFS_DIFLAG_RTINHERIT)
di_flags |= XFS_DIFLAG_RTINHERIT; di_flags |= XFS_DIFLAG_RTINHERIT;
if (pip->i_d.di_flags & XFS_DIFLAG_EXTSZINHERIT) { if (pip->i_d.di_flags & XFS_DIFLAG_EXTSZINHERIT) {
di_flags |= XFS_DIFLAG_EXTSZINHERIT; di_flags |= XFS_DIFLAG_EXTSZINHERIT;
ip->i_d.di_extsize = pip->i_d.di_extsize; ip->i_d.di_extsize = pip->i_d.di_extsize;
} }
} else if ((mode & S_IFMT) == S_IFREG) { } else if (S_ISREG(mode)) {
if (pip->i_d.di_flags & XFS_DIFLAG_RTINHERIT) if (pip->i_d.di_flags & XFS_DIFLAG_RTINHERIT)
di_flags |= XFS_DIFLAG_REALTIME; di_flags |= XFS_DIFLAG_REALTIME;
if (pip->i_d.di_flags & XFS_DIFLAG_EXTSZINHERIT) { if (pip->i_d.di_flags & XFS_DIFLAG_EXTSZINHERIT) {
@ -1188,7 +1188,7 @@ xfs_isize_check(
int nimaps; int nimaps;
xfs_bmbt_irec_t imaps[2]; xfs_bmbt_irec_t imaps[2];
if ((ip->i_d.di_mode & S_IFMT) != S_IFREG) if (!S_ISREG(ip->i_d.di_mode))
return; return;
if (XFS_IS_REALTIME_INODE(ip)) if (XFS_IS_REALTIME_INODE(ip))
@ -1828,7 +1828,7 @@ xfs_ifree(
ASSERT(ip->i_d.di_nextents == 0); ASSERT(ip->i_d.di_nextents == 0);
ASSERT(ip->i_d.di_anextents == 0); ASSERT(ip->i_d.di_anextents == 0);
ASSERT((ip->i_d.di_size == 0 && ip->i_size == 0) || ASSERT((ip->i_d.di_size == 0 && ip->i_size == 0) ||
((ip->i_d.di_mode & S_IFMT) != S_IFREG)); (!S_ISREG(ip->i_d.di_mode)));
ASSERT(ip->i_d.di_nblocks == 0); ASSERT(ip->i_d.di_nblocks == 0);
/* /*
@ -2671,7 +2671,7 @@ xfs_iflush_int(
__func__, ip->i_ino, ip, ip->i_d.di_magic); __func__, ip->i_ino, ip, ip->i_d.di_magic);
goto corrupt_out; goto corrupt_out;
} }
if ((ip->i_d.di_mode & S_IFMT) == S_IFREG) { if (S_ISREG(ip->i_d.di_mode)) {
if (XFS_TEST_ERROR( if (XFS_TEST_ERROR(
(ip->i_d.di_format != XFS_DINODE_FMT_EXTENTS) && (ip->i_d.di_format != XFS_DINODE_FMT_EXTENTS) &&
(ip->i_d.di_format != XFS_DINODE_FMT_BTREE), (ip->i_d.di_format != XFS_DINODE_FMT_BTREE),
@ -2681,7 +2681,7 @@ xfs_iflush_int(
__func__, ip->i_ino, ip); __func__, ip->i_ino, ip);
goto corrupt_out; goto corrupt_out;
} }
} else if ((ip->i_d.di_mode & S_IFMT) == S_IFDIR) { } else if (S_ISDIR(ip->i_d.di_mode)) {
if (XFS_TEST_ERROR( if (XFS_TEST_ERROR(
(ip->i_d.di_format != XFS_DINODE_FMT_EXTENTS) && (ip->i_d.di_format != XFS_DINODE_FMT_EXTENTS) &&
(ip->i_d.di_format != XFS_DINODE_FMT_BTREE) && (ip->i_d.di_format != XFS_DINODE_FMT_BTREE) &&

View file

@ -263,7 +263,7 @@ typedef struct xfs_inode {
struct inode i_vnode; /* embedded VFS inode */ struct inode i_vnode; /* embedded VFS inode */
} xfs_inode_t; } xfs_inode_t;
#define XFS_ISIZE(ip) (((ip)->i_d.di_mode & S_IFMT) == S_IFREG) ? \ #define XFS_ISIZE(ip) S_ISREG((ip)->i_d.di_mode) ? \
(ip)->i_size : (ip)->i_d.di_size; (ip)->i_size : (ip)->i_d.di_size;
/* Convert from vfs inode to xfs inode */ /* Convert from vfs inode to xfs inode */

View file

@ -2283,7 +2283,7 @@ xlog_recover_inode_pass2(
/* Take the opportunity to reset the flush iteration count */ /* Take the opportunity to reset the flush iteration count */
dicp->di_flushiter = 0; dicp->di_flushiter = 0;
if (unlikely((dicp->di_mode & S_IFMT) == S_IFREG)) { if (unlikely(S_ISREG(dicp->di_mode))) {
if ((dicp->di_format != XFS_DINODE_FMT_EXTENTS) && if ((dicp->di_format != XFS_DINODE_FMT_EXTENTS) &&
(dicp->di_format != XFS_DINODE_FMT_BTREE)) { (dicp->di_format != XFS_DINODE_FMT_BTREE)) {
XFS_CORRUPTION_ERROR("xlog_recover_inode_pass2(3)", XFS_CORRUPTION_ERROR("xlog_recover_inode_pass2(3)",
@ -2296,7 +2296,7 @@ xlog_recover_inode_pass2(
error = EFSCORRUPTED; error = EFSCORRUPTED;
goto error; goto error;
} }
} else if (unlikely((dicp->di_mode & S_IFMT) == S_IFDIR)) { } else if (unlikely(S_ISDIR(dicp->di_mode))) {
if ((dicp->di_format != XFS_DINODE_FMT_EXTENTS) && if ((dicp->di_format != XFS_DINODE_FMT_EXTENTS) &&
(dicp->di_format != XFS_DINODE_FMT_BTREE) && (dicp->di_format != XFS_DINODE_FMT_BTREE) &&
(dicp->di_format != XFS_DINODE_FMT_LOCAL)) { (dicp->di_format != XFS_DINODE_FMT_LOCAL)) {

View file

@ -1331,7 +1331,7 @@ xfs_mountfs(
ASSERT(rip != NULL); ASSERT(rip != NULL);
if (unlikely((rip->i_d.di_mode & S_IFMT) != S_IFDIR)) { if (unlikely(!S_ISDIR(rip->i_d.di_mode))) {
xfs_warn(mp, "corrupted root inode %llu: not a directory", xfs_warn(mp, "corrupted root inode %llu: not a directory",
(unsigned long long)rip->i_ino); (unsigned long long)rip->i_ino);
xfs_iunlock(rip, XFS_ILOCK_EXCL); xfs_iunlock(rip, XFS_ILOCK_EXCL);

View file

@ -116,7 +116,7 @@ xfs_rename(
trace_xfs_rename(src_dp, target_dp, src_name, target_name); trace_xfs_rename(src_dp, target_dp, src_name, target_name);
new_parent = (src_dp != target_dp); new_parent = (src_dp != target_dp);
src_is_directory = ((src_ip->i_d.di_mode & S_IFMT) == S_IFDIR); src_is_directory = S_ISDIR(src_ip->i_d.di_mode);
if (src_is_directory) { if (src_is_directory) {
/* /*
@ -226,7 +226,7 @@ xfs_rename(
* target and source are directories and that target can be * target and source are directories and that target can be
* destroyed, or that neither is a directory. * destroyed, or that neither is a directory.
*/ */
if ((target_ip->i_d.di_mode & S_IFMT) == S_IFDIR) { if (S_ISDIR(target_ip->i_d.di_mode)) {
/* /*
* Make sure target dir is empty. * Make sure target dir is empty.
*/ */

View file

@ -121,7 +121,7 @@ xfs_readlink(
xfs_ilock(ip, XFS_ILOCK_SHARED); xfs_ilock(ip, XFS_ILOCK_SHARED);
ASSERT((ip->i_d.di_mode & S_IFMT) == S_IFLNK); ASSERT(S_ISLNK(ip->i_d.di_mode));
ASSERT(ip->i_d.di_size <= MAXPATHLEN); ASSERT(ip->i_d.di_size <= MAXPATHLEN);
pathlen = ip->i_d.di_size; pathlen = ip->i_d.di_size;
@ -529,7 +529,7 @@ xfs_release(
if (ip->i_d.di_nlink == 0) if (ip->i_d.di_nlink == 0)
return 0; return 0;
if ((((ip->i_d.di_mode & S_IFMT) == S_IFREG) && if ((S_ISREG(ip->i_d.di_mode) &&
((ip->i_size > 0) || (VN_CACHED(VFS_I(ip)) > 0 || ((ip->i_size > 0) || (VN_CACHED(VFS_I(ip)) > 0 ||
ip->i_delayed_blks > 0)) && ip->i_delayed_blks > 0)) &&
(ip->i_df.if_flags & XFS_IFEXTENTS)) && (ip->i_df.if_flags & XFS_IFEXTENTS)) &&
@ -610,7 +610,7 @@ xfs_inactive(
truncate = ((ip->i_d.di_nlink == 0) && truncate = ((ip->i_d.di_nlink == 0) &&
((ip->i_d.di_size != 0) || (ip->i_size != 0) || ((ip->i_d.di_size != 0) || (ip->i_size != 0) ||
(ip->i_d.di_nextents > 0) || (ip->i_delayed_blks > 0)) && (ip->i_d.di_nextents > 0) || (ip->i_delayed_blks > 0)) &&
((ip->i_d.di_mode & S_IFMT) == S_IFREG)); S_ISREG(ip->i_d.di_mode));
mp = ip->i_mount; mp = ip->i_mount;
@ -621,7 +621,7 @@ xfs_inactive(
goto out; goto out;
if (ip->i_d.di_nlink != 0) { if (ip->i_d.di_nlink != 0) {
if ((((ip->i_d.di_mode & S_IFMT) == S_IFREG) && if ((S_ISREG(ip->i_d.di_mode) &&
((ip->i_size > 0) || (VN_CACHED(VFS_I(ip)) > 0 || ((ip->i_size > 0) || (VN_CACHED(VFS_I(ip)) > 0 ||
ip->i_delayed_blks > 0)) && ip->i_delayed_blks > 0)) &&
(ip->i_df.if_flags & XFS_IFEXTENTS) && (ip->i_df.if_flags & XFS_IFEXTENTS) &&
@ -669,7 +669,7 @@ xfs_inactive(
xfs_iunlock(ip, XFS_IOLOCK_EXCL | XFS_ILOCK_EXCL); xfs_iunlock(ip, XFS_IOLOCK_EXCL | XFS_ILOCK_EXCL);
return VN_INACTIVE_CACHE; return VN_INACTIVE_CACHE;
} }
} else if ((ip->i_d.di_mode & S_IFMT) == S_IFLNK) { } else if (S_ISLNK(ip->i_d.di_mode)) {
/* /*
* If we get an error while cleaning up a * If we get an error while cleaning up a