mirror of
https://git.proxmox.com/git/mirror_zfs.git
synced 2024-12-25 18:59:33 +03:00
Minimal libshare infrastructure
ZFS even under Solaris does not strictly require libshare to be available. The current implementation attempts to dlopen() the library to access the needed symbols. If this fails libshare support is simply disabled. This means that on Linux we only need the most minimal libshare implementation. In fact just enough to prevent the build from failing. Longer term we can decide if we want to implement a libshare library like Solaris. At best this would be an abstraction layer between ZFS and NFS/SMB. Alternately, we can drop libshare entirely and directly integrate ZFS with Linux's NFS/SMB. Finally the bare bones user-libshare.m4 test was dropped. If we do decide to implement libshare at some point it will surely be as part of this package so the check is not needed.
This commit is contained in:
parent
3fb1fcdea1
commit
c5d915f423
@ -77,7 +77,6 @@ am__aclocal_m4_deps = \
|
||||
$(top_srcdir)/config/user-frame-larger-than.m4 \
|
||||
$(top_srcdir)/config/user-ioctl.m4 \
|
||||
$(top_srcdir)/config/user-libblkid.m4 \
|
||||
$(top_srcdir)/config/user-libshare.m4 \
|
||||
$(top_srcdir)/config/user-libuuid.m4 \
|
||||
$(top_srcdir)/config/user-nptl_guard_within_stack.m4 \
|
||||
$(top_srcdir)/config/user-selinux.m4 \
|
||||
|
@ -62,7 +62,6 @@ am__aclocal_m4_deps = \
|
||||
$(top_srcdir)/config/user-frame-larger-than.m4 \
|
||||
$(top_srcdir)/config/user-ioctl.m4 \
|
||||
$(top_srcdir)/config/user-libblkid.m4 \
|
||||
$(top_srcdir)/config/user-libshare.m4 \
|
||||
$(top_srcdir)/config/user-libuuid.m4 \
|
||||
$(top_srcdir)/config/user-nptl_guard_within_stack.m4 \
|
||||
$(top_srcdir)/config/user-selinux.m4 \
|
||||
|
@ -65,7 +65,6 @@ am__aclocal_m4_deps = \
|
||||
$(top_srcdir)/config/user-frame-larger-than.m4 \
|
||||
$(top_srcdir)/config/user-ioctl.m4 \
|
||||
$(top_srcdir)/config/user-libblkid.m4 \
|
||||
$(top_srcdir)/config/user-libshare.m4 \
|
||||
$(top_srcdir)/config/user-libuuid.m4 \
|
||||
$(top_srcdir)/config/user-nptl_guard_within_stack.m4 \
|
||||
$(top_srcdir)/config/user-selinux.m4 \
|
||||
|
@ -65,7 +65,6 @@ am__aclocal_m4_deps = \
|
||||
$(top_srcdir)/config/user-frame-larger-than.m4 \
|
||||
$(top_srcdir)/config/user-ioctl.m4 \
|
||||
$(top_srcdir)/config/user-libblkid.m4 \
|
||||
$(top_srcdir)/config/user-libshare.m4 \
|
||||
$(top_srcdir)/config/user-libuuid.m4 \
|
||||
$(top_srcdir)/config/user-nptl_guard_within_stack.m4 \
|
||||
$(top_srcdir)/config/user-selinux.m4 \
|
||||
|
@ -65,7 +65,6 @@ am__aclocal_m4_deps = \
|
||||
$(top_srcdir)/config/user-frame-larger-than.m4 \
|
||||
$(top_srcdir)/config/user-ioctl.m4 \
|
||||
$(top_srcdir)/config/user-libblkid.m4 \
|
||||
$(top_srcdir)/config/user-libshare.m4 \
|
||||
$(top_srcdir)/config/user-libuuid.m4 \
|
||||
$(top_srcdir)/config/user-nptl_guard_within_stack.m4 \
|
||||
$(top_srcdir)/config/user-selinux.m4 \
|
||||
|
@ -65,7 +65,6 @@ am__aclocal_m4_deps = \
|
||||
$(top_srcdir)/config/user-frame-larger-than.m4 \
|
||||
$(top_srcdir)/config/user-ioctl.m4 \
|
||||
$(top_srcdir)/config/user-libblkid.m4 \
|
||||
$(top_srcdir)/config/user-libshare.m4 \
|
||||
$(top_srcdir)/config/user-libuuid.m4 \
|
||||
$(top_srcdir)/config/user-nptl_guard_within_stack.m4 \
|
||||
$(top_srcdir)/config/user-selinux.m4 \
|
||||
|
@ -65,7 +65,6 @@ am__aclocal_m4_deps = \
|
||||
$(top_srcdir)/config/user-frame-larger-than.m4 \
|
||||
$(top_srcdir)/config/user-ioctl.m4 \
|
||||
$(top_srcdir)/config/user-libblkid.m4 \
|
||||
$(top_srcdir)/config/user-libshare.m4 \
|
||||
$(top_srcdir)/config/user-libuuid.m4 \
|
||||
$(top_srcdir)/config/user-nptl_guard_within_stack.m4 \
|
||||
$(top_srcdir)/config/user-selinux.m4 \
|
||||
|
@ -64,7 +64,6 @@ am__aclocal_m4_deps = \
|
||||
$(top_srcdir)/config/user-frame-larger-than.m4 \
|
||||
$(top_srcdir)/config/user-ioctl.m4 \
|
||||
$(top_srcdir)/config/user-libblkid.m4 \
|
||||
$(top_srcdir)/config/user-libshare.m4 \
|
||||
$(top_srcdir)/config/user-libuuid.m4 \
|
||||
$(top_srcdir)/config/user-nptl_guard_within_stack.m4 \
|
||||
$(top_srcdir)/config/user-selinux.m4 \
|
||||
|
@ -64,7 +64,6 @@ am__aclocal_m4_deps = \
|
||||
$(top_srcdir)/config/user-frame-larger-than.m4 \
|
||||
$(top_srcdir)/config/user-ioctl.m4 \
|
||||
$(top_srcdir)/config/user-libblkid.m4 \
|
||||
$(top_srcdir)/config/user-libshare.m4 \
|
||||
$(top_srcdir)/config/user-libuuid.m4 \
|
||||
$(top_srcdir)/config/user-nptl_guard_within_stack.m4 \
|
||||
$(top_srcdir)/config/user-selinux.m4 \
|
||||
|
@ -65,7 +65,6 @@ am__aclocal_m4_deps = \
|
||||
$(top_srcdir)/config/user-frame-larger-than.m4 \
|
||||
$(top_srcdir)/config/user-ioctl.m4 \
|
||||
$(top_srcdir)/config/user-libblkid.m4 \
|
||||
$(top_srcdir)/config/user-libshare.m4 \
|
||||
$(top_srcdir)/config/user-libuuid.m4 \
|
||||
$(top_srcdir)/config/user-nptl_guard_within_stack.m4 \
|
||||
$(top_srcdir)/config/user-selinux.m4 \
|
||||
|
@ -1,8 +0,0 @@
|
||||
dnl #
|
||||
dnl # Check for libshare
|
||||
dnl #
|
||||
AC_DEFUN([ZFS_AC_CONFIG_USER_LIBSHARE], [
|
||||
AC_CHECK_LIB([share], [sa_init],
|
||||
[AC_DEFINE([HAVE_LIBSHARE], 1,
|
||||
[Define to 1 if 'libshare' library available])])
|
||||
])
|
@ -3,7 +3,6 @@ dnl # Default ZFS user configuration
|
||||
dnl #
|
||||
AC_DEFUN([ZFS_AC_CONFIG_USER], [
|
||||
ZFS_AC_CONFIG_USER_ARCH
|
||||
ZFS_AC_CONFIG_USER_LIBSHARE
|
||||
ZFS_AC_CONFIG_USER_IOCTL
|
||||
ZFS_AC_CONFIG_USER_ZLIB
|
||||
ZFS_AC_CONFIG_USER_LIBUUID
|
||||
|
150
configure
vendored
150
configure
vendored
@ -13849,81 +13849,6 @@ $as_echo_n "checking for target asm dir... " >&6; }
|
||||
$as_echo "$TARGET_ASM_DIR" >&6; }
|
||||
|
||||
|
||||
{ $as_echo "$as_me:$LINENO: checking for sa_init in -lshare" >&5
|
||||
$as_echo_n "checking for sa_init in -lshare... " >&6; }
|
||||
if test "${ac_cv_lib_share_sa_init+set}" = set; then
|
||||
$as_echo_n "(cached) " >&6
|
||||
else
|
||||
ac_check_lib_save_LIBS=$LIBS
|
||||
LIBS="-lshare $LIBS"
|
||||
cat >conftest.$ac_ext <<_ACEOF
|
||||
/* confdefs.h. */
|
||||
_ACEOF
|
||||
cat confdefs.h >>conftest.$ac_ext
|
||||
cat >>conftest.$ac_ext <<_ACEOF
|
||||
/* end confdefs.h. */
|
||||
|
||||
/* Override any GCC internal prototype to avoid an error.
|
||||
Use char because int might match the return type of a GCC
|
||||
builtin and then its argument prototype would still apply. */
|
||||
#ifdef __cplusplus
|
||||
extern "C"
|
||||
#endif
|
||||
char sa_init ();
|
||||
int
|
||||
main ()
|
||||
{
|
||||
return sa_init ();
|
||||
;
|
||||
return 0;
|
||||
}
|
||||
_ACEOF
|
||||
rm -f conftest.$ac_objext conftest$ac_exeext
|
||||
if { (ac_try="$ac_link"
|
||||
case "(($ac_try" in
|
||||
*\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
|
||||
*) ac_try_echo=$ac_try;;
|
||||
esac
|
||||
eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
|
||||
$as_echo "$ac_try_echo") >&5
|
||||
(eval "$ac_link") 2>conftest.er1
|
||||
ac_status=$?
|
||||
grep -v '^ *+' conftest.er1 >conftest.err
|
||||
rm -f conftest.er1
|
||||
cat conftest.err >&5
|
||||
$as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
|
||||
(exit $ac_status); } && {
|
||||
test -z "$ac_c_werror_flag" ||
|
||||
test ! -s conftest.err
|
||||
} && test -s conftest$ac_exeext && {
|
||||
test "$cross_compiling" = yes ||
|
||||
$as_test_x conftest$ac_exeext
|
||||
}; then
|
||||
ac_cv_lib_share_sa_init=yes
|
||||
else
|
||||
$as_echo "$as_me: failed program was:" >&5
|
||||
sed 's/^/| /' conftest.$ac_ext >&5
|
||||
|
||||
ac_cv_lib_share_sa_init=no
|
||||
fi
|
||||
|
||||
rm -rf conftest.dSYM
|
||||
rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
|
||||
conftest$ac_exeext conftest.$ac_ext
|
||||
LIBS=$ac_check_lib_save_LIBS
|
||||
fi
|
||||
{ $as_echo "$as_me:$LINENO: result: $ac_cv_lib_share_sa_init" >&5
|
||||
$as_echo "$ac_cv_lib_share_sa_init" >&6; }
|
||||
if test "x$ac_cv_lib_share_sa_init" = x""yes; then
|
||||
|
||||
cat >>confdefs.h <<\_ACEOF
|
||||
#define HAVE_LIBSHARE 1
|
||||
_ACEOF
|
||||
|
||||
fi
|
||||
|
||||
|
||||
|
||||
{ $as_echo "$as_me:$LINENO: checking for ioctl()" >&5
|
||||
$as_echo_n "checking for ioctl()... " >&6; }
|
||||
cat >conftest.$ac_ext <<_ACEOF
|
||||
@ -17446,81 +17371,6 @@ $as_echo_n "checking for target asm dir... " >&6; }
|
||||
$as_echo "$TARGET_ASM_DIR" >&6; }
|
||||
|
||||
|
||||
{ $as_echo "$as_me:$LINENO: checking for sa_init in -lshare" >&5
|
||||
$as_echo_n "checking for sa_init in -lshare... " >&6; }
|
||||
if test "${ac_cv_lib_share_sa_init+set}" = set; then
|
||||
$as_echo_n "(cached) " >&6
|
||||
else
|
||||
ac_check_lib_save_LIBS=$LIBS
|
||||
LIBS="-lshare $LIBS"
|
||||
cat >conftest.$ac_ext <<_ACEOF
|
||||
/* confdefs.h. */
|
||||
_ACEOF
|
||||
cat confdefs.h >>conftest.$ac_ext
|
||||
cat >>conftest.$ac_ext <<_ACEOF
|
||||
/* end confdefs.h. */
|
||||
|
||||
/* Override any GCC internal prototype to avoid an error.
|
||||
Use char because int might match the return type of a GCC
|
||||
builtin and then its argument prototype would still apply. */
|
||||
#ifdef __cplusplus
|
||||
extern "C"
|
||||
#endif
|
||||
char sa_init ();
|
||||
int
|
||||
main ()
|
||||
{
|
||||
return sa_init ();
|
||||
;
|
||||
return 0;
|
||||
}
|
||||
_ACEOF
|
||||
rm -f conftest.$ac_objext conftest$ac_exeext
|
||||
if { (ac_try="$ac_link"
|
||||
case "(($ac_try" in
|
||||
*\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
|
||||
*) ac_try_echo=$ac_try;;
|
||||
esac
|
||||
eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
|
||||
$as_echo "$ac_try_echo") >&5
|
||||
(eval "$ac_link") 2>conftest.er1
|
||||
ac_status=$?
|
||||
grep -v '^ *+' conftest.er1 >conftest.err
|
||||
rm -f conftest.er1
|
||||
cat conftest.err >&5
|
||||
$as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
|
||||
(exit $ac_status); } && {
|
||||
test -z "$ac_c_werror_flag" ||
|
||||
test ! -s conftest.err
|
||||
} && test -s conftest$ac_exeext && {
|
||||
test "$cross_compiling" = yes ||
|
||||
$as_test_x conftest$ac_exeext
|
||||
}; then
|
||||
ac_cv_lib_share_sa_init=yes
|
||||
else
|
||||
$as_echo "$as_me: failed program was:" >&5
|
||||
sed 's/^/| /' conftest.$ac_ext >&5
|
||||
|
||||
ac_cv_lib_share_sa_init=no
|
||||
fi
|
||||
|
||||
rm -rf conftest.dSYM
|
||||
rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
|
||||
conftest$ac_exeext conftest.$ac_ext
|
||||
LIBS=$ac_check_lib_save_LIBS
|
||||
fi
|
||||
{ $as_echo "$as_me:$LINENO: result: $ac_cv_lib_share_sa_init" >&5
|
||||
$as_echo "$ac_cv_lib_share_sa_init" >&6; }
|
||||
if test "x$ac_cv_lib_share_sa_init" = x""yes; then
|
||||
|
||||
cat >>confdefs.h <<\_ACEOF
|
||||
#define HAVE_LIBSHARE 1
|
||||
_ACEOF
|
||||
|
||||
fi
|
||||
|
||||
|
||||
|
||||
{ $as_echo "$as_me:$LINENO: checking for ioctl()" >&5
|
||||
$as_echo_n "checking for ioctl()... " >&6; }
|
||||
cat >conftest.$ac_ext <<_ACEOF
|
||||
|
@ -64,7 +64,6 @@ am__aclocal_m4_deps = \
|
||||
$(top_srcdir)/config/user-frame-larger-than.m4 \
|
||||
$(top_srcdir)/config/user-ioctl.m4 \
|
||||
$(top_srcdir)/config/user-libblkid.m4 \
|
||||
$(top_srcdir)/config/user-libshare.m4 \
|
||||
$(top_srcdir)/config/user-libuuid.m4 \
|
||||
$(top_srcdir)/config/user-nptl_guard_within_stack.m4 \
|
||||
$(top_srcdir)/config/user-selinux.m4 \
|
||||
|
@ -64,7 +64,6 @@ am__aclocal_m4_deps = \
|
||||
$(top_srcdir)/config/user-frame-larger-than.m4 \
|
||||
$(top_srcdir)/config/user-ioctl.m4 \
|
||||
$(top_srcdir)/config/user-libblkid.m4 \
|
||||
$(top_srcdir)/config/user-libshare.m4 \
|
||||
$(top_srcdir)/config/user-libuuid.m4 \
|
||||
$(top_srcdir)/config/user-nptl_guard_within_stack.m4 \
|
||||
$(top_srcdir)/config/user-selinux.m4 \
|
||||
|
@ -64,7 +64,6 @@ am__aclocal_m4_deps = \
|
||||
$(top_srcdir)/config/user-frame-larger-than.m4 \
|
||||
$(top_srcdir)/config/user-ioctl.m4 \
|
||||
$(top_srcdir)/config/user-libblkid.m4 \
|
||||
$(top_srcdir)/config/user-libshare.m4 \
|
||||
$(top_srcdir)/config/user-libuuid.m4 \
|
||||
$(top_srcdir)/config/user-nptl_guard_within_stack.m4 \
|
||||
$(top_srcdir)/config/user-selinux.m4 \
|
||||
|
@ -64,7 +64,6 @@ am__aclocal_m4_deps = \
|
||||
$(top_srcdir)/config/user-frame-larger-than.m4 \
|
||||
$(top_srcdir)/config/user-ioctl.m4 \
|
||||
$(top_srcdir)/config/user-libblkid.m4 \
|
||||
$(top_srcdir)/config/user-libshare.m4 \
|
||||
$(top_srcdir)/config/user-libuuid.m4 \
|
||||
$(top_srcdir)/config/user-nptl_guard_within_stack.m4 \
|
||||
$(top_srcdir)/config/user-selinux.m4 \
|
||||
|
@ -64,7 +64,6 @@ am__aclocal_m4_deps = \
|
||||
$(top_srcdir)/config/user-frame-larger-than.m4 \
|
||||
$(top_srcdir)/config/user-ioctl.m4 \
|
||||
$(top_srcdir)/config/user-libblkid.m4 \
|
||||
$(top_srcdir)/config/user-libshare.m4 \
|
||||
$(top_srcdir)/config/user-libuuid.m4 \
|
||||
$(top_srcdir)/config/user-nptl_guard_within_stack.m4 \
|
||||
$(top_srcdir)/config/user-selinux.m4 \
|
||||
|
@ -64,7 +64,6 @@ am__aclocal_m4_deps = \
|
||||
$(top_srcdir)/config/user-frame-larger-than.m4 \
|
||||
$(top_srcdir)/config/user-ioctl.m4 \
|
||||
$(top_srcdir)/config/user-libblkid.m4 \
|
||||
$(top_srcdir)/config/user-libshare.m4 \
|
||||
$(top_srcdir)/config/user-libuuid.m4 \
|
||||
$(top_srcdir)/config/user-nptl_guard_within_stack.m4 \
|
||||
$(top_srcdir)/config/user-selinux.m4 \
|
||||
|
@ -62,7 +62,6 @@ am__aclocal_m4_deps = \
|
||||
$(top_srcdir)/config/user-frame-larger-than.m4 \
|
||||
$(top_srcdir)/config/user-ioctl.m4 \
|
||||
$(top_srcdir)/config/user-libblkid.m4 \
|
||||
$(top_srcdir)/config/user-libshare.m4 \
|
||||
$(top_srcdir)/config/user-libuuid.m4 \
|
||||
$(top_srcdir)/config/user-nptl_guard_within_stack.m4 \
|
||||
$(top_srcdir)/config/user-selinux.m4 \
|
||||
|
@ -64,7 +64,6 @@ am__aclocal_m4_deps = \
|
||||
$(top_srcdir)/config/user-frame-larger-than.m4 \
|
||||
$(top_srcdir)/config/user-ioctl.m4 \
|
||||
$(top_srcdir)/config/user-libblkid.m4 \
|
||||
$(top_srcdir)/config/user-libshare.m4 \
|
||||
$(top_srcdir)/config/user-libuuid.m4 \
|
||||
$(top_srcdir)/config/user-nptl_guard_within_stack.m4 \
|
||||
$(top_srcdir)/config/user-selinux.m4 \
|
||||
|
@ -64,7 +64,6 @@ am__aclocal_m4_deps = \
|
||||
$(top_srcdir)/config/user-frame-larger-than.m4 \
|
||||
$(top_srcdir)/config/user-ioctl.m4 \
|
||||
$(top_srcdir)/config/user-libblkid.m4 \
|
||||
$(top_srcdir)/config/user-libshare.m4 \
|
||||
$(top_srcdir)/config/user-libuuid.m4 \
|
||||
$(top_srcdir)/config/user-nptl_guard_within_stack.m4 \
|
||||
$(top_srcdir)/config/user-selinux.m4 \
|
||||
|
@ -64,7 +64,6 @@ am__aclocal_m4_deps = \
|
||||
$(top_srcdir)/config/user-frame-larger-than.m4 \
|
||||
$(top_srcdir)/config/user-ioctl.m4 \
|
||||
$(top_srcdir)/config/user-libblkid.m4 \
|
||||
$(top_srcdir)/config/user-libshare.m4 \
|
||||
$(top_srcdir)/config/user-libuuid.m4 \
|
||||
$(top_srcdir)/config/user-nptl_guard_within_stack.m4 \
|
||||
$(top_srcdir)/config/user-selinux.m4 \
|
||||
|
@ -64,7 +64,6 @@ am__aclocal_m4_deps = \
|
||||
$(top_srcdir)/config/user-frame-larger-than.m4 \
|
||||
$(top_srcdir)/config/user-ioctl.m4 \
|
||||
$(top_srcdir)/config/user-libblkid.m4 \
|
||||
$(top_srcdir)/config/user-libshare.m4 \
|
||||
$(top_srcdir)/config/user-libuuid.m4 \
|
||||
$(top_srcdir)/config/user-nptl_guard_within_stack.m4 \
|
||||
$(top_srcdir)/config/user-selinux.m4 \
|
||||
|
@ -63,7 +63,6 @@ am__aclocal_m4_deps = \
|
||||
$(top_srcdir)/config/user-frame-larger-than.m4 \
|
||||
$(top_srcdir)/config/user-ioctl.m4 \
|
||||
$(top_srcdir)/config/user-libblkid.m4 \
|
||||
$(top_srcdir)/config/user-libshare.m4 \
|
||||
$(top_srcdir)/config/user-libuuid.m4 \
|
||||
$(top_srcdir)/config/user-nptl_guard_within_stack.m4 \
|
||||
$(top_srcdir)/config/user-selinux.m4 \
|
||||
|
@ -64,7 +64,6 @@ am__aclocal_m4_deps = \
|
||||
$(top_srcdir)/config/user-frame-larger-than.m4 \
|
||||
$(top_srcdir)/config/user-ioctl.m4 \
|
||||
$(top_srcdir)/config/user-libblkid.m4 \
|
||||
$(top_srcdir)/config/user-libshare.m4 \
|
||||
$(top_srcdir)/config/user-libuuid.m4 \
|
||||
$(top_srcdir)/config/user-nptl_guard_within_stack.m4 \
|
||||
$(top_srcdir)/config/user-selinux.m4 \
|
||||
|
@ -64,7 +64,6 @@ am__aclocal_m4_deps = \
|
||||
$(top_srcdir)/config/user-frame-larger-than.m4 \
|
||||
$(top_srcdir)/config/user-ioctl.m4 \
|
||||
$(top_srcdir)/config/user-libblkid.m4 \
|
||||
$(top_srcdir)/config/user-libshare.m4 \
|
||||
$(top_srcdir)/config/user-libuuid.m4 \
|
||||
$(top_srcdir)/config/user-nptl_guard_within_stack.m4 \
|
||||
$(top_srcdir)/config/user-selinux.m4 \
|
||||
|
@ -64,7 +64,6 @@ am__aclocal_m4_deps = \
|
||||
$(top_srcdir)/config/user-frame-larger-than.m4 \
|
||||
$(top_srcdir)/config/user-ioctl.m4 \
|
||||
$(top_srcdir)/config/user-libblkid.m4 \
|
||||
$(top_srcdir)/config/user-libshare.m4 \
|
||||
$(top_srcdir)/config/user-libuuid.m4 \
|
||||
$(top_srcdir)/config/user-nptl_guard_within_stack.m4 \
|
||||
$(top_srcdir)/config/user-selinux.m4 \
|
||||
|
@ -62,7 +62,6 @@ am__aclocal_m4_deps = \
|
||||
$(top_srcdir)/config/user-frame-larger-than.m4 \
|
||||
$(top_srcdir)/config/user-ioctl.m4 \
|
||||
$(top_srcdir)/config/user-libblkid.m4 \
|
||||
$(top_srcdir)/config/user-libshare.m4 \
|
||||
$(top_srcdir)/config/user-libuuid.m4 \
|
||||
$(top_srcdir)/config/user-nptl_guard_within_stack.m4 \
|
||||
$(top_srcdir)/config/user-selinux.m4 \
|
||||
|
@ -64,7 +64,6 @@ am__aclocal_m4_deps = \
|
||||
$(top_srcdir)/config/user-frame-larger-than.m4 \
|
||||
$(top_srcdir)/config/user-ioctl.m4 \
|
||||
$(top_srcdir)/config/user-libblkid.m4 \
|
||||
$(top_srcdir)/config/user-libshare.m4 \
|
||||
$(top_srcdir)/config/user-libuuid.m4 \
|
||||
$(top_srcdir)/config/user-nptl_guard_within_stack.m4 \
|
||||
$(top_srcdir)/config/user-selinux.m4 \
|
||||
|
@ -23,12 +23,20 @@
|
||||
* Copyright 2008 Sun Microsystems, Inc. All rights reserved.
|
||||
* Use is subject to license terms.
|
||||
*/
|
||||
|
||||
/*
|
||||
* basic API declarations for share management
|
||||
*/
|
||||
|
||||
#ifndef _LIBSPL_LIBSHARE_H
|
||||
#define _LIBSPL_LIBSHARE_H
|
||||
|
||||
typedef void *sa_handle_t; /* opaque handle to access core functions */
|
||||
typedef void *sa_group_t;
|
||||
typedef void *sa_share_t;
|
||||
|
||||
/* API Initialization */
|
||||
#define SA_INIT_SHARE_API 0x0001 /* init share specific interface */
|
||||
#define SA_INIT_CONTROL_API 0x0002 /* init control specific interface */
|
||||
|
||||
/* Error values */
|
||||
#define SA_OK 0
|
||||
#define SA_NO_MEMORY 2 /* no memory for data structures */
|
||||
#define SA_CONFIG_ERR 6 /* system configuration error */
|
||||
|
||||
#endif /* _LIBSPL_LIBSHARE_H */
|
||||
|
@ -64,7 +64,6 @@ am__aclocal_m4_deps = \
|
||||
$(top_srcdir)/config/user-frame-larger-than.m4 \
|
||||
$(top_srcdir)/config/user-ioctl.m4 \
|
||||
$(top_srcdir)/config/user-libblkid.m4 \
|
||||
$(top_srcdir)/config/user-libshare.m4 \
|
||||
$(top_srcdir)/config/user-libuuid.m4 \
|
||||
$(top_srcdir)/config/user-nptl_guard_within_stack.m4 \
|
||||
$(top_srcdir)/config/user-selinux.m4 \
|
||||
|
@ -64,7 +64,6 @@ am__aclocal_m4_deps = \
|
||||
$(top_srcdir)/config/user-frame-larger-than.m4 \
|
||||
$(top_srcdir)/config/user-ioctl.m4 \
|
||||
$(top_srcdir)/config/user-libblkid.m4 \
|
||||
$(top_srcdir)/config/user-libshare.m4 \
|
||||
$(top_srcdir)/config/user-libuuid.m4 \
|
||||
$(top_srcdir)/config/user-nptl_guard_within_stack.m4 \
|
||||
$(top_srcdir)/config/user-selinux.m4 \
|
||||
|
@ -64,7 +64,6 @@ am__aclocal_m4_deps = \
|
||||
$(top_srcdir)/config/user-frame-larger-than.m4 \
|
||||
$(top_srcdir)/config/user-ioctl.m4 \
|
||||
$(top_srcdir)/config/user-libblkid.m4 \
|
||||
$(top_srcdir)/config/user-libshare.m4 \
|
||||
$(top_srcdir)/config/user-libuuid.m4 \
|
||||
$(top_srcdir)/config/user-nptl_guard_within_stack.m4 \
|
||||
$(top_srcdir)/config/user-selinux.m4 \
|
||||
|
@ -64,7 +64,6 @@ am__aclocal_m4_deps = \
|
||||
$(top_srcdir)/config/user-frame-larger-than.m4 \
|
||||
$(top_srcdir)/config/user-ioctl.m4 \
|
||||
$(top_srcdir)/config/user-libblkid.m4 \
|
||||
$(top_srcdir)/config/user-libshare.m4 \
|
||||
$(top_srcdir)/config/user-libuuid.m4 \
|
||||
$(top_srcdir)/config/user-nptl_guard_within_stack.m4 \
|
||||
$(top_srcdir)/config/user-selinux.m4 \
|
||||
|
@ -64,7 +64,6 @@ am__aclocal_m4_deps = \
|
||||
$(top_srcdir)/config/user-frame-larger-than.m4 \
|
||||
$(top_srcdir)/config/user-ioctl.m4 \
|
||||
$(top_srcdir)/config/user-libblkid.m4 \
|
||||
$(top_srcdir)/config/user-libshare.m4 \
|
||||
$(top_srcdir)/config/user-libuuid.m4 \
|
||||
$(top_srcdir)/config/user-nptl_guard_within_stack.m4 \
|
||||
$(top_srcdir)/config/user-selinux.m4 \
|
||||
|
@ -64,7 +64,6 @@ am__aclocal_m4_deps = \
|
||||
$(top_srcdir)/config/user-frame-larger-than.m4 \
|
||||
$(top_srcdir)/config/user-ioctl.m4 \
|
||||
$(top_srcdir)/config/user-libblkid.m4 \
|
||||
$(top_srcdir)/config/user-libshare.m4 \
|
||||
$(top_srcdir)/config/user-libuuid.m4 \
|
||||
$(top_srcdir)/config/user-nptl_guard_within_stack.m4 \
|
||||
$(top_srcdir)/config/user-selinux.m4 \
|
||||
|
@ -64,7 +64,6 @@ am__aclocal_m4_deps = \
|
||||
$(top_srcdir)/config/user-frame-larger-than.m4 \
|
||||
$(top_srcdir)/config/user-ioctl.m4 \
|
||||
$(top_srcdir)/config/user-libblkid.m4 \
|
||||
$(top_srcdir)/config/user-libshare.m4 \
|
||||
$(top_srcdir)/config/user-libuuid.m4 \
|
||||
$(top_srcdir)/config/user-nptl_guard_within_stack.m4 \
|
||||
$(top_srcdir)/config/user-selinux.m4 \
|
||||
|
@ -64,7 +64,6 @@ am__aclocal_m4_deps = \
|
||||
$(top_srcdir)/config/user-frame-larger-than.m4 \
|
||||
$(top_srcdir)/config/user-ioctl.m4 \
|
||||
$(top_srcdir)/config/user-libblkid.m4 \
|
||||
$(top_srcdir)/config/user-libshare.m4 \
|
||||
$(top_srcdir)/config/user-libuuid.m4 \
|
||||
$(top_srcdir)/config/user-nptl_guard_within_stack.m4 \
|
||||
$(top_srcdir)/config/user-selinux.m4 \
|
||||
|
@ -121,20 +121,21 @@ zfs_share_proto_t share_all_proto[] = {
|
||||
};
|
||||
|
||||
/*
|
||||
* Search the sharetab for the given mountpoint and protocol, returning
|
||||
* Search for NFS and SMB exports for the given mountpoint and protocol, returning
|
||||
* a zfs_share_type_t value.
|
||||
*/
|
||||
static zfs_share_type_t
|
||||
is_shared(libzfs_handle_t *hdl, const char *mountpoint, zfs_share_proto_t proto)
|
||||
{
|
||||
char buf[MAXPATHLEN], *tab;
|
||||
char *ptr;
|
||||
|
||||
if (hdl->libzfs_sharetab == NULL)
|
||||
return (SHARED_NOT_SHARED);
|
||||
|
||||
(void) fseek(hdl->libzfs_sharetab, 0, SEEK_SET);
|
||||
|
||||
/* Search /etc/exports for NFS exports */
|
||||
/* FIXME: Assumes the file is tab delimited. */
|
||||
while (fgets(buf, sizeof (buf), hdl->libzfs_sharetab) != NULL) {
|
||||
|
||||
/* the mountpoint is the first entry on each line */
|
||||
@ -143,31 +144,15 @@ is_shared(libzfs_handle_t *hdl, const char *mountpoint, zfs_share_proto_t proto)
|
||||
|
||||
*tab = '\0';
|
||||
if (strcmp(buf, mountpoint) == 0) {
|
||||
/*
|
||||
* the protocol field is the third field
|
||||
* skip over second field
|
||||
*/
|
||||
ptr = ++tab;
|
||||
if ((tab = strchr(ptr, '\t')) == NULL)
|
||||
continue;
|
||||
ptr = ++tab;
|
||||
if ((tab = strchr(ptr, '\t')) == NULL)
|
||||
continue;
|
||||
*tab = '\0';
|
||||
if (strcmp(ptr,
|
||||
proto_table[proto].p_name) == 0) {
|
||||
switch (proto) {
|
||||
case PROTO_NFS:
|
||||
return (SHARED_NFS);
|
||||
case PROTO_SMB:
|
||||
return (SHARED_SMB);
|
||||
default:
|
||||
return (0);
|
||||
}
|
||||
}
|
||||
if (proto == PROTO_NFS)
|
||||
return (SHARED_NFS);
|
||||
else
|
||||
return (SHARED_NOT_SHARED);
|
||||
}
|
||||
}
|
||||
|
||||
/* XXX: Search /etc/samba/smb.conf for SMB exports, return SHARED_SMB */
|
||||
|
||||
return (SHARED_NOT_SHARED);
|
||||
}
|
||||
|
||||
@ -808,10 +793,12 @@ zfs_share_proto(zfs_handle_t *zhp, zfs_share_proto_t *proto)
|
||||
return (0);
|
||||
|
||||
if ((ret = zfs_init_libshare(hdl, SA_INIT_SHARE_API)) != SA_OK) {
|
||||
#ifdef HAVE_SHARE
|
||||
(void) zfs_error_fmt(hdl, EZFS_SHARENFSFAILED,
|
||||
dgettext(TEXT_DOMAIN, "cannot share '%s': %s"),
|
||||
zfs_get_name(zhp), _sa_errorstr != NULL ?
|
||||
_sa_errorstr(ret) : "");
|
||||
#endif /* HAVE_SHARE */
|
||||
return (-1);
|
||||
}
|
||||
|
||||
|
@ -64,7 +64,6 @@ am__aclocal_m4_deps = \
|
||||
$(top_srcdir)/config/user-frame-larger-than.m4 \
|
||||
$(top_srcdir)/config/user-ioctl.m4 \
|
||||
$(top_srcdir)/config/user-libblkid.m4 \
|
||||
$(top_srcdir)/config/user-libshare.m4 \
|
||||
$(top_srcdir)/config/user-libuuid.m4 \
|
||||
$(top_srcdir)/config/user-nptl_guard_within_stack.m4 \
|
||||
$(top_srcdir)/config/user-selinux.m4 \
|
||||
|
@ -62,7 +62,6 @@ am__aclocal_m4_deps = \
|
||||
$(top_srcdir)/config/user-frame-larger-than.m4 \
|
||||
$(top_srcdir)/config/user-ioctl.m4 \
|
||||
$(top_srcdir)/config/user-libblkid.m4 \
|
||||
$(top_srcdir)/config/user-libshare.m4 \
|
||||
$(top_srcdir)/config/user-libuuid.m4 \
|
||||
$(top_srcdir)/config/user-nptl_guard_within_stack.m4 \
|
||||
$(top_srcdir)/config/user-selinux.m4 \
|
||||
|
@ -62,7 +62,6 @@ am__aclocal_m4_deps = \
|
||||
$(top_srcdir)/config/user-frame-larger-than.m4 \
|
||||
$(top_srcdir)/config/user-ioctl.m4 \
|
||||
$(top_srcdir)/config/user-libblkid.m4 \
|
||||
$(top_srcdir)/config/user-libshare.m4 \
|
||||
$(top_srcdir)/config/user-libuuid.m4 \
|
||||
$(top_srcdir)/config/user-nptl_guard_within_stack.m4 \
|
||||
$(top_srcdir)/config/user-selinux.m4 \
|
||||
|
@ -63,7 +63,6 @@ am__aclocal_m4_deps = \
|
||||
$(top_srcdir)/config/user-frame-larger-than.m4 \
|
||||
$(top_srcdir)/config/user-ioctl.m4 \
|
||||
$(top_srcdir)/config/user-libblkid.m4 \
|
||||
$(top_srcdir)/config/user-libshare.m4 \
|
||||
$(top_srcdir)/config/user-libuuid.m4 \
|
||||
$(top_srcdir)/config/user-nptl_guard_within_stack.m4 \
|
||||
$(top_srcdir)/config/user-selinux.m4 \
|
||||
|
@ -63,7 +63,6 @@ am__aclocal_m4_deps = \
|
||||
$(top_srcdir)/config/user-frame-larger-than.m4 \
|
||||
$(top_srcdir)/config/user-ioctl.m4 \
|
||||
$(top_srcdir)/config/user-libblkid.m4 \
|
||||
$(top_srcdir)/config/user-libshare.m4 \
|
||||
$(top_srcdir)/config/user-libuuid.m4 \
|
||||
$(top_srcdir)/config/user-nptl_guard_within_stack.m4 \
|
||||
$(top_srcdir)/config/user-selinux.m4 \
|
||||
|
@ -63,7 +63,6 @@ am__aclocal_m4_deps = \
|
||||
$(top_srcdir)/config/user-frame-larger-than.m4 \
|
||||
$(top_srcdir)/config/user-ioctl.m4 \
|
||||
$(top_srcdir)/config/user-libblkid.m4 \
|
||||
$(top_srcdir)/config/user-libshare.m4 \
|
||||
$(top_srcdir)/config/user-libuuid.m4 \
|
||||
$(top_srcdir)/config/user-nptl_guard_within_stack.m4 \
|
||||
$(top_srcdir)/config/user-selinux.m4 \
|
||||
|
@ -63,7 +63,6 @@ am__aclocal_m4_deps = \
|
||||
$(top_srcdir)/config/user-frame-larger-than.m4 \
|
||||
$(top_srcdir)/config/user-ioctl.m4 \
|
||||
$(top_srcdir)/config/user-libblkid.m4 \
|
||||
$(top_srcdir)/config/user-libshare.m4 \
|
||||
$(top_srcdir)/config/user-libuuid.m4 \
|
||||
$(top_srcdir)/config/user-nptl_guard_within_stack.m4 \
|
||||
$(top_srcdir)/config/user-selinux.m4 \
|
||||
|
@ -63,7 +63,6 @@ am__aclocal_m4_deps = \
|
||||
$(top_srcdir)/config/user-frame-larger-than.m4 \
|
||||
$(top_srcdir)/config/user-ioctl.m4 \
|
||||
$(top_srcdir)/config/user-libblkid.m4 \
|
||||
$(top_srcdir)/config/user-libshare.m4 \
|
||||
$(top_srcdir)/config/user-libuuid.m4 \
|
||||
$(top_srcdir)/config/user-nptl_guard_within_stack.m4 \
|
||||
$(top_srcdir)/config/user-selinux.m4 \
|
||||
|
@ -87,9 +87,6 @@
|
||||
/* Define if you have selinux */
|
||||
#undef HAVE_LIBSELINUX
|
||||
|
||||
/* Define to 1 if 'libshare' library available */
|
||||
#undef HAVE_LIBSHARE
|
||||
|
||||
/* Define if you have libuuid */
|
||||
#undef HAVE_LIBUUID
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user