From c416b34648b6734b7b612d51fa9e151a201768da Mon Sep 17 00:00:00 2001 From: Volker Lendecke Date: Thu, 20 Mar 2014 14:36:11 +0100 Subject: [PATCH] smbd: Explicitly pass "file_id" to rename_share_filename Signed-off-by: Volker Lendecke Reviewed-by: Jeremy Allison --- source3/locking/locking.c | 5 +++-- source3/locking/proto.h | 1 + source3/smbd/reply.c | 2 +- 3 files changed, 5 insertions(+), 3 deletions(-) diff --git a/source3/locking/locking.c b/source3/locking/locking.c index 54c92b14708..4ef6b8936a4 100644 --- a/source3/locking/locking.c +++ b/source3/locking/locking.c @@ -468,6 +468,7 @@ struct share_mode_lock *get_existing_share_mode_lock(TALLOC_CTX *mem_ctx, bool rename_share_filename(struct messaging_context *msg_ctx, struct share_mode_lock *lck, + struct file_id id, const char *servicepath, uint32_t orig_name_hash, uint32_t new_name_hash, @@ -523,7 +524,7 @@ bool rename_share_filename(struct messaging_context *msg_ctx, return False; } - push_file_id_24(frm, &d->id); + push_file_id_24(frm, &id); DEBUG(10,("rename_share_filename: msg_len = %u\n", (unsigned int)msg_len )); @@ -565,7 +566,7 @@ bool rename_share_filename(struct messaging_context *msg_ctx, "pid %s file_id %s sharepath %s base_name %s " "stream_name %s\n", procid_str_static(&se->pid), - file_id_string_tos(&d->id), + file_id_string_tos(&id), d->servicepath, d->base_name, has_stream ? d->stream_name : "")); diff --git a/source3/locking/proto.h b/source3/locking/proto.h index a897feacf3a..dc115e1d969 100644 --- a/source3/locking/proto.h +++ b/source3/locking/proto.h @@ -164,6 +164,7 @@ struct share_mode_lock *fetch_share_mode_unlocked(TALLOC_CTX *mem_ctx, struct file_id id); bool rename_share_filename(struct messaging_context *msg_ctx, struct share_mode_lock *lck, + struct file_id id, const char *servicepath, uint32_t orig_name_hash, uint32_t new_name_hash, diff --git a/source3/smbd/reply.c b/source3/smbd/reply.c index a66aa5a6dba..9603975761e 100644 --- a/source3/smbd/reply.c +++ b/source3/smbd/reply.c @@ -6141,7 +6141,7 @@ static void rename_open_files(connection_struct *conn, } /* Send messages to all smbd's (not ourself) that the name has changed. */ - rename_share_filename(conn->sconn->msg_ctx, lck, conn->connectpath, + rename_share_filename(conn->sconn->msg_ctx, lck, id, conn->connectpath, orig_name_hash, new_name_hash, smb_fname_dst); -- 2.11.4.GIT