new helper: 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>
Fri, 31 Oct 2014 21:48:54 +0000 (17:48 -0400)
replace open-coded instances

Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
fs/coda/coda_linux.c
fs/coda/coda_linux.h
fs/coda/dir.c
fs/ncpfs/dir.c
include/linux/fs.h

index 1326d38960db0de7dc234f44c981f7d7eeeaa498..f1714cfb589c6018adf3d37046ef53d117aab42e 100644 (file)
@@ -40,12 +40,6 @@ int coda_iscontrol(const char *name, size_t length)
                 (strncmp(name, CODA_CONTROL, CODA_CONTROLLEN) == 0));
 }
 
-/* recognize /coda inode */
-int coda_isroot(struct inode *i)
-{
-    return ( i->i_sb->s_root->d_inode == i );
-}
-
 unsigned short coda_flags_to_cflags(unsigned short flags)
 {
        unsigned short coda_flags = 0;
index d42b725b1d21ba6f992c1e5ef600b0081c47efdb..d6f7a76a1f5b06c3aeab8f07bb841e5c1629a32a 100644 (file)
@@ -52,7 +52,6 @@ int coda_setattr(struct dentry *, struct iattr *);
 
 /* this file:  heloers */
 char *coda_f2s(struct CodaFid *f);
-int coda_isroot(struct inode *i);
 int coda_iscontrol(const char *name, size_t length);
 
 void coda_vattr_to_iattr(struct inode *, struct coda_vattr *);
index 9c3dedc000d181945926c606ba26b17168737f99..7ff025966e4f249488b63f0320c6ad67bc357220 100644 (file)
@@ -107,7 +107,7 @@ static struct dentry *coda_lookup(struct inode *dir, struct dentry *entry, unsig
        }
 
        /* control object, create inode on the fly */
-       if (coda_isroot(dir) && coda_iscontrol(name, length)) {
+       if (is_root_inode(dir) && coda_iscontrol(name, length)) {
                inode = coda_cnode_makectl(sb);
                type = CODA_NOCACHE;
        } else {
@@ -195,7 +195,7 @@ static int coda_create(struct inode *dir, struct dentry *de, umode_t mode, bool
        struct CodaFid newfid;
        struct coda_vattr attrs;
 
-       if (coda_isroot(dir) && coda_iscontrol(name, length))
+       if (is_root_inode(dir) && coda_iscontrol(name, length))
                return -EPERM;
 
        error = venus_create(dir->i_sb, coda_i2f(dir), name, length, 
@@ -227,7 +227,7 @@ static int coda_mkdir(struct inode *dir, struct dentry *de, umode_t mode)
        int error;
        struct CodaFid newfid;
 
-       if (coda_isroot(dir) && coda_iscontrol(name, len))
+       if (is_root_inode(dir) && coda_iscontrol(name, len))
                return -EPERM;
 
        attrs.va_mode = mode;
@@ -261,7 +261,7 @@ static int coda_link(struct dentry *source_de, struct inode *dir_inode,
        int len = de->d_name.len;
        int error;
 
-       if (coda_isroot(dir_inode) && coda_iscontrol(name, len))
+       if (is_root_inode(dir_inode) && coda_iscontrol(name, len))
                return -EPERM;
 
        error = venus_link(dir_inode->i_sb, coda_i2f(inode),
@@ -287,7 +287,7 @@ static int coda_symlink(struct inode *dir_inode, struct dentry *de,
        int symlen;
        int error;
 
-       if (coda_isroot(dir_inode) && coda_iscontrol(name, len))
+       if (is_root_inode(dir_inode) && coda_iscontrol(name, len))
                return -EPERM;
 
        symlen = strlen(symname);
@@ -507,7 +507,7 @@ static int coda_dentry_revalidate(struct dentry *de, unsigned int flags)
                return -ECHILD;
 
        inode = de->d_inode;
-       if (!inode || coda_isroot(inode))
+       if (!inode || is_root_inode(inode))
                goto out;
        if (is_bad_inode(inode))
                goto bad;
index 7cb751dfbeef0a86d94237292d09e591e249f4e7..461f6be5df201ad8606bfd14eeaf3a6c606959ea 100644 (file)
@@ -198,8 +198,8 @@ ncp_single_volume(struct ncp_server *server)
 
 static inline int ncp_is_server_root(struct inode *inode)
 {
-       return (!ncp_single_volume(NCP_SERVER(inode)) &&
-               inode == inode->i_sb->s_root->d_inode);
+       return !ncp_single_volume(NCP_SERVER(inode)) &&
+               is_root_inode(inode);
 }
 
 
index 00c8e4f65cb6aaa32eb2851d1a0e71cc59c3c09c..1c12c681803feac79366a6fb43e0a60cc6948e49 100644 (file)
@@ -2789,6 +2789,11 @@ static inline void inode_has_no_xattr(struct inode *inode)
                inode->i_flags |= S_NOSEC;
 }
 
+static inline bool is_root_inode(struct inode *inode)
+{
+       return inode == inode->i_sb->s_root->d_inode;
+}
+
 static inline bool dir_emit(struct dir_context *ctx,
                            const char *name, int namelen,
                            u64 ino, unsigned type)