]> git.ipfire.org Git - thirdparty/samba.git/commitdiff
smbd: move create_action to smbXsrv_open_global0
authorRalph Boehme <slow@samba.org>
Thu, 10 Jul 2025 13:51:12 +0000 (15:51 +0200)
committerRalph Boehme <slow@samba.org>
Tue, 5 Aug 2025 14:52:34 +0000 (14:52 +0000)
In preperation for making create replay disk backed.

Signed-off-by: Ralph Boehme <slow@samba.org>
Reviewed-by: Stefan Metzmacher <metze@samba.org>
source3/librpc/idl/smbXsrv.idl
source3/smbd/smb2_create.c

index 1c4ed7d88a2a4b69b53a45fd860b1a73c9b92118..ee0a90fe46132a0bfee576c9b7e01ad76553b281 100644 (file)
@@ -430,6 +430,7 @@ interface smbXsrv
                GUID                                    create_guid;
                GUID                                    client_guid;
                GUID                                    app_instance_id;
+               uint32                                  create_action;
                /*
                 * TODO: for durable/resilient/persistent handles we need more
                 *       things here. See [MS-SMB2] 3.3.1.10 Per Open
@@ -477,7 +478,6 @@ interface smbXsrv
                NTTIME                                  idle_time;
                [ignore] files_struct                   *compat;
                smbXsrv_open_flags                      flags;
-               uint32                                  create_action;
                hyper                                   request_count;
                hyper                                   pre_request_count;
        } smbXsrv_open;
index 453e14e90b4dc366ef2e807d1d91f2d5479e47a8..82b2b57299d062dd5ac9c7076622c14fae657786 100644 (file)
@@ -1082,7 +1082,7 @@ static struct tevent_req *smbd_smb2_create_send(TALLOC_CTX *mem_ctx,
                state->result = state->op->compat;
                state->result->op = state->op;
                state->update_open = false;
-               state->info = state->op->create_action;
+               state->info = state->op->global->create_action;
 
                smbd_smb2_create_after_exec(req);
                if (!tevent_req_is_in_progress(req)) {
@@ -1708,7 +1708,7 @@ static void smbd_smb2_create_after_exec(struct tevent_req *req)
 
        DBG_DEBUG("response construction phase\n");
 
-       state->op->create_action = state->info;
+       state->op->global->create_action = state->info;
        state->out_create_action = state->info;
 
        state->out_file_attributes = fdos_mode(state->result);