[SCM] Samba Shared Repository - branch master updated

Michael Adam obnox at samba.org
Fri Sep 6 07:30:03 MDT 2013


The branch, master has been updated
       via  5c9e10b smbd: Slightly simplify enum_file_close_fn
       via  f9a7ea2 smbd: Slightly simplify do_break_to_none
       via  392889c smbd: Slightly simplify send_break_message
       via  4ecf8b4 smbd: Remove a silly "? true : false"
       via  051b912 smbd: Apply some const to message_to_share_mode_entry
       via  f4e4049 lib: Apply some const to pull_file_id_24
       via  451cde7 smbd: Fix a const warning
       via  1bf10ad smbd: Remove two confusing TALLOC_FREE calls
       via  cdc99b3 smbd: Remove unused should_notify_deferred_opens
       via  e654268 smbd: Apply some const to find_share_mode_entry
       via  aee0f2c smbd: Apply some const to share_modes_identical
       via  a7d7429 smbd: Simplify find_share_mode_entry
      from  196da59 smbd: Remove FORCE_OPLOCK_BREAK_TO_NONE

http://gitweb.samba.org/?p=samba.git;a=shortlog;h=master


- Log -----------------------------------------------------------------
commit 5c9e10b4b9fb9abe7af6058c0513115ddb325500
Author: Volker Lendecke <vl at samba.org>
Date:   Mon Sep 2 09:09:16 2013 +0000

    smbd: Slightly simplify enum_file_close_fn
    
    Signed-off-by: Volker Lendecke <vl at samba.org>
    Reviewed-by: Michael Adam <obnox at samba.org>
    
    Autobuild-User(master): Michael Adam <obnox at samba.org>
    Autobuild-Date(master): Fri Sep  6 15:29:55 CEST 2013 on sn-devel-104

commit f9a7ea2df2aaae8b22cfb209e26ceee3c8252ce0
Author: Volker Lendecke <vl at samba.org>
Date:   Mon Sep 2 09:08:04 2013 +0000

    smbd: Slightly simplify do_break_to_none
    
    Signed-off-by: Volker Lendecke <vl at samba.org>
    Reviewed-by: Michael Adam <obnox at samba.org>

commit 392889c8bcffd0f9eb25ad0586172f2b9476b0b4
Author: Volker Lendecke <vl at samba.org>
Date:   Mon Sep 2 09:06:13 2013 +0000

    smbd: Slightly simplify send_break_message
    
    Signed-off-by: Volker Lendecke <vl at samba.org>
    Reviewed-by: Michael Adam <obnox at samba.org>

commit 4ecf8b4db69e5a7d09c3d269145d7b04914efff3
Author: Volker Lendecke <vl at samba.org>
Date:   Mon Sep 2 09:40:46 2013 +0000

    smbd: Remove a silly "? true : false"
    
    Signed-off-by: Volker Lendecke <vl at samba.org>
    Reviewed-by: Michael Adam <obnox at samba.org>

commit 051b9121bc8e113239f7207a68860b6472d117d4
Author: Volker Lendecke <vl at samba.org>
Date:   Tue Sep 3 11:55:27 2013 +0000

    smbd: Apply some const to message_to_share_mode_entry
    
    Signed-off-by: Volker Lendecke <vl at samba.org>
    Reviewed-by: Michael Adam <obnox at samba.org>

commit f4e40494c07067838dd67f0614dc75fdb6291c41
Author: Volker Lendecke <vl at samba.org>
Date:   Tue Sep 3 11:51:48 2013 +0000

    lib: Apply some const to pull_file_id_24
    
    Signed-off-by: Volker Lendecke <vl at samba.org>
    Reviewed-by: Michael Adam <obnox at samba.org>

commit 451cde7f2ab82ea500a69a6072b28991bf4e13a2
Author: Volker Lendecke <vl at samba.org>
Date:   Thu Aug 29 14:53:01 2013 +0000

    smbd: Fix a const warning
    
    Signed-off-by: Volker Lendecke <vl at samba.org>
    Reviewed-by: Michael Adam <obnox at samba.org>

