From: Al Viro Date: Tue, 21 Oct 2014 19:20:42 +0000 (-0400) Subject: lustre: use is_root_inode() X-Git-Tag: firefly_0821_release~176^2~2652^2~11^2 X-Git-Url: http://demsky.eecs.uci.edu/git/?a=commitdiff_plain;h=f76c23daacce0ed3da4abad9f2f421aae5108f93;p=firefly-linux-kernel-4.4.55.git lustre: use is_root_inode() Signed-off-by: Al Viro --- diff --git a/drivers/staging/lustre/lustre/llite/dir.c b/drivers/staging/lustre/lustre/llite/dir.c index fa639407fde7..a79fd65ec4c6 100644 --- a/drivers/staging/lustre/lustre/llite/dir.c +++ b/drivers/staging/lustre/lustre/llite/dir.c @@ -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); diff --git a/drivers/staging/lustre/lustre/llite/file.c b/drivers/staging/lustre/lustre/llite/file.c index 567874fc5f47..37b7c93717a1 100644 --- a/drivers/staging/lustre/lustre/llite/file.c +++ b/drivers/staging/lustre/lustre/llite/file.c @@ -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) diff --git a/drivers/staging/lustre/lustre/llite/namei.c b/drivers/staging/lustre/lustre/llite/namei.c index 02283c533f5b..8e926b385a60 100644 --- a/drivers/staging/lustre/lustre/llite/namei.c +++ b/drivers/staging/lustre/lustre/llite/namei.c @@ -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);