]> git.ipfire.org Git - thirdparty/samba.git/commitdiff
vfs_default: tidy persvc profile macros usage
authorShachar Sharon <ssharon@redhat.com>
Sun, 5 Jul 2026 08:51:00 +0000 (11:51 +0300)
committerAnoop C S <anoopcs@samba.org>
Thu, 9 Jul 2026 07:01:43 +0000 (07:01 +0000)
Close async write with proper SMBPROFILE_BYTES_ASYNC_END_X macro to
properly update both global and per-share counter. Use smbprofile
pervsc helper macros when possible.

Signed-off-by: Shachar Sharon <ssharon@redhat.com>
Reviewed-by: Vinit Agnihotri <vagnihot@redhat.com>
Reviewed-by: Anoop C S <anoopcs@samba.org>
Reviewed-by: Jennifer Sutton <jennifersutton@catalyst.net.nz>
Autobuild-User(master): Anoop C S <anoopcs@samba.org>
Autobuild-Date(master): Thu Jul  9 07:01:43 UTC 2026 on atb-devel-224

source3/modules/vfs_default.c

index d7b247115de5c7e826a1b590c6f0ce561a0407ff..c34a0384ded32cb32462cf70ce781bccf6cef00b 100644 (file)
@@ -859,8 +859,7 @@ struct vfswrap_pread_state {
        off_t offset;
 
        struct vfs_aio_state vfs_aio_state;
-       SMBPROFILE_BYTES_ASYNC_STATE(profile_bytes);
-       SMBPROFILE_BYTES_ASYNC_STATE(profile_bytes_x);
+       SMBPROFILE_BYTES_ASYNC_STATE_X(profile_bytes, profile_bytes_x);
 };
 
 static void vfs_pread_do(void *private_data);
@@ -1102,8 +1101,8 @@ static void vfs_pwrite_done(struct tevent_req *subreq)
 
        ret = pthreadpool_tevent_job_recv(subreq);
        TALLOC_FREE(subreq);
-       SMBPROFILE_BYTES_ASYNC_END(state->profile_bytes);
-       SMBPROFILE_BYTES_ASYNC_END(state->profile_bytes_x);
+       SMBPROFILE_BYTES_ASYNC_END_X(state->profile_bytes,
+                                    state->profile_bytes_x);
        talloc_set_destructor(state, NULL);
        if (ret != 0) {
                if (ret != EAGAIN) {
@@ -1141,8 +1140,7 @@ struct vfswrap_fsync_state {
        int fd;
 
        struct vfs_aio_state vfs_aio_state;
-       SMBPROFILE_BYTES_ASYNC_STATE(profile_bytes);
-       SMBPROFILE_BYTES_ASYNC_STATE(profile_bytes_x);
+       SMBPROFILE_BYTES_ASYNC_STATE_X(profile_bytes, profile_bytes_x);
 };
 
 static void vfs_fsync_do(void *private_data);