commit 1bf10ad806512979521336391c627275ffeae040
Author: Volker Lendecke <vl at samba.org>
Date:   Tue Sep 3 09:23:39 2013 +0000

    smbd: Remove two confusing TALLOC_FREE calls
    
    We don't have lck allocated yet at these points. Remove the TALLOC_FREE
    calls that triggered me looking for the get_share_mode_lock calls.
    
    Signed-off-by: Volker Lendecke <vl at samba.org>
    Reviewed-by: Michael Adam <obnox at samba.org>

commit cdc99b362f86cfab839076fba128699ae38d4039
Author: Volker Lendecke <vl at samba.org>
Date:   Tue Sep 3 14:44:45 2013 +0000

    smbd: Remove unused should_notify_deferred_opens
    
    Signed-off-by: Volker Lendecke <vl at samba.org>
    Reviewed-by: Michael Adam <obnox at samba.org>

commit e6542683ca6d65b99972d763ebb4df52826fca1e
Author: Volker Lendecke <vl at samba.org>
Date:   Tue Sep 3 14:40:58 2013 +0000

    smbd: Apply some const to find_share_mode_entry
    
    Signed-off-by: Volker Lendecke <vl at samba.org>
    Reviewed-by: Michael Adam <obnox at samba.org>

commit aee0f2ccf7a10b5344b00711b0d294648f15bd10
Author: Volker Lendecke <vl at samba.org>
Date:   Tue Sep 3 14:40:35 2013 +0000

    smbd: Apply some const to share_modes_identical
    
    Signed-off-by: Volker Lendecke <vl at samba.org>
    Reviewed-by: Michael Adam <obnox at samba.org>

commit a7d742937644373e0e2e75003d04c118e34385ff
Author: Volker Lendecke <vl at samba.org>
Date:   Tue Sep 3 14:38:47 2013 +0000

    smbd: Simplify find_share_mode_entry
    
    There's no point checking the validity of the "entry" argument more
    than once
    
    Signed-off-by: Volker Lendecke <vl at samba.org>
    Reviewed-by: Michael Adam <obnox at samba.org>

-----------------------------------------------------------------------

Summary of changes:
 source3/lib/file_id.c                     |    2 +-
 source3/lib/file_id.h                     |    2 +-
 source3/locking/locking.c                 |   15 +++++++++------
 source3/rpc_server/srvsvc/srv_srvsvc_nt.c |    3 +--
 source3/smbd/open.c                       |    7 ++-----
 source3/smbd/oplock.c                     |   15 ++-------------
 source3/smbd/proto.h                      |    3 +--
 source3/smbd/trans2.c                     |    2 +-
 8 files changed, 18 insertions(+), 31 deletions(-)


Changeset truncated at 500 lines:

diff --git a/source3/lib/file_id.c b/source3/lib/file_id.c
index ba4b3a3..f8295ce 100644
--- a/source3/lib/file_id.c
+++ b/source3/lib/file_id.c
@@ -80,7 +80,7 @@ void push_file_id_24(char *buf, const struct file_id *id)
 /*
   pull a 24 byte version of a file id from a buffer
  */
