Whamcloud - gitweb
LU-9859 libcfs: make signal-blocking functions inline 81/38081/4
authorNeilBrown <neilb@suse.com>
Wed, 8 Apr 2020 15:15:42 +0000 (11:15 -0400)
committerOleg Drokin <green@whamcloud.com>
Sun, 19 Apr 2020 08:45:28 +0000 (08:45 +0000)
cfs_block_sigsinv() and cfs_restore_sigs() are now
simple enough to inline them.

Linux-commit: 6b7936ceefa7ed1d7c0576ed9660cc6cb90d61df

Change-Id: I36c62a091a9c066573930cfbae9bf65836203516
Signed-off-by: NeilBrown <neilb@suse.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Reviewed-on: https://review.whamcloud.com/38081
Tested-by: jenkins <devops@whamcloud.com>
Reviewed-by: Yang Sheng <ys@whamcloud.com>
Reviewed-by: Shaun Tancheff <shaun.tancheff@hpe.com>
Reviewed-by: Neil Brown <neilb@suse.de>
Tested-by: Maloo <maloo@whamcloud.com>
Reviewed-by: Oleg Drokin <green@whamcloud.com>
libcfs/include/libcfs/libcfs.h
libcfs/libcfs/linux/linux-prim.c

index 80dd9d2..20ddfa2 100644 (file)
 #include <linux/kernel.h>
 #include <linux/module.h>
 #include <linux/workqueue.h>
+#include <linux/sched.h>
+#ifdef HAVE_SCHED_HEADERS
+#include <linux/sched/signal.h>
+#endif
 
 #include <libcfs/linux/linux-misc.h>
 #include <libcfs/linux/linux-time.h>
@@ -94,6 +98,22 @@ do {                                                                 \
 
 typedef s32 timeout_t;
 
+/* Block all signals except for the @sigs */
+static inline void cfs_block_sigsinv(unsigned long sigs, sigset_t *old)
+{
+       sigset_t new;
+
+       siginitsetinv(&new, sigs);
+       sigorsets(&new, &current->blocked, &new);
+       sigprocmask(SIG_BLOCK, &new, old);
+}
+
+static inline void
+cfs_restore_sigs(sigset_t *old)
+{
+       sigprocmask(SIG_SETMASK, old, NULL);
+}
+
 /* need both kernel and user-land acceptor */
 #define LNET_ACCEPTOR_MIN_RESERVED_PORT    512
 #define LNET_ACCEPTOR_MAX_RESERVED_PORT    1023
index 9c65e7e..3018a71 100644 (file)
@@ -39,7 +39,6 @@
 #include <linux/fs_struct.h>
 #include <linux/sched.h>
 #ifdef HAVE_SCHED_HEADERS
-#include <linux/sched/signal.h>
 #include <linux/sched/mm.h>
 #endif
 #include <linux/uaccess.h>
@@ -194,21 +193,3 @@ int kstrtobool_from_user(const char __user *s, size_t count, bool *res)
 }
 EXPORT_SYMBOL(kstrtobool_from_user);
 #endif /* !HAVE_KSTRTOBOOL_FROM_USER */
-
-/* Block all signals except for the @sigs */
-void cfs_block_sigsinv(unsigned long sigs, sigset_t *old)
-{
-       sigset_t new;
-
-       siginitsetinv(&new, sigs);
-       sigorsets(&new, &current->blocked, &new);
-       sigprocmask(SIG_BLOCK, &new, old);
-}
-EXPORT_SYMBOL(cfs_block_sigsinv);
-
-void
-cfs_restore_sigs(sigset_t *old)
-{
-       sigprocmask(SIG_SETMASK, old, NULL);
-}
-EXPORT_SYMBOL(cfs_restore_sigs);