From 9cf6d735d43f6f905b19f52d38c93aa30092333d Mon Sep 17 00:00:00 2001 From: Volker Lendecke Date: Mon, 9 Jan 2012 14:30:53 +0100 Subject: s3: Introduce get_share_mode_lock_fresh() This slightly simplifies the code path for all callers which assume that a share mode exists already. Only the callers in open_file_ntcreate and open_directory will ever create new share modes. Signed-off-by: Jeremy Allison --- source3/smbd/close.c | 10 +++------- 1 file changed, 3 insertions(+), 7 deletions(-) (limited to 'source3/smbd/close.c') diff --git a/source3/smbd/close.c b/source3/smbd/close.c index 26656f47a2..a07ab4b42c 100644 --- a/source3/smbd/close.c +++ b/source3/smbd/close.c @@ -347,9 +347,7 @@ static NTSTATUS close_remove_share_mode(files_struct *fsp, * This prevents race conditions with the file being created. JRA. */ - lck = get_share_mode_lock(talloc_tos(), fsp->file_id, NULL, NULL, - NULL); - + lck = get_share_mode_lock(talloc_tos(), fsp->file_id); if (lck == NULL) { DEBUG(0, ("close_remove_share_mode: Could not get share mode " "lock for file %s\n", fsp_str_dbg(fsp))); @@ -617,7 +615,7 @@ static NTSTATUS update_write_time_on_close(struct files_struct *fsp) * must update it in the open file db too. */ (void)set_write_time(fsp->file_id, fsp->close_write_time); - lck = get_share_mode_lock(talloc_tos(), fsp->file_id, NULL, NULL, NULL); + lck = get_share_mode_lock(talloc_tos(), fsp->file_id); if (lck) { /* Close write times overwrite sticky write times so we must replace any sticky write time here. */ @@ -1019,9 +1017,7 @@ static NTSTATUS close_directory(struct smb_request *req, files_struct *fsp, * reference to a directory also. */ - lck = get_share_mode_lock(talloc_tos(), fsp->file_id, NULL, NULL, - NULL); - + lck = get_share_mode_lock(talloc_tos(), fsp->file_id); if (lck == NULL) { DEBUG(0, ("close_directory: Could not get share mode lock for " "%s\n", fsp_str_dbg(fsp))); -- cgit