-void pull_file_id_24(char *buf, struct file_id *id)
+void pull_file_id_24(const char *buf, struct file_id *id)
 {
 	ZERO_STRUCTP(id);
 	id->devid  = IVAL(buf,  0);
diff --git a/source3/lib/file_id.h b/source3/lib/file_id.h
index 2ca8390..6fa9840 100644
--- a/source3/lib/file_id.h
+++ b/source3/lib/file_id.h
@@ -34,4 +34,4 @@ const char *file_id_string_tos(const struct file_id *id);
 const char *file_id_string(TALLOC_CTX *mem_ctx, const struct file_id *id);
 void push_file_id_16(char *buf, const struct file_id *id);
 void push_file_id_24(char *buf, const struct file_id *id);
-void pull_file_id_24(char *buf, struct file_id *id);
+void pull_file_id_24(const char *buf, struct file_id *id);
diff --git a/source3/locking/locking.c b/source3/locking/locking.c
index 5090082..ad56cb1 100644
--- a/source3/locking/locking.c
+++ b/source3/locking/locking.c
@@ -733,8 +733,8 @@ void set_share_mode(struct share_mode_lock *lck, files_struct *fsp,
  not automatically a logic error if they are identical. JRA.)
 ********************************************************************/
 
-static bool share_modes_identical(struct share_mode_entry *e1,
-				  struct share_mode_entry *e2)
+static bool share_modes_identical(const struct share_mode_entry *e1,
+				  const struct share_mode_entry *e2)
 {
 	/* We used to check for e1->share_access == e2->share_access here
 	   as well as the other fields but 2 different DOS or FCB opens
@@ -746,15 +746,18 @@ static bool share_modes_identical(struct share_mode_entry *e1,
 		e1->share_file_id == e2->share_file_id );
 }
 
-static struct share_mode_entry *find_share_mode_entry(struct share_mode_data *d,
-						      struct share_mode_entry *entry)
+static struct share_mode_entry *find_share_mode_entry(
+	struct share_mode_data *d, const struct share_mode_entry *entry)
 {
 	int i;
 
+	if (!is_valid_share_mode_entry(entry)) {
+		return NULL;
+	}
+
 	for (i=0; i<d->num_share_modes; i++) {
 		struct share_mode_entry *e = &d->share_modes[i];
-		if (is_valid_share_mode_entry(entry) &&
-		    is_valid_share_mode_entry(e) &&
+		if (is_valid_share_mode_entry(e) &&
 		    share_modes_identical(e, entry)) {
 			return e;
 		}
diff --git a/source3/rpc_server/srvsvc/srv_srvsvc_nt.c b/source3/rpc_server/srvsvc/srv_srvsvc_nt.c
index 1af350a..8f3a4cf 100644
--- a/source3/rpc_server/srvsvc/srv_srvsvc_nt.c
+++ b/source3/rpc_server/srvsvc/srv_srvsvc_nt.c
@@ -2480,8 +2480,7 @@ static void enum_file_close_fn( const struct share_mode_entry *e,
 	state->r->out.result = ntstatus_to_werror(
 		messaging_send_buf(state->msg_ctx,
 				e->pid, MSG_SMB_CLOSE_FILE,
-				(uint8 *)msg,
-				MSG_SMB_SHARE_MODE_ENTRY_SIZE));
+				(uint8 *)msg, sizeof(msg)));
 }
 
 /********************************************************************
diff --git a/source3/smbd/open.c b/source3/smbd/open.c
index f4210d7..e5ea715 100644
--- a/source3/smbd/open.c
+++ b/source3/smbd/open.c
@@ -1186,8 +1186,7 @@ static NTSTATUS send_break_message(files_struct *fsp,
 
 	status = messaging_send_buf(fsp->conn->sconn->msg_ctx, exclusive->pid,
 				    MSG_SMB_BREAK_REQUEST,
-				    (uint8 *)msg,
-				    MSG_SMB_SHARE_MODE_ENTRY_SIZE);
+				    (uint8 *)msg, sizeof(msg));
 	if (!NT_STATUS_IS_OK(status)) {
 		DEBUG(3, ("Could not send oplock break message: %s\n",
 			  nt_errstr(status)));
@@ -1355,7 +1354,7 @@ static bool file_has_brlocks(files_struct *fsp)
 	if (!br_lck)
 		return false;
 
-	return br_lck->num_locks > 0 ? true : false;
+	return (br_lck->num_locks > 0);
 }
 
 static void grant_fsp_oplock_type(files_struct *fsp,
@@ -2337,7 +2336,6 @@ static NTSTATUS open_file_ntcreate(connection_struct *conn,
 		if (NT_STATUS_EQUAL(fsp_open, NT_STATUS_RETRY)) {
 			schedule_async_open(request_time, req);
 		}
-		TALLOC_FREE(lck);
 		return fsp_open;
 	}
 
@@ -2351,7 +2349,6 @@ static NTSTATUS open_file_ntcreate(connection_struct *conn,
 		 * just fail the open to prevent creating any problems
 		 * in the open file db having the wrong dev/ino key.
 		 */
-		TALLOC_FREE(lck);
 		fd_close(fsp);
 		DEBUG(1,("open_file_ntcreate: file %s - dev/ino mismatch. "
 			"Old (dev=0x%llu, ino =0x%llu). "
diff --git a/source3/smbd/oplock.c b/source3/smbd/oplock.c
index 4cdf68b..96c451c 100644
--- a/source3/smbd/oplock.c
+++ b/source3/smbd/oplock.c
@@ -211,16 +211,6 @@ bool downgrade_oplock(files_struct *fsp)
 	return ret;
 }
 
-/*
- * Some kernel oplock implementations handle the notification themselves.
- */
-bool should_notify_deferred_opens(struct smbd_server_connection *sconn)
-{
-	struct kernel_oplocks *koplocks = sconn->oplocks.kernel_ops;
-	return !(koplocks &&
-		(koplocks->flags & KOPLOCKS_DEFERRED_OPEN_NOTIFICATION));
-}
-
 /****************************************************************************
  Set up an oplock break message.
 ****************************************************************************/
@@ -763,8 +753,7 @@ static void do_break_to_none(struct tevent_context *ctx,
 			messaging_send_buf(state->sconn->msg_ctx,
 					share_entry->pid,
 					MSG_SMB_ASYNC_LEVEL2_BREAK,
-					(uint8 *)msg,
-					MSG_SMB_SHARE_MODE_ENTRY_SIZE);
+					(uint8 *)msg, sizeof(msg));
 		}
 	}
 
@@ -829,7 +818,7 @@ void share_mode_entry_to_message(char *msg, const struct share_mode_entry *e)
  De-linearize an internal oplock break message to a share mode entry struct.
 ****************************************************************************/
 
-void message_to_share_mode_entry(struct share_mode_entry *e, char *msg)
+void message_to_share_mode_entry(struct share_mode_entry *e, const char *msg)
 {
 	e->pid.pid = (pid_t)IVAL(msg,OP_BREAK_MSG_PID_OFFSET);
 	e->op_mid = BVAL(msg,OP_BREAK_MSG_MID_OFFSET);
diff --git a/source3/smbd/proto.h b/source3/smbd/proto.h
index f572c35..8b6987e 100644
--- a/source3/smbd/proto.h
+++ b/source3/smbd/proto.h
@@ -663,7 +663,6 @@ NTSTATUS set_file_oplock(files_struct *fsp, int oplock_type);
 void release_file_oplock(files_struct *fsp);
 bool remove_oplock(files_struct *fsp);
 bool downgrade_oplock(files_struct *fsp);
-bool should_notify_deferred_opens(struct smbd_server_connection *sconn);
 void contend_level2_oplocks_begin(files_struct *fsp,
 				  enum level2_contention_type type);
 void contend_level2_oplocks_end(files_struct *fsp,
@@ -673,7 +672,7 @@ void smbd_contend_level2_oplocks_begin(files_struct *fsp,
 void smbd_contend_level2_oplocks_end(files_struct *fsp,
 				enum level2_contention_type type);
 void share_mode_entry_to_message(char *msg, const struct share_mode_entry *e);
-void message_to_share_mode_entry(struct share_mode_entry *e, char *msg);
+void message_to_share_mode_entry(struct share_mode_entry *e, const char *msg);
 bool init_oplocks(struct smbd_server_connection *sconn);
 void init_kernel_oplocks(struct smbd_server_connection *sconn);
 
diff --git a/source3/smbd/trans2.c b/source3/smbd/trans2.c
index e6bb12c..e02d646 100644
--- a/source3/smbd/trans2.c
+++ b/source3/smbd/trans2.c
@@ -3078,7 +3078,7 @@ NTSTATUS smbd_do_qfsinfo(connection_struct *conn,
 	const char *vname = volume_label(talloc_tos(), SNUM(conn));
 	int snum = SNUM(conn);
 	char *fstype = lp_fstype(talloc_tos(), SNUM(conn));
-	char *filename = NULL;
+	const char *filename = NULL;
 	uint32 additional_flags = 0;
 	struct smb_filename smb_fname;
 	SMB_STRUCT_STAT st;


-- 
Samba Shared Repository


More information about the samba-cvs mailing list