From 4319076ccaf3e6264207a88b88dea0fa63b31879 Mon Sep 17 00:00:00 2001 From: Volker Lendecke Date: Mon, 19 Mar 2012 21:57:50 +0100 Subject: s3: Pass "path" through vfs_notify_watch --- source3/modules/vfs_default.c | 4 +++- source3/modules/vfs_full_audit.c | 4 +++- source3/modules/vfs_notify_fam.c | 4 +++- source3/modules/vfs_time_audit.c | 3 ++- 4 files changed, 11 insertions(+), 4 deletions(-) (limited to 'source3/modules') diff --git a/source3/modules/vfs_default.c b/source3/modules/vfs_default.c index 1dbd308368..37ec7e884d 100644 --- a/source3/modules/vfs_default.c +++ b/source3/modules/vfs_default.c @@ -1633,6 +1633,7 @@ static char *vfswrap_realpath(vfs_handle_struct *handle, const char *path) static NTSTATUS vfswrap_notify_watch(vfs_handle_struct *vfs_handle, struct sys_notify_context *ctx, struct notify_entry *e, + const char *path, void (*callback)(struct sys_notify_context *ctx, void *private_data, struct notify_event *ev), @@ -1648,7 +1649,8 @@ static NTSTATUS vfswrap_notify_watch(vfs_handle_struct *vfs_handle, */ #ifdef HAVE_INOTIFY if (lp_kernel_change_notify(ctx->conn->params)) { - return inotify_watch(ctx, e, callback, private_data, handle); + return inotify_watch(ctx, e, path, callback, private_data, + handle); } #endif /* diff --git a/source3/modules/vfs_full_audit.c b/source3/modules/vfs_full_audit.c index 3efa848d22..24c2f8e323 100644 --- a/source3/modules/vfs_full_audit.c +++ b/source3/modules/vfs_full_audit.c @@ -1380,6 +1380,7 @@ static char *smb_full_audit_realpath(vfs_handle_struct *handle, static NTSTATUS smb_full_audit_notify_watch(struct vfs_handle_struct *handle, struct sys_notify_context *ctx, struct notify_entry *e, + const char *path, void (*callback)(struct sys_notify_context *ctx, void *private_data, struct notify_event *ev), @@ -1387,7 +1388,8 @@ static NTSTATUS smb_full_audit_notify_watch(struct vfs_handle_struct *handle, { NTSTATUS result; - result = SMB_VFS_NEXT_NOTIFY_WATCH(handle, ctx, e, callback, private_data, handle_p); + result = SMB_VFS_NEXT_NOTIFY_WATCH(handle, ctx, e, path, callback, + private_data, handle_p); do_log(SMB_VFS_OP_NOTIFY_WATCH, NT_STATUS_IS_OK(result), handle, ""); diff --git a/source3/modules/vfs_notify_fam.c b/source3/modules/vfs_notify_fam.c index 343149423e..8a3487b9d3 100644 --- a/source3/modules/vfs_notify_fam.c +++ b/source3/modules/vfs_notify_fam.c @@ -222,6 +222,7 @@ static int fam_watch_context_destructor(struct fam_watch_context *ctx) static NTSTATUS fam_watch(vfs_handle_struct *vfs_handle, struct sys_notify_context *ctx, struct notify_entry *e, + const char *path, void (*callback)(struct sys_notify_context *ctx, void *private_data, struct notify_event *ev), @@ -259,7 +260,8 @@ static NTSTATUS fam_watch(vfs_handle_struct *vfs_handle, watch->private_data = private_data; watch->sys_ctx = ctx; - if (!(watch->path = talloc_strdup(watch, e->path))) { + watch->path = talloc_strdup(watch, path); + if (watch->path == NULL) { DEBUG(0, ("talloc_asprintf failed\n")); TALLOC_FREE(watch); return NT_STATUS_NO_MEMORY; diff --git a/source3/modules/vfs_time_audit.c b/source3/modules/vfs_time_audit.c index 734625e4e9..8ec434b541 100644 --- a/source3/modules/vfs_time_audit.c +++ b/source3/modules/vfs_time_audit.c @@ -1131,6 +1131,7 @@ static char *smb_time_audit_realpath(vfs_handle_struct *handle, static NTSTATUS smb_time_audit_notify_watch(struct vfs_handle_struct *handle, struct sys_notify_context *ctx, struct notify_entry *e, + const char *path, void (*callback)(struct sys_notify_context *ctx, void *private_data, struct notify_event *ev), @@ -1141,7 +1142,7 @@ static NTSTATUS smb_time_audit_notify_watch(struct vfs_handle_struct *handle, double timediff; clock_gettime_mono(&ts1); - result = SMB_VFS_NEXT_NOTIFY_WATCH(handle, ctx, e, callback, + result = SMB_VFS_NEXT_NOTIFY_WATCH(handle, ctx, e, path, callback, private_data, handle_p); clock_gettime_mono(&ts2); timediff = nsec_time_diff(&ts2,&ts1)*1.0e-9; -- cgit