Ensure strscpy is available to lustre
Test-Parameters: trivial
Fixes:
0b406c91d17 ("LU-13642 lnet: modify lnet_inetdev to work with large NIDS")
Signed-off-by: Shaun Tancheff <shaun.tancheff@hpe.com>
Change-Id: I0c3673c2aa7e6b61671521a8cabde8a364f7f6f8
Reviewed-on: https://review.whamcloud.com/c/fs/lustre-release/+/49863
Tested-by: jenkins <devops@whamcloud.com>
Tested-by: Maloo <maloo@whamcloud.com>
Reviewed-by: jsimmons <jsimmons@infradead.org>
Reviewed-by: Jian Yu <yujian@whamcloud.com>
Reviewed-by: Petros Koutoupis <petros.koutoupis@hpe.com>
Reviewed-by: Oleg Drokin <green@whamcloud.com>
]) # LIBCFS_KERNEL_PARAM_LOCK
#
+# LIBCFS_STRSCPY_EXISTS
+#
+# Linux commit v4.2-rc1-2-g30035e45753b
+# string: provide strscpy()
+#
+# If strscpy exists, prefer it over strlcpy
+#
+AC_DEFUN([LIBCFS_SRC_STRSCPY_EXISTS], [
+ LB2_LINUX_TEST_SRC([strscpy_exists], [
+ #include <linux/string.h>
+ ],[
+ strscpy((char *)NULL, (const char *)NULL, 0);
+ ],[-Werror])
+])
+AC_DEFUN([LIBCFS_STRSCPY_EXISTS], [
+ AC_MSG_CHECKING([if kernel strscpy is available])
+ LB2_LINUX_TEST_RESULT([strscpy_exists], [
+ AC_DEFINE(HAVE_STRSCPY, 1,
+ [kernel strscpy is available])
+ ])
+]) # LIBCFS_STRSCPY_EXISTS
+
+#
# Kernel version 4.2 changed topology_thread_cpumask
# to topology_sibling_cpumask
#
LIBCFS_SRC_WAIT_WOKEN
# 4.0
LIBCFS_SRC_KTIME_MS_DELTA
- # 4.2
+ # 4.1
LIBCFS_SRC_KERNEL_PARAM_LOCK
# 4.2
+ LIBCFS_SRC_STRSCPY_EXISTS
LIBCFS_SRC_HAVE_TOPOLOGY_SIBLING_CPUMASK
# 4.4
LIBCFS_SRC_KSTRTOBOOL_FROM_USER
# 4.1
LIBCFS_KERNEL_PARAM_LOCK
# 4.2
+ LIBCFS_STRSCPY_EXISTS
LIBCFS_HAVE_TOPOLOGY_SIBLING_CPUMASK
# 4.4
LIBCFS_KSTRTOBOOL_FROM_USER
}
#endif
+#ifndef HAVE_STRSCPY
+#define strscpy(s1, s2, sz) strlcpy((s1), (s2), (sz))
+#endif
+
#ifndef HAVE_KOBJ_TYPE_DEFAULT_GROUPS
#define default_groups default_attrs
#define KOBJ_ATTR_GROUPS(_name) _name##_attrs
AC_SUBST(EXTRA_SYMBOLS)
]) # LN_CONFIG_KFILND
-# LN_CONFIG_STRSCPY_EXISTS
-#
-# If strscpy exists, prefer it over strlcpy
-#
-AC_DEFUN([LN_CONFIG_STRSCPY_EXISTS], [
-tmp_flags="$EXTRA_KCFLAGS"
-EXTRA_KCFLAGS="-Werror"
-LB_CHECK_COMPILE([kernel strscpy is available],
-strscpy_exists, [
- #include <linux/string.h>
-],[
- strscpy((char *)NULL, (const char *)NULL, 0);
-],[
- AC_DEFINE(HAVE_STRSCPY, 1,
- [kernel strscpy is available])
-])
-EXTRA_KCFLAGS="$tmp_flags"
-]) # LN_CONFIG_STRSCPY_EXISTS
-
# LN_CONFIG_SOCK_CREATE_KERN
#
# 4.x sock_create_kern() added a first parameter as 'struct net *'
LN_CONFIG_BACKOFF
LN_CONFIG_O2IB
LN_CONFIG_GNILND
-LN_CONFIG_STRSCPY_EXISTS
LN_CONFIG_KFILND
# 3.10
LN_EXPORT_KMAP_TO_PAGE
#define SPACESTR " \t\v\r\n"
#define DELIMITERS ":()[]"
-#ifndef HAVE_STRSCPY
-#define strscpy(s1, s2, sz) strlcpy((s1), (s2), (sz))
-#endif
-
static void
lnet_syntax(const char *name, const char *str, int offset, int width)
{