[SCM] Samba Shared Repository - branch master updated
Jeremy Allison
jra at samba.org
Thu May 13 12:33:50 MDT 2010
The branch, master has been updated
via 895b99f... Be more forgiving on client oplock break failure (as Windows does). Remove a global.
from ed6fa37... Treat an open of stream ::$DATA as an open of the base file. This fixes a class of SMB_ASSERT failures when doing stream tests.
http://gitweb.samba.org/?p=samba.git;a=shortlog;h=master
- Log -----------------------------------------------------------------
commit 895b99fd6bfb1a65c3ae408bdf381e66783ac385
Author: Jeremy Allison <jra at samba.org>
Date: Thu May 13 11:33:02 2010 -0700
Be more forgiving on client oplock break failure (as Windows does). Remove a global.
Jeremy.
-----------------------------------------------------------------------
Summary of changes:
source3/modules/onefs_open.c | 2 +-
source3/smbd/globals.c | 1 -
source3/smbd/globals.h | 1 -
source3/smbd/open.c | 2 +-
source3/smbd/oplock.c | 4 ----
source3/smbd/oplock_onefs.c | 1 -
6 files changed, 2 insertions(+), 9 deletions(-)
Changeset truncated at 500 lines:
diff --git a/source3/modules/onefs_open.c b/source3/modules/onefs_open.c
index f7d6e07..ac3c5b2 100644
--- a/source3/modules/onefs_open.c
+++ b/source3/modules/onefs_open.c
@@ -591,7 +591,7 @@ NTSTATUS onefs_open_file_ntcreate(connection_struct *conn,
}
/* Ignore oplock requests if oplocks are disabled. */
- if (!lp_oplocks(SNUM(conn)) || global_client_failed_oplock_break ||
+ if (!lp_oplocks(SNUM(conn)) ||
IS_VETO_OPLOCK_PATH(conn, smb_fname->base_name)) {
/* Mask off everything except the private Samba bits. */
oplock_request &= SAMBA_PRIVATE_OPLOCK_MASK;
diff --git a/source3/smbd/globals.c b/source3/smbd/globals.c
index 38ba1a4..10ee5e8 100644
--- a/source3/smbd/globals.c
+++ b/source3/smbd/globals.c
@@ -112,7 +112,6 @@ char *sparse_buf = NULL;
/* Current number of oplocks we have outstanding. */
int32_t exclusive_oplocks_open = 0;
int32_t level_II_oplocks_open = 0;
-bool global_client_failed_oplock_break = false;
struct kernel_oplocks *koplocks = NULL;
int am_parent = 1;
diff --git a/source3/smbd/globals.h b/source3/smbd/globals.h
index 113e343..ad175bc 100644
--- a/source3/smbd/globals.h
+++ b/source3/smbd/globals.h
@@ -122,7 +122,6 @@ extern char *sparse_buf;
/* Current number of oplocks we have outstanding. */
extern int32_t exclusive_oplocks_open;
extern int32_t level_II_oplocks_open;
-extern bool global_client_failed_oplock_break;
extern struct kernel_oplocks *koplocks;
extern int am_parent;
diff --git a/source3/smbd/open.c b/source3/smbd/open.c
index 049ce22..ce69157 100644
--- a/source3/smbd/open.c
+++ b/source3/smbd/open.c
@@ -1593,7 +1593,7 @@ static NTSTATUS open_file_ntcreate(connection_struct *conn,
}
/* ignore any oplock requests if oplocks are disabled */
- if (!lp_oplocks(SNUM(conn)) || global_client_failed_oplock_break ||
+ if (!lp_oplocks(SNUM(conn)) ||
IS_VETO_OPLOCK_PATH(conn, smb_fname->base_name)) {
/* Mask off everything except the private Samba bits. */
oplock_request &= SAMBA_PRIVATE_OPLOCK_MASK;
diff --git a/source3/smbd/oplock.c b/source3/smbd/oplock.c
index 1ff1737..a6702a5 100644
--- a/source3/smbd/oplock.c
+++ b/source3/smbd/oplock.c
@@ -320,10 +320,6 @@ static void oplock_timeout_handler(struct event_context *ctx,
TALLOC_FREE(fsp->oplock_timeout);
DEBUG(0, ("Oplock break failed for file %s -- replying anyway\n",
fsp_str_dbg(fsp)));
- /* Only set this for SMB1.. */
- if (!smbd_server_conn->allow_smb2) {
- global_client_failed_oplock_break = True;
- }
remove_oplock(fsp);
reply_to_oplock_break_requests(fsp);
}
diff --git a/source3/smbd/oplock_onefs.c b/source3/smbd/oplock_onefs.c
index 3811211..9c6287b 100644
--- a/source3/smbd/oplock_onefs.c
+++ b/source3/smbd/oplock_onefs.c
@@ -380,7 +380,6 @@ static void oplock_revoked_handler(uint64_t id)
DEBUG(0,("Level 1 oplock break failed for file %s. Forcefully "
"revoking oplock\n", fsp_str_dbg(fsp)));
- global_client_failed_oplock_break = True;
remove_oplock(fsp);
/*
--
Samba Shared Repository
More information about the samba-cvs
mailing list