[SCM] Samba Shared Repository - branch master updated
Jeremy Allison
jra at samba.org
Mon Dec 7 20:08:01 UTC 2020
The branch, master has been updated
via 14768d0d544 s4:torture:smb2: remove unused fallback defines in oplock.c
via 30c1c153650 s3:smbd: remove unused fallback defines in oplock_linux.c
via 6d4ce53ecdc s3/wscript: only check for F_SETLEASE being available at compile time
via 1b2e67641f2 s3/wscript: remove unused check for F_NOTIFY
from 058f96f4c4e s4/samba: call force_check_log_size() in standard_new_task()
https://git.samba.org/?p=samba.git;a=shortlog;h=master
- Log -----------------------------------------------------------------
commit 14768d0d54420fe19d914fe4e507cbbf5cb84434
Author: Stefan Metzmacher <metze at samba.org>
Date: Mon Dec 7 12:06:11 2020 +0100
s4:torture:smb2: remove unused fallback defines in oplock.c
F_SETLEASE/F_SETSIG were all included in the kernel
and glibc in 2002, there's no need to have fallbacks 18 years later.
Signed-off-by: Stefan Metzmacher <metze at samba.org>
Reviewed-by: Jeremy Allison <jra at samba.org>
Autobuild-User(master): Jeremy Allison <jra at samba.org>
Autobuild-Date(master): Mon Dec 7 20:07:18 UTC 2020 on sn-devel-184
commit 30c1c153650ec23860b59bbcd86bb8e6a1460c42
Author: Stefan Metzmacher <metze at samba.org>
Date: Mon Dec 7 12:06:11 2020 +0100
s3:smbd: remove unused fallback defines in oplock_linux.c
F_GETLEASE/F_SETLEASE/F_SETSIG were all included in the kernel
and glibc in 2002, there's no need to have fallbacks 18 years later.
Signed-off-by: Stefan Metzmacher <metze at samba.org>
Reviewed-by: Jeremy Allison <jra at samba.org>
commit 6d4ce53ecdc92cd9693b8e63166ec672209b7268
Author: Stefan Metzmacher <metze at samba.org>
Date: Mon Dec 7 11:38:59 2020 +0100
s3/wscript: only check for F_SETLEASE being available at compile time
F_GETLEASE/F_SETLEASE are available (at least) since Linux 2.4.0 from
2002.
We also should not have the configure check depend on the filesystem
we find at build time. It's very common that the build-environment is
much more restricted than the runtime-environment will be.
As a history we had this check on Samba 3.6:
AC_CACHE_CHECK([for Linux kernel oplocks],samba_cv_HAVE_KERNEL_OPLOCKS_LINUX,[
AC_TRY_RUN([
#include <sys/types.h>
#include <fcntl.h>
#ifndef F_GETLEASE
#define F_GETLEASE 1025
#endif
main() {
int fd = open("/dev/null", O_RDONLY);
return fcntl(fd, F_GETLEASE, 0) == -1;
}
],
samba_cv_HAVE_KERNEL_OPLOCKS_LINUX=yes,samba_cv_HAVE_KERNEL_OPLOCKS_LINUX=no,samba_cv_HAVE_KERNEL_OPLOCKS_LINUX=cross)])
if test x"$samba_cv_HAVE_KERNEL_OPLOCKS_LINUX" = x"yes"; then
AC_DEFINE(HAVE_KERNEL_OPLOCKS_LINUX,1,[Whether to use linux kernel oplocks])
fi
which didn't depend on the filesystem.
Then we got a broken check introduced in Samba 4.0 (a copy of the
F_NOTIFY check):
# Check for Linux kernel oplocks
conf.CHECK_CODE('''
#include <sys/types.h>
#include <fcntl.h>
#include <signal.h>
#ifndef F_NOTIFY
#define F_NOTIFY 1026
#endif
main() {
exit(fcntl(open("/tmp", O_RDONLY), F_NOTIFY, 0) == -1 ? 1 : 0);
}''', 'HAVE_KERNEL_OPLOCKS_LINUX', addmain=False, execute=True,
msg="Checking for Linux kernel oplocks")
this got "fixed" in Samba 4.7 (and backports to 4.6, 4.5 and 4.4) into
# Check for Linux kernel oplocks
conf.CHECK_CODE('''
#include <sys/types.h>
#include <fcntl.h>
#include <signal.h>
#ifndef F_GETLEASE
#define F_GETLEASE 1025
#endif
main() {
exit(fcntl(open("/tmp", O_RDONLY), F_GETLEASE, 0) == -1 ? 1 : 0);
}''', 'HAVE_KERNEL_OPLOCKS_LINUX', addmain=False, execute=True,
msg="Checking for Linux kernel oplocks")
Lately it became dependend on the filesystem in the build-environment:
# Check for Linux kernel oplocks
conf.CHECK_CODE('''
#include <sys/types.h>
#include <fcntl.h>
#include <signal.h>
#ifndef F_GETLEASE
#define F_GETLEASE 1025
#endif
main() {
const char *fname="/tmp/oplock-test.txt";
int fd = open(fname, O_RDWR|O_CREAT, 0644);
int ret = fcntl(fd, F_SETLEASE, F_WRLCK);
unlink(fname);
return (ret == -1) ? 1 : 0;
}''', 'HAVE_KERNEL_OPLOCKS_LINUX', addmain=False, execute=True,
msg="Checking for Linux kernel oplocks")
Now we just check for F_SETLEASE being available in linux/fcntl.h.
Signed-off-by: Stefan Metzmacher <metze at samba.org>
Reviewed-by: Jeremy Allison <jra at samba.org>
commit 1b2e67641f2df766d099696a11e7b5122f5851cf
Author: Stefan Metzmacher <metze at samba.org>
Date: Mon Dec 7 11:24:43 2020 +0100
s3/wscript: remove unused check for F_NOTIFY
There're no references to F_NOTIFY nor HAVE_KERNEL_CHANGE_NOTIFY in the
code, so the configure check is not needed at all.
We only use the inotify or fam abstractions.
Signed-off-by: Stefan Metzmacher <metze at samba.org>
Reviewed-by: Jeremy Allison <jra at samba.org>
-----------------------------------------------------------------------
Summary of changes:
source3/smbd/oplock_linux.c | 12 ------------
source3/wscript | 28 ++--------------------------
source4/ntvfs/sysdep/wscript_configure | 1 -
source4/torture/smb2/oplock.c | 8 --------
4 files changed, 2 insertions(+), 47 deletions(-)
Changeset truncated at 500 lines:
diff --git a/source3/smbd/oplock_linux.c b/source3/smbd/oplock_linux.c
index 44ed976b92c..a4f79297abd 100644
--- a/source3/smbd/oplock_linux.c
+++ b/source3/smbd/oplock_linux.c
@@ -25,22 +25,10 @@
#ifdef HAVE_KERNEL_OPLOCKS_LINUX
-#ifndef F_SETLEASE
-#define F_SETLEASE 1024
-#endif
-
-#ifndef F_GETLEASE
-#define F_GETLEASE 1025
-#endif
-
#ifndef RT_SIGNAL_LEASE
#define RT_SIGNAL_LEASE (SIGRTMIN+1)
#endif
-#ifndef F_SETSIG
-#define F_SETSIG 10
-#endif
-
/*
* Call to set the kernel lease signal handler
*/
diff --git a/source3/wscript b/source3/wscript
index a370fae667f..ba02a3586b9 100644
--- a/source3/wscript
+++ b/source3/wscript
@@ -165,33 +165,9 @@ long ret = splice(0,0,1,0,400,SPLICE_F_MOVE);
if conf.env.HAVE_SYS_INOTIFY_H:
conf.DEFINE('HAVE_INOTIFY', 1)
- # Check for kernel change notify support
- conf.CHECK_CODE('''
-#ifndef F_NOTIFY
-#define F_NOTIFY 1026
-#endif
-main() {
- exit(fcntl(open("/tmp", O_RDONLY), F_NOTIFY, 0) == -1 ? 1 : 0);
-}''', 'HAVE_KERNEL_CHANGE_NOTIFY', addmain=False, execute=True,
- headers='fcntl.h signal.h',
- msg="Checking for kernel change notify support")
-
# Check for Linux kernel oplocks
- conf.CHECK_CODE('''
-#include <sys/types.h>
-#include <fcntl.h>
-#include <signal.h>
-#ifndef F_GETLEASE
-#define F_GETLEASE 1025
-#endif
-int main() {
- const char *fname="/tmp/oplock-test.txt";
- int fd = open(fname, O_RDWR|O_CREAT, 0644);
- int ret = fcntl(fd, F_SETLEASE, F_WRLCK);
- unlink(fname);
- return (ret == -1) ? 1 : 0;
-}''', 'HAVE_KERNEL_OPLOCKS_LINUX', addmain=False, execute=True,
- msg="Checking for Linux kernel oplocks")
+ if conf.CHECK_DECLS('F_SETLEASE', headers='linux/fcntl.h', reverse=True):
+ conf.DEFINE('HAVE_KERNEL_OPLOCKS_LINUX', 1)
# Check for kernel share modes
conf.CHECK_CODE('''
diff --git a/source4/ntvfs/sysdep/wscript_configure b/source4/ntvfs/sysdep/wscript_configure
index 274fc08b581..20358848cd3 100644
--- a/source4/ntvfs/sysdep/wscript_configure
+++ b/source4/ntvfs/sysdep/wscript_configure
@@ -10,5 +10,4 @@ if host_os.rfind('sunos') == -1:
if (conf.CONFIG_SET('HAVE_SYS_INOTIFY_H')):
conf.DEFINE('HAVE_LINUX_INOTIFY', 1)
-conf.CHECK_DECLS('F_SETLEASE', headers='linux/fcntl.h', reverse=True)
conf.CHECK_DECLS('SA_SIGINFO', headers='signal.h', reverse=True)
diff --git a/source4/torture/smb2/oplock.c b/source4/torture/smb2/oplock.c
index a30657ef596..ad9ef625a5a 100644
--- a/source4/torture/smb2/oplock.c
+++ b/source4/torture/smb2/oplock.c
@@ -5079,18 +5079,10 @@ done:
#ifdef HAVE_KERNEL_OPLOCKS_LINUX
-#ifndef F_SETLEASE
-#define F_SETLEASE 1024
-#endif
-
#ifndef RT_SIGNAL_LEASE
#define RT_SIGNAL_LEASE (SIGRTMIN+1)
#endif
-#ifndef F_SETSIG
-#define F_SETSIG 10
-#endif
-
static int got_break;
/*
--
Samba Shared Repository
More information about the samba-cvs
mailing list