diff options
author | Stefan Metzmacher <metze@samba.org> | 2011-12-13 13:38:41 +0100 |
---|---|---|
committer | Stefan Metzmacher <metze@samba.org> | 2011-12-13 20:31:09 +0100 |
commit | 47e21bcc43a362696c775bf5467e3bf711a99c77 (patch) | |
tree | 933e20c6c79be07e6330e231f31020af050fe8a6 /source3/smbd/oplock_irix.c | |
parent | 17ae2267e346920445ea67253f0a9d82fb3e0e35 (diff) | |
download | samba-47e21bcc43a362696c775bf5467e3bf711a99c77.tar.gz samba-47e21bcc43a362696c775bf5467e3bf711a99c77.tar.bz2 samba-47e21bcc43a362696c775bf5467e3bf711a99c77.zip |
s3:smbd/oplock: pass smbd_server_connection to irix_init_kernel_oplocks()
metze
Diffstat (limited to 'source3/smbd/oplock_irix.c')
-rw-r--r-- | source3/smbd/oplock_irix.c | 12 |
1 files changed, 7 insertions, 5 deletions
diff --git a/source3/smbd/oplock_irix.c b/source3/smbd/oplock_irix.c index ef737efd22..0bc964ffff 100644 --- a/source3/smbd/oplock_irix.c +++ b/source3/smbd/oplock_irix.c @@ -27,6 +27,7 @@ struct irix_oplocks_context { struct kernel_oplocks *ctx; + struct smbd_server_connection *sconn; int write_fd; int read_fd; struct fd_event *read_fde; @@ -184,7 +185,7 @@ static files_struct *irix_oplock_receive_message(struct kernel_oplocks *_ctx) fileid = file_id_create_dev((SMB_DEV_T)os.os_dev, (SMB_INO_T)os.os_ino); - if ((fsp = file_find_di_first(smbd_server_conn, fileid)) == NULL) { + if ((fsp = file_find_di_first(ctx->sconn, fileid)) == NULL) { DEBUG(0,("irix_oplock_receive_message: unable to find open " "file with dev = %x, inode = %.0f\n", (unsigned int)os.os_dev, (double)os.os_ino )); @@ -285,7 +286,7 @@ static void irix_oplocks_read_fde_handler(struct event_context *ev, files_struct *fsp; fsp = irix_oplock_receive_message(ctx->ctx); - break_kernel_oplock(fsp->conn->sconn->msg_ctx, fsp); + break_kernel_oplock(ctx->sconn->msg_ctx, fsp); } /**************************************************************************** @@ -299,7 +300,7 @@ static const struct kernel_oplocks_ops irix_koplocks = { .contend_level2_oplocks_end = NULL, }; -struct kernel_oplocks *irix_init_kernel_oplocks(TALLOC_CTX *mem_ctx) +struct kernel_oplocks *irix_init_kernel_oplocks(struct smbd_server_connection *sconn) { struct kernel_oplocks *_ctx; struct irix_oplocks_context *ctx; @@ -308,7 +309,7 @@ struct kernel_oplocks *irix_init_kernel_oplocks(TALLOC_CTX *mem_ctx) if (!irix_oplocks_available()) return NULL; - _ctx = talloc_zero(mem_ctx, struct kernel_oplocks); + _ctx = talloc_zero(sconn, struct kernel_oplocks); if (!_ctx) { return NULL; } @@ -321,6 +322,7 @@ struct kernel_oplocks *irix_init_kernel_oplocks(TALLOC_CTX *mem_ctx) _ctx->ops = &irix_koplocks; _ctx->private_data = ctx; ctx->ctx = _ctx; + ctx->sconn = sconn; if(pipe(pfd) != 0) { talloc_free(_ctx); @@ -332,7 +334,7 @@ struct kernel_oplocks *irix_init_kernel_oplocks(TALLOC_CTX *mem_ctx) ctx->read_fd = pfd[0]; ctx->write_fd = pfd[1]; - ctx->read_fde = event_add_fd(server_event_context(), + ctx->read_fde = event_add_fd(sconn->ev_ctx, ctx, ctx->read_fd, EVENT_FD_READ, |