]> git.ipfire.org Git - thirdparty/samba.git/commitdiff
smbd: Fix qfileinfo profiling
authorVolker Lendecke <vl@samba.org>
Fri, 23 Dec 2022 16:23:36 +0000 (17:23 +0100)
committerRalph Boehme <slow@samba.org>
Wed, 4 Jan 2023 08:54:32 +0000 (08:54 +0000)
This ran under qpathinfo profiling

Signed-off-by: Volker Lendecke <vl@samba.org>
Reviewed-by: Ralph Boehme <slow@samba.org>
source3/smbd/smb1_trans2.c

index 6f9a5075ed3125703620e5a6c8453b57317aebd3..0d7ffebd0248814e53ec2b48868312aa636adf75 100644 (file)
@@ -2355,6 +2355,46 @@ total_data=%u (should be %u)\n", (unsigned int)total_data, (unsigned int)IVAL(pd
        return;
 }
 
+static void call_trans2qpathinfo(
+       connection_struct *conn,
+       struct smb_request *req,
+       char **pparams,
+       int total_params,
+       char **ppdata,
+       int total_data,
+       unsigned int max_data_bytes)
+{
+       call_trans2qfilepathinfo(
+               conn,
+               req,
+               TRANSACT2_QPATHINFO,
+               pparams,
+               total_params,
+               ppdata,
+               total_data,
+               max_data_bytes);
+}
+
+static void call_trans2qfileinfo(
+       connection_struct *conn,
+       struct smb_request *req,
+       char **pparams,
+       int total_params,
+       char **ppdata,
+       int total_data,
+       unsigned int max_data_bytes)
+{
+       call_trans2qfilepathinfo(
+               conn,
+               req,
+               TRANSACT2_QFILEINFO,
+               pparams,
+               total_params,
+               ppdata,
+               total_data,
+               max_data_bytes);
+}
+
 static void handle_trans2setfilepathinfo_result(
        connection_struct *conn,
        struct smb_request *req,
@@ -3160,17 +3200,35 @@ static void handle_trans2(connection_struct *conn, struct smb_request *req,
        }
 
        case TRANSACT2_QPATHINFO:
-       case TRANSACT2_QFILEINFO:
        {
                START_PROFILE(Trans2_qpathinfo);
-               call_trans2qfilepathinfo(conn, req, state->call,
-                                        &state->param, state->total_param,
-                                        &state->data, state->total_data,
-                                        state->max_data_return);
+               call_trans2qpathinfo(
+                       conn,
+                       req,
+                       &state->param,
+                       state->total_param,
+                       &state->data,
+                       state->total_data,
+                       state->max_data_return);
                END_PROFILE(Trans2_qpathinfo);
                break;
        }
 
+       case TRANSACT2_QFILEINFO:
+       {
+               START_PROFILE(Trans2_qfileinfo);
+               call_trans2qfileinfo(
+                       conn,
+                       req,
+                       &state->param,
+                       state->total_param,
+                       &state->data,
+                       state->total_data,
+                       state->max_data_return);
+               END_PROFILE(Trans2_qfileinfo);
+               break;
+       }
+
        case TRANSACT2_SETPATHINFO:
        {
                START_PROFILE(Trans2_setpathinfo);