ocfs2: map flags directly in flags_to_o2dlm()
authorJoseph Qi <joseph.qi@linux.alibaba.com>
Fri, 30 Apr 2021 05:54:05 +0000 (22:54 -0700)
committerLinus Torvalds <torvalds@linux-foundation.org>
Fri, 30 Apr 2021 18:20:35 +0000 (11:20 -0700)
Use macro map_flag() is tricky and coccicheck outputs the following
warning:

  fs/ocfs2/stack_o2cb.c:69:5-16: Unneeded variable: "o2dlm_flags"

So map flags directly in flags_to_o2dlm() to make coccicheck happy.
And remove BUG_ON() here as well to simplify code since it runs well
a long time.

Link: https://lkml.kernel.org/r/1616138664-35935-1-git-send-email-joseph.qi@linux.alibaba.com
Signed-off-by: Joseph Qi <joseph.qi@linux.alibaba.com>
Reviewed-by: Wengang Wang <wen.gang.wang@oracle.com>
Cc: Mark Fasheh <mark@fasheh.com>
Cc: Joel Becker <jlbec@evilplan.org>
Cc: Junxiao Bi <junxiao.bi@oracle.com>
Cc: Changwei Ge <gechangwei@live.cn>
Cc: Gang He <ghe@suse.com>
Cc: Jun Piao <piaojun@huawei.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
fs/ocfs2/stack_o2cb.c

index dbf8b57..f700120 100644 (file)
@@ -59,31 +59,31 @@ static inline int mode_to_o2dlm(int mode)
        return mode;
 }
 
-#define map_flag(_generic, _o2dlm)             \
-       if (flags & (_generic)) {               \
-               flags &= ~(_generic);           \
-               o2dlm_flags |= (_o2dlm);        \
-       }
 static int flags_to_o2dlm(u32 flags)
 {
        int o2dlm_flags = 0;
 
-       map_flag(DLM_LKF_NOQUEUE, LKM_NOQUEUE);
-       map_flag(DLM_LKF_CANCEL, LKM_CANCEL);
-       map_flag(DLM_LKF_CONVERT, LKM_CONVERT);
-       map_flag(DLM_LKF_VALBLK, LKM_VALBLK);
-       map_flag(DLM_LKF_IVVALBLK, LKM_INVVALBLK);
-       map_flag(DLM_LKF_ORPHAN, LKM_ORPHAN);
-       map_flag(DLM_LKF_FORCEUNLOCK, LKM_FORCE);
-       map_flag(DLM_LKF_TIMEOUT, LKM_TIMEOUT);
-       map_flag(DLM_LKF_LOCAL, LKM_LOCAL);
-
-       /* map_flag() should have cleared every flag passed in */
-       BUG_ON(flags != 0);
+       if (flags & DLM_LKF_NOQUEUE)
+               o2dlm_flags |= LKM_NOQUEUE;
+       if (flags & DLM_LKF_CANCEL)
+               o2dlm_flags |= LKM_CANCEL;
+       if (flags & DLM_LKF_CONVERT)
+               o2dlm_flags |= LKM_CONVERT;
+       if (flags & DLM_LKF_VALBLK)
+               o2dlm_flags |= LKM_VALBLK;
+       if (flags & DLM_LKF_IVVALBLK)
+               o2dlm_flags |= LKM_INVVALBLK;
+       if (flags & DLM_LKF_ORPHAN)
+               o2dlm_flags |= LKM_ORPHAN;
+       if (flags & DLM_LKF_FORCEUNLOCK)
+               o2dlm_flags |= LKM_FORCE;
+       if (flags & DLM_LKF_TIMEOUT)
+               o2dlm_flags |= LKM_TIMEOUT;
+       if (flags & DLM_LKF_LOCAL)
+               o2dlm_flags |= LKM_LOCAL;
 
        return o2dlm_flags;
 }
-#undef map_flag
 
 /*
  * Map an o2dlm status to standard errno values.