From 6fc8dc98ab0de1f2de7d086eee299d89f0527b6e Mon Sep 17 00:00:00 2001 From: Stefan Metzmacher Date: Tue, 13 Dec 2011 13:38:41 +0100 Subject: [PATCH] s3:smbd/oplock: pass smbd_server_connection to onefs_init_kernel_oplocks() metze --- source3/smbd/oplock.c | 2 +- source3/smbd/oplock_onefs.c | 6 ++++-- source3/smbd/proto.h | 2 +- 3 files changed, 6 insertions(+), 4 deletions(-) diff --git a/source3/smbd/oplock.c b/source3/smbd/oplock.c index fd02fbf60ae..a414b72d313 100644 --- a/source3/smbd/oplock.c +++ b/source3/smbd/oplock.c @@ -958,7 +958,7 @@ bool init_oplocks(struct smbd_server_connection *sconn) koplocks = linux_init_kernel_oplocks(sconn); #elif HAVE_ONEFS #error Isilon, please check if the NULL context is okay here. Thanks! - koplocks = onefs_init_kernel_oplocks(NULL); + koplocks = onefs_init_kernel_oplocks(sconn); #endif } diff --git a/source3/smbd/oplock_onefs.c b/source3/smbd/oplock_onefs.c index 4717b1faf7d..d7e36087350 100644 --- a/source3/smbd/oplock_onefs.c +++ b/source3/smbd/oplock_onefs.c @@ -34,6 +34,7 @@ struct onefs_oplocks_context { struct kernel_oplocks *ctx; + struct smbd_server_connection *sconn; const struct oplocks_event_ops *onefs_ops; int onefs_event_fd; struct fd_event *read_fde; @@ -663,7 +664,7 @@ static const struct oplocks_event_ops onefs_dispatch_ops = { .semlock_async_failure = semlock_async_failure_handler, }; -struct kernel_oplocks *onefs_init_kernel_oplocks(TALLOC_CTX *mem_ctx) +struct kernel_oplocks *onefs_init_kernel_oplocks(struct smbd_server_connection *sconn) { struct kernel_oplocks *_ctx = NULL; struct onefs_oplocks_context *ctx = NULL; @@ -688,6 +689,7 @@ struct kernel_oplocks *onefs_init_kernel_oplocks(TALLOC_CTX *mem_ctx) if (!ctx) { goto err_out; } + ctx->sconn = sconn; _ctx->ops = &onefs_koplocks_ops; _ctx->flags = (KOPLOCKS_LEVEL2_SUPPORTED | @@ -709,7 +711,7 @@ struct kernel_oplocks *onefs_init_kernel_oplocks(TALLOC_CTX *mem_ctx) DEBUG(10, ("oplock event_fd = %d\n", ctx->onefs_event_fd)); /* Register the oplock event_fd with samba's event system */ - ctx->read_fde = event_add_fd(server_event_context(), + ctx->read_fde = event_add_fd(sconn->ev_ctx, ctx, ctx->onefs_event_fd, EVENT_FD_READ, diff --git a/source3/smbd/proto.h b/source3/smbd/proto.h index 22eeae988ee..d7a7c4e4b51 100644 --- a/source3/smbd/proto.h +++ b/source3/smbd/proto.h @@ -684,7 +684,7 @@ struct kernel_oplocks *linux_init_kernel_oplocks(struct smbd_server_connection * /* The following definitions come from smbd/oplock_onefs.c */ -struct kernel_oplocks *onefs_init_kernel_oplocks(TALLOC_CTX *mem_ctx); +struct kernel_oplocks *onefs_init_kernel_oplocks(struct smbd_server_connection *sconn); /* The following definitions come from smbd/password.c */ -- 2.34.1