From c1e427e30eff515d1f7fd65e7d27ce747f1ffb9d Mon Sep 17 00:00:00 2001 From: NeilBrown Date: Wed, 8 Apr 2020 11:15:42 -0400 Subject: [PATCH] LU-9859 libcfs: make signal-blocking functions inline cfs_block_sigsinv() and cfs_restore_sigs() are now simple enough to inline them. Linux-commit: 6b7936ceefa7ed1d7c0576ed9660cc6cb90d61df Change-Id: I36c62a091a9c066573930cfbae9bf65836203516 Signed-off-by: NeilBrown Signed-off-by: Greg Kroah-Hartman Reviewed-on: https://review.whamcloud.com/38081 Tested-by: jenkins Reviewed-by: Yang Sheng Reviewed-by: Shaun Tancheff Reviewed-by: Neil Brown Tested-by: Maloo Reviewed-by: Oleg Drokin --- libcfs/include/libcfs/libcfs.h | 20 ++++++++++++++++++++ libcfs/libcfs/linux/linux-prim.c | 19 ------------------- 2 files changed, 20 insertions(+), 19 deletions(-) diff --git a/libcfs/include/libcfs/libcfs.h b/libcfs/include/libcfs/libcfs.h index 80dd9d2..20ddfa2 100644 --- a/libcfs/include/libcfs/libcfs.h +++ b/libcfs/include/libcfs/libcfs.h @@ -36,6 +36,10 @@ #include #include #include +#include +#ifdef HAVE_SCHED_HEADERS +#include +#endif #include #include @@ -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, ¤t->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 diff --git a/libcfs/libcfs/linux/linux-prim.c b/libcfs/libcfs/linux/linux-prim.c index 9c65e7e..3018a71 100644 --- a/libcfs/libcfs/linux/linux-prim.c +++ b/libcfs/libcfs/linux/linux-prim.c @@ -39,7 +39,6 @@ #include #include #ifdef HAVE_SCHED_HEADERS -#include #include #endif #include @@ -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, ¤t->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); -- 1.8.3.1