diff options
-rw-r--r-- | core/fs/xfs/xfs.c | 2 | ||||
-rw-r--r-- | core/fs/xfs/xfs_dir2.c | 24 |
2 files changed, 13 insertions, 13 deletions
diff --git a/core/fs/xfs/xfs.c b/core/fs/xfs/xfs.c index 7102d7a1..98d62551 100644 --- a/core/fs/xfs/xfs.c +++ b/core/fs/xfs/xfs.c @@ -322,7 +322,7 @@ static struct inode *xfs_iget_root(struct fs_info *fs) xfs_debug("Root inode has been found!"); - if (!(be16_to_cpu(core->di_mode) & S_IFDIR)) { + if ((be16_to_cpu(core->di_mode) & S_IFMT) != S_IFDIR) { xfs_error("root inode is not a directory ?! No makes sense..."); goto out; } diff --git a/core/fs/xfs/xfs_dir2.c b/core/fs/xfs/xfs_dir2.c index 45b4ff10..c52196ae 100644 --- a/core/fs/xfs/xfs_dir2.c +++ b/core/fs/xfs/xfs_dir2.c @@ -158,14 +158,14 @@ found: inode->ino = ino; inode->size = be64_to_cpu(ncore->di_size); - if (be16_to_cpu(ncore->di_mode) & S_IFDIR) { + if ((be16_to_cpu(ncore->di_mode) & S_IFMT) == S_IFDIR) { inode->mode = DT_DIR; xfs_debug("Found a directory inode!"); - } else if (be16_to_cpu(ncore->di_mode) & S_IFREG) { + } else if ((be16_to_cpu(ncore->di_mode) & S_IFMT) == S_IFREG) { inode->mode = DT_REG; xfs_debug("Found a file inode!"); xfs_debug("inode size %llu", inode->size); - } else if (be16_to_cpu(ncore->di_mode) & S_IFLNK) { + } else if ((be16_to_cpu(ncore->di_mode) & S_IFMT) == S_IFLNK) { inode->mode = DT_LNK; xfs_debug("Found a symbolic link inode!"); } @@ -260,14 +260,14 @@ found: XFS_PVT(inode)->i_ino_blk = ino_to_bytes(fs, ino) >> BLOCK_SHIFT(fs); inode->size = be64_to_cpu(ncore->di_size); - if (be16_to_cpu(ncore->di_mode) & S_IFDIR) { + if ((be16_to_cpu(ncore->di_mode) & S_IFMT) == S_IFDIR) { inode->mode = DT_DIR; xfs_debug("Found a directory inode!"); - } else if (be16_to_cpu(ncore->di_mode) & S_IFREG) { + } else if ((be16_to_cpu(ncore->di_mode) & S_IFMT) == S_IFREG) { inode->mode = DT_REG; xfs_debug("Found a file inode!"); xfs_debug("inode size %llu", inode->size); - } else if (be16_to_cpu(ncore->di_mode) & S_IFLNK) { + } else if ((be16_to_cpu(ncore->di_mode) & S_IFMT) == S_IFLNK) { inode->mode = DT_LNK; xfs_debug("Found a symbolic link inode!"); } @@ -414,14 +414,14 @@ found: BLOCK_SHIFT(parent->fs); ip->size = be64_to_cpu(ncore->di_size); - if (be16_to_cpu(ncore->di_mode) & S_IFDIR) { + if ((be16_to_cpu(ncore->di_mode) & S_IFMT) == S_IFDIR) { ip->mode = DT_DIR; xfs_debug("Found a directory inode!"); - } else if (be16_to_cpu(ncore->di_mode) & S_IFREG) { + } else if ((be16_to_cpu(ncore->di_mode) & S_IFMT) == S_IFREG) { ip->mode = DT_REG; xfs_debug("Found a file inode!"); xfs_debug("inode size %llu", ip->size); - } else if (be16_to_cpu(ncore->di_mode) & S_IFLNK) { + } else if ((be16_to_cpu(ncore->di_mode) & S_IFMT) == S_IFLNK) { ip->mode = DT_LNK; xfs_debug("Found a symbolic link inode!"); } @@ -731,14 +731,14 @@ found: BLOCK_SHIFT(parent->fs); ip->size = be64_to_cpu(ncore->di_size); - if (be16_to_cpu(ncore->di_mode) & S_IFDIR) { + if ((be16_to_cpu(ncore->di_mode) & S_IFMT) == S_IFDIR) { ip->mode = DT_DIR; xfs_debug("Found a directory inode!"); - } else if (be16_to_cpu(ncore->di_mode) & S_IFREG) { + } else if ((be16_to_cpu(ncore->di_mode) & S_IFMT) == S_IFREG) { ip->mode = DT_REG; xfs_debug("Found a file inode!"); xfs_debug("inode size %llu", ip->size); - } else if (be16_to_cpu(ncore->di_mode) & S_IFLNK) { + } else if ((be16_to_cpu(ncore->di_mode) & S_IFMT) == S_IFLNK) { ip->mode = DT_LNK; xfs_debug("Found a symbolic link inode!"); } |