Whamcloud - gitweb
LU-9679 lustre: remove some "#ifdef CONFIG*" from .c files. 31/39131/4
authorMr NeilBrown <neilb@suse.de>
Sun, 7 Jun 2020 23:24:26 +0000 (19:24 -0400)
committerOleg Drokin <green@whamcloud.com>
Sat, 4 Jul 2020 03:02:50 +0000 (03:02 +0000)
It is Linux policy to avoid #ifdef in C files where
convenient - .h files are OK.

This patch defines a few inline functions which differ
depending on CONFIG_LUSTRE_FS_POSIX_ACL, and removes
some #ifdefs from .c files.

Test-Parameters: trivial
Signed-off-by: Mr NeilBrown <neilb@suse.de>
Change-Id: I680bcf568d3a09d3768cc992a53671352bd125fd
Reviewed-on: https://review.whamcloud.com/39131
Tested-by: jenkins <devops@whamcloud.com>
Tested-by: Maloo <maloo@whamcloud.com>
Reviewed-by: James Simmons <jsimmons@infradead.org>
Reviewed-by: Jian Yu <yujian@whamcloud.com>
Reviewed-by: Oleg Drokin <green@whamcloud.com>
lustre/include/obd.h
lustre/llite/llite_internal.h
lustre/llite/llite_lib.c
lustre/mdc/mdc_request.c

index 66218c5..c0d70c6 100644 (file)
@@ -33,6 +33,8 @@
 #ifndef __OBD_H
 #define __OBD_H
 
 #ifndef __OBD_H
 #define __OBD_H
 
+#include <linux/fs.h>
+#include <linux/posix_acl.h>
 #include <linux/kobject.h>
 #include <linux/spinlock.h>
 #include <linux/sysfs.h>
 #include <linux/kobject.h>
 #include <linux/spinlock.h>
 #include <linux/sysfs.h>
@@ -1061,6 +1063,25 @@ struct lustre_md {
 #endif
 };
 
 #endif
 };
 
+#ifdef CONFIG_LUSTRE_FS_POSIX_ACL
+static inline void lmd_clear_acl(struct lustre_md *md)
+{
+       if (md->posix_acl) {
+               posix_acl_release(md->posix_acl);
+               md->posix_acl = NULL;
+       }
+}
+
+#define OBD_CONNECT_ACL_FLAGS  \
+       (OBD_CONNECT_ACL | OBD_CONNECT_UMASK | OBD_CONNECT_LARGE_ACL)
+#else
+static inline void lmd_clear_acl(struct lustre_md *md)
+{
+}
+
+#define OBD_CONNECT_ACL_FLAGS  (0)
+#endif
+
 struct md_open_data {
        struct obd_client_handle        *mod_och;
        struct ptlrpc_request           *mod_open_req;
 struct md_open_data {
        struct obd_client_handle        *mod_och;
        struct ptlrpc_request           *mod_open_req;
index 7b92e26..93b1a51 100644 (file)
@@ -349,6 +349,35 @@ static inline void trunc_sem_up_write(struct ll_trunc_sem *sem)
        wake_up_var(&sem->ll_trunc_readers);
 }
 
        wake_up_var(&sem->ll_trunc_readers);
 }
 
