[PATCH] Remove contend_level2 kernel oplock callbacks
Volker Lendecke
Volker.Lendecke at SerNet.DE
Tue Aug 21 19:07:51 UTC 2018
Hi!
Review appreciated!
Thanks, Volker
--
SerNet GmbH, Bahnhofsallee 1b, 37081 Göttingen
phone: +49-551-370000-0, fax: +49-551-370000-9
AG Göttingen, HRB 2816, GF: Dr. Johannes Loxen
http://www.sernet.de, mailto:kontakt at sernet.de
Meet us at Storage Developer Conference (SDC)
Santa Clara, CA USA, September 24th-27th 2018
-------------- next part --------------
From 6ab281cf24743aff9e783d962d8bde13b0d9e8c4 Mon Sep 17 00:00:00 2001
From: Volker Lendecke <vl at samba.org>
Date: Thu, 26 Jul 2018 13:08:06 +0200
Subject: [PATCH] smbd: Remove koplocks->contend_level2 callbacks
This was only implemented by onefs in this way. If we get around to use
for example fanotify or something similar, we can either re-add them or
do it in a different way. For now, simplify the code.
Signed-off-by: Volker Lendecke <vl at samba.org>
---
source3/include/smb.h | 4 ----
source3/smbd/oplock.c | 20 +-------------------
source3/smbd/oplock_linux.c | 2 --
3 files changed, 1 insertion(+), 25 deletions(-)
diff --git a/source3/include/smb.h b/source3/include/smb.h
index 9ec65430852..5b3846f8715 100644
--- a/source3/include/smb.h
+++ b/source3/include/smb.h
@@ -700,10 +700,6 @@ struct kernel_oplocks_ops {
files_struct *fsp, int oplock_type);
void (*release_oplock)(struct kernel_oplocks *ctx,
files_struct *fsp, int oplock_type);
- void (*contend_level2_oplocks_begin)(files_struct *fsp,
- enum level2_contention_type type);
- void (*contend_level2_oplocks_end)(files_struct *fsp,
- enum level2_contention_type type);
};
#include "smb_macros.h"
diff --git a/source3/smbd/oplock.c b/source3/smbd/oplock.c
index 2411ab8254e..4dc58ba99b8 100644
--- a/source3/smbd/oplock.c
+++ b/source3/smbd/oplock.c
@@ -1308,31 +1308,13 @@ done:
void smbd_contend_level2_oplocks_begin(files_struct *fsp,
enum level2_contention_type type)
{
- struct smbd_server_connection *sconn = fsp->conn->sconn;
- struct kernel_oplocks *koplocks = sconn->oplocks.kernel_ops;
- bool use_kernel = lp_kernel_oplocks(SNUM(fsp->conn)) &&
- (koplocks != NULL);
-
- if (use_kernel && koplocks->ops->contend_level2_oplocks_begin) {
- koplocks->ops->contend_level2_oplocks_begin(fsp, type);
- return;
- }
-
contend_level2_oplocks_begin_default(fsp, type);
}
void smbd_contend_level2_oplocks_end(files_struct *fsp,
enum level2_contention_type type)
{
- struct smbd_server_connection *sconn = fsp->conn->sconn;
- struct kernel_oplocks *koplocks = sconn->oplocks.kernel_ops;
- bool use_kernel = lp_kernel_oplocks(SNUM(fsp->conn)) &&
- (koplocks != NULL);
-
- /* Only kernel oplocks implement this so far */
- if (use_kernel && koplocks->ops->contend_level2_oplocks_end) {
- koplocks->ops->contend_level2_oplocks_end(fsp, type);
- }
+ return;
}
/****************************************************************************
diff --git a/source3/smbd/oplock_linux.c b/source3/smbd/oplock_linux.c
index 7d1f0404512..f5afdd81abd 100644
--- a/source3/smbd/oplock_linux.c
+++ b/source3/smbd/oplock_linux.c
@@ -220,8 +220,6 @@ static bool linux_oplocks_available(void)
static const struct kernel_oplocks_ops linux_koplocks = {
.set_oplock = linux_set_kernel_oplock,
.release_oplock = linux_release_kernel_oplock,
- .contend_level2_oplocks_begin = NULL,
- .contend_level2_oplocks_end = NULL,
};
struct kernel_oplocks *linux_init_kernel_oplocks(struct smbd_server_connection *sconn)
--
2.11.0
More information about the samba-technical
mailing list