lustre: use is_root_inode()
authorAl Viro <viro@zeniv.linux.org.uk>
Tue, 21 Oct 2014 19:20:42 +0000 (15:20 -0400)
committerAl Viro <viro@zeniv.linux.org.uk>
Mon, 3 Nov 2014 20:21:19 +0000 (15:21 -0500)
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
drivers/staging/lustre/lustre/llite/dir.c
drivers/staging/lustre/lustre/llite/file.c
drivers/staging/lustre/lustre/llite/namei.c

index fa639407fde7182511d8ba9cd425539738892b5b..a79fd65ec4c64d3fbfaf131d675f6f37e0047eed 100644 (file)
@@ -1389,7 +1389,7 @@ lmv_out_free:
                                return -EFAULT;
                }
 
-               if (inode->i_sb->s_root == file->f_dentry)
+               if (is_root_inode(inode))
                        set_default = 1;
 
                /* in v1 and v3 cases lumv1 points to data */
@@ -1780,8 +1780,7 @@ out_quotactl:
                return ll_flush_ctx(inode);
 #ifdef CONFIG_FS_POSIX_ACL
        case LL_IOC_RMTACL: {
-           if (sbi->ll_flags & LL_SBI_RMT_CLIENT &&
-               inode == inode->i_sb->s_root->d_inode) {
+           if (sbi->ll_flags & LL_SBI_RMT_CLIENT && is_root_inode(inode)) {
                struct ll_file_data *fd = LUSTRE_FPRIVATE(file);
 
                LASSERT(fd != NULL);
index 567874fc5f4707f2e70e8ed5d30d3e2acf72e14f..37b7c93717a1a61b07c488c5038993ae9a6b8165 100644 (file)
@@ -341,8 +341,7 @@ int ll_file_release(struct inode *inode, struct file *file)
               inode->i_generation, inode);
 
 #ifdef CONFIG_FS_POSIX_ACL
-       if (sbi->ll_flags & LL_SBI_RMT_CLIENT &&
-           inode == inode->i_sb->s_root->d_inode) {
+       if (sbi->ll_flags & LL_SBI_RMT_CLIENT && is_root_inode(inode)) {
                struct ll_file_data *fd = LUSTRE_FPRIVATE(file);
 
                LASSERT(fd != NULL);
@@ -354,7 +353,7 @@ int ll_file_release(struct inode *inode, struct file *file)
        }
 #endif
 
-       if (inode->i_sb->s_root != file->f_dentry)
+       if (!is_root_inode(inode))
                ll_stats_ops_tally(sbi, LPROC_LL_RELEASE, 1);
        fd = LUSTRE_FPRIVATE(file);
        LASSERT(fd != NULL);
@@ -366,7 +365,7 @@ int ll_file_release(struct inode *inode, struct file *file)
            lli->lli_opendir_pid != 0)
                ll_stop_statahead(inode, lli->lli_opendir_key);
 
-       if (inode->i_sb->s_root == file->f_dentry) {
+       if (is_root_inode(inode)) {
                LUSTRE_FPRIVATE(file) = NULL;
                ll_file_data_put(fd);
                return 0;
@@ -562,7 +561,7 @@ int ll_file_open(struct inode *inode, struct file *file)
                spin_unlock(&lli->lli_sa_lock);
        }
 
-       if (inode->i_sb->s_root == file->f_dentry) {
+       if (is_root_inode(inode)) {
                LUSTRE_FPRIVATE(file) = fd;
                return 0;
        }
@@ -1636,7 +1635,7 @@ int ll_release_openhandle(struct inode *inode, struct lookup_intent *it)
        LASSERT(inode);
 
        /* Root ? Do nothing. */
-       if (inode->i_sb->s_root->d_inode == inode)
+       if (is_root_inode(inode))
                return 0;
 
        /* No open handle to close? Move away */
@@ -3108,7 +3107,7 @@ int ll_inode_permission(struct inode *inode, int mask)
        /* as root inode are NOT getting validated in lookup operation,
        * need to do it before permission check. */
 
-       if (inode == inode->i_sb->s_root->d_inode) {
+       if (is_root_inode(inode)) {
                rc = __ll_inode_revalidate(inode->i_sb->s_root,
                                           MDS_INODELOCK_LOOKUP);
                if (rc)
index 02283c533f5b9e5669ac1dbb67c6153b2d32d168..8e926b385a604a5b08d6d448d59e9e78f61eee09 100644 (file)
@@ -264,7 +264,7 @@ int ll_md_blocking_ast(struct ldlm_lock *lock, struct ldlm_lock_desc *desc,
 
                if ((bits & (MDS_INODELOCK_LOOKUP | MDS_INODELOCK_PERM)) &&
                    inode->i_sb->s_root != NULL &&
-                   inode != inode->i_sb->s_root->d_inode)
+                   is_root_inode(inode))
                        ll_invalidate_aliases(inode);
 
                iput(inode);