+#ifdef CONFIG_LUSTRE_FS_POSIX_ACL
+static inline void lli_clear_acl(struct ll_inode_info *lli)
+{
+       if (lli->lli_posix_acl) {
+               posix_acl_release(lli->lli_posix_acl);
+               lli->lli_posix_acl = NULL;
+       }
+}
+
+static inline void lli_replace_acl(struct ll_inode_info *lli,
+                                  struct lustre_md *md)
+{
+       spin_lock(&lli->lli_lock);
+       if (lli->lli_posix_acl)
+               posix_acl_release(lli->lli_posix_acl);
+       lli->lli_posix_acl = md->posix_acl;
+       spin_unlock(&lli->lli_lock);
+}
+#else
+static inline void lli_clear_acl(struct ll_inode_info *lli)
+{
+}
+
+static inline void lli_replace_acl(struct ll_inode_info *lli,
+                                  struct lustre_md *md)
+{
+}
+#endif
+
 static inline __u32 ll_layout_version_get(struct ll_inode_info *lli)
 {
        __u32 gen;
 static inline __u32 ll_layout_version_get(struct ll_inode_info *lli)
 {
        __u32 gen;
index d3959d2..cd9f5ae 100644 (file)
@@ -281,10 +281,7 @@ static int client_common_fill_super(struct super_block *sb, char *md, char *dt)
         if (sbi->ll_flags & LL_SBI_LRU_RESIZE)
                 data->ocd_connect_flags |= OBD_CONNECT_LRU_RESIZE;
 #endif
         if (sbi->ll_flags & LL_SBI_LRU_RESIZE)
                 data->ocd_connect_flags |= OBD_CONNECT_LRU_RESIZE;
 #endif
-#ifdef CONFIG_LUSTRE_FS_POSIX_ACL
-       data->ocd_connect_flags |= OBD_CONNECT_ACL | OBD_CONNECT_UMASK |
-                                  OBD_CONNECT_LARGE_ACL;
-#endif
+       data->ocd_connect_flags |= OBD_CONNECT_ACL_FLAGS;
 
        data->ocd_cksum_types = obd_cksum_types_supported_client();
 
 
        data->ocd_cksum_types = obd_cksum_types_supported_client();
 
@@ -626,12 +623,7 @@ static int client_common_fill_super(struct super_block *sb, char *md, char *dt)
        ptlrpc_req_finished(request);
 
        if (IS_ERR(root)) {
        ptlrpc_req_finished(request);
 
        if (IS_ERR(root)) {
-#ifdef CONFIG_LUSTRE_FS_POSIX_ACL
-               if (lmd.posix_acl) {
-                       posix_acl_release(lmd.posix_acl);
-                       lmd.posix_acl = NULL;
-               }
-#endif
+               lmd_clear_acl(&lmd);
                err = IS_ERR(root) ? PTR_ERR(root) : -EBADF;
                root = NULL;
                CERROR("%s: bad ll_iget() for root: rc = %d\n",
                err = IS_ERR(root) ? PTR_ERR(root) : -EBADF;
                root = NULL;
                CERROR("%s: bad ll_iget() for root: rc = %d\n",
@@ -1662,13 +1654,8 @@ void ll_clear_inode(struct inode *inode)
 
        ll_xattr_cache_destroy(inode);
 
 
        ll_xattr_cache_destroy(inode);
 
-#ifdef CONFIG_LUSTRE_FS_POSIX_ACL
        forget_all_cached_acls(inode);
        forget_all_cached_acls(inode);
-       if (lli->lli_posix_acl) {
-               posix_acl_release(lli->lli_posix_acl);
-               lli->lli_posix_acl = NULL;
-       }
-#endif
+       lli_clear_acl(lli);
        lli->lli_inode_magic = LLI_INODE_DEAD;
 
        if (S_ISDIR(inode->i_mode))
        lli->lli_inode_magic = LLI_INODE_DEAD;
 
        if (S_ISDIR(inode->i_mode))
@@ -2297,15 +2284,9 @@ int ll_update_inode(struct inode *inode, struct lustre_md *md)
                        return rc;
        }
 
                        return rc;
        }
 
-#ifdef CONFIG_LUSTRE_FS_POSIX_ACL
-       if (body->mbo_valid & OBD_MD_FLACL) {
-               spin_lock(&lli->lli_lock);
-               if (lli->lli_posix_acl)
-                       posix_acl_release(lli->lli_posix_acl);
-               lli->lli_posix_acl = md->posix_acl;
-               spin_unlock(&lli->lli_lock);
-       }
-#endif
+       if (body->mbo_valid & OBD_MD_FLACL)
+               lli_replace_acl(lli, md);
+
        inode->i_ino = cl_fid_build_ino(&body->mbo_fid1,
                                        sbi->ll_flags & LL_SBI_32BIT_API);
        inode->i_generation = cl_fid_build_gen(&body->mbo_fid1);
        inode->i_ino = cl_fid_build_ino(&body->mbo_fid1,
                                        sbi->ll_flags & LL_SBI_32BIT_API);
        inode->i_generation = cl_fid_build_gen(&body->mbo_fid1);
@@ -2788,12 +2769,7 @@ int ll_prep_inode(struct inode **inode, struct ptlrpc_request *req,
                                             sbi->ll_flags & LL_SBI_32BIT_API),
                                 &md);
                if (IS_ERR(*inode)) {
                                             sbi->ll_flags & LL_SBI_32BIT_API),
                                 &md);
                if (IS_ERR(*inode)) {
-#ifdef CONFIG_LUSTRE_FS_POSIX_ACL
-                        if (md.posix_acl) {
-                                posix_acl_release(md.posix_acl);
-                                md.posix_acl = NULL;
-                        }
-#endif
+                        lmd_clear_acl(&md);
                         rc = IS_ERR(*inode) ? PTR_ERR(*inode) : -ENOMEM;
                         *inode = NULL;
                         CERROR("new_inode -fatal: rc %d\n", rc);
                         rc = IS_ERR(*inode) ? PTR_ERR(*inode) : -ENOMEM;
                         *inode = NULL;
                         CERROR("new_inode -fatal: rc %d\n", rc);
index 82d1b5e..6f319cb 100644 (file)
@@ -663,11 +663,9 @@ int mdc_get_lustre_md(struct obd_export *exp, struct ptlrpc_request *req,
 
         EXIT;
 out:
 
         EXIT;
 out:
-        if (rc) {
-#ifdef CONFIG_LUSTRE_FS_POSIX_ACL
-                posix_acl_release(md->posix_acl);
-#endif
-        }
+        if (rc)
+               lmd_clear_acl(md);
+
         return rc;
 }
 
         return rc;
 }