From: Jeremy Allison Date: Thu, 9 Jan 2020 21:36:08 +0000 (-0800) Subject: s3: VFS: Implement create_dfs_pathat() in time_audit. X-Git-Tag: ldb-2.1.0~58 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=54f9da44356b16efca56cc85f2552624bbe81876;p=thirdparty%2Fsamba.git s3: VFS: Implement create_dfs_pathat() in time_audit. Not yet used. Signed-off-by: Jeremy Allison Reviewed-by: Volker Lendecke --- diff --git a/source3/modules/vfs_time_audit.c b/source3/modules/vfs_time_audit.c index da99a06ce3a..9f20fc5234a 100644 --- a/source3/modules/vfs_time_audit.c +++ b/source3/modules/vfs_time_audit.c @@ -323,6 +323,32 @@ static NTSTATUS smb_time_audit_get_dfs_referrals( return result; } +static NTSTATUS smb_time_audit_create_dfs_pathat(struct vfs_handle_struct *handle, + struct files_struct *dirfsp, + const struct smb_filename *smb_fname, + const struct referral *reflist, + size_t referral_count) +{ + NTSTATUS result; + struct timespec ts1,ts2; + double timediff; + + clock_gettime_mono(&ts1); + result = SMB_VFS_NEXT_CREATE_DFS_PATHAT(handle, + dirfsp, + smb_fname, + reflist, + referral_count); + clock_gettime_mono(&ts2); + timediff = nsec_time_diff(&ts2,&ts1)*1.0e-9; + + if (timediff > audit_timeout) { + smb_time_audit_log("get_dfs_referrals", timediff); + } + + return result; +} + static NTSTATUS smb_time_audit_snap_check_path(struct vfs_handle_struct *handle, TALLOC_CTX *mem_ctx, const char *service_path, @@ -2807,6 +2833,7 @@ static struct vfs_fn_pointers vfs_time_audit_fns = { .statvfs_fn = smb_time_audit_statvfs, .fs_capabilities_fn = smb_time_audit_fs_capabilities, .get_dfs_referrals_fn = smb_time_audit_get_dfs_referrals, + .create_dfs_pathat_fn = smb_time_audit_create_dfs_pathat, .opendir_fn = smb_time_audit_opendir, .fdopendir_fn = smb_time_audit_fdopendir, .readdir_fn = smb_time_audit_readdir,