SQ: vfs add base_path argument to snap_delete_send
authorDavid Disseldorp <ddiss@samba.org>
Sun, 14 Oct 2012 21:40:35 +0000 (23:40 +0200)
committerDavid Disseldorp <ddiss@samba.org>
Mon, 15 Apr 2013 16:15:18 +0000 (18:15 +0200)
examples/VFS/skel_opaque.c
examples/VFS/skel_transparent.c
source3/include/vfs.h
source3/include/vfs_macros.h
source3/modules/vfs_default.c
source3/modules/vfs_full_audit.c
source3/modules/vfs_time_audit.c
source3/smbd/vfs.c

index 2397d08024a81678a1dd6ad7188a43fd9344d4a0..9137b0a47a5c114ea8c280a2cba6bb4697425cd6 100644 (file)
@@ -123,6 +123,7 @@ static NTSTATUS skel_snap_create_recv(struct vfs_handle_struct *handle,
 static struct tevent_req *skel_snap_delete_send(struct vfs_handle_struct *handle,
                                                TALLOC_CTX *mem_ctx,
                                                struct tevent_context *ev,
+                                               char *base_path,
                                                char *snap_path)
 {
        return NULL;
index b93d2bc2c71a0013f46b878d47d1f8591994f0f6..a73b01cdaba0a5d1c83179e848414379a9928fd8 100644 (file)
@@ -124,9 +124,11 @@ static NTSTATUS skel_snap_create_recv(struct vfs_handle_struct *handle,
 static struct tevent_req *skel_snap_delete_send(struct vfs_handle_struct *handle,
                                                TALLOC_CTX *mem_ctx,
                                                struct tevent_context *ev,
+                                               char *base_path,
                                                char *snap_path)
 {
-       return SMB_VFS_NEXT_SNAP_DELETE_SEND(handle, mem_ctx, ev, snap_path);
+       return SMB_VFS_NEXT_SNAP_DELETE_SEND(handle, mem_ctx, ev, base_path,
+                                            snap_path);
 }
 
 static NTSTATUS skel_snap_delete_recv(struct vfs_handle_struct *handle,
index d5d9cd5b07f5463a73fa5b014f99141411291194..736a8ebff9cb4d8f1aa53ce9ccef3a0f2c2b7327 100644 (file)
@@ -639,6 +639,7 @@ struct vfs_fn_pointers {
        struct tevent_req *(*snap_delete_send_fn)(struct vfs_handle_struct *handle,
                                                  TALLOC_CTX *mem_ctx,
                                                  struct tevent_context *ev,
+                                                 char *base_path,
                                                  char *snap_path);
        NTSTATUS (*snap_delete_recv_fn)(struct vfs_handle_struct *handle,
                                        struct tevent_req *req);
@@ -1142,6 +1143,7 @@ NTSTATUS smb_vfs_call_snap_create_recv(struct vfs_handle_struct *handle,
 struct tevent_req *smb_vfs_call_snap_delete_send(struct vfs_handle_struct *handle,
                                                 TALLOC_CTX *mem_ctx,
                                                 struct tevent_context *ev,
+                                                char *base_path,
                                                 char *snap_path);
 NTSTATUS smb_vfs_call_snap_delete_recv(struct vfs_handle_struct *handle,
                                       struct tevent_req *req);
index 254fd55672e96381df37e066c9a998bf6af669b5..15da5f14317928e3b1edf7395bec3a71a11df501 100644 (file)
 #define SMB_VFS_NEXT_SNAP_CREATE_RECV(handle, req, mem_ctx, base_path, snap_path) \
        smb_vfs_call_snap_create_recv((handle)->next, (req), (mem_ctx), (base_path), (snap_path))
 
-#define SMB_VFS_SNAP_DELETE_SEND(conn, mem_ctx, ev, snap_path) \
-       smb_vfs_call_snap_delete_send((conn)->vfs_handles, (mem_ctx), (ev), (snap_path))
-#define SMB_VFS_NEXT_SNAP_DELETE_SEND(handle, mem_ctx, ev, snap_path) \
-       smb_vfs_call_snap_delete_send((handle)->next, (mem_ctx), (ev), (snap_path))
+#define SMB_VFS_SNAP_DELETE_SEND(conn, mem_ctx, ev, base_path, snap_path) \
+       smb_vfs_call_snap_delete_send((conn)->vfs_handles, (mem_ctx), (ev), (base_path), (snap_path))
+#define SMB_VFS_NEXT_SNAP_DELETE_SEND(handle, mem_ctx, ev, base_path, snap_path) \
+       smb_vfs_call_snap_delete_send((handle)->next, (mem_ctx), (ev), (base_path), (snap_path))
 
 #define SMB_VFS_SNAP_DELETE_RECV(conn, req) \
        smb_vfs_call_snap_delete_recv((conn)->vfs_handles, (req))
index a07c7da6e10557efb740ff3a31be6e07d3a4392c..0b9cb040adeafe2d623551eca22ef1b278fac250 100644 (file)
@@ -383,6 +383,7 @@ static NTSTATUS vfswrap_snap_create_recv(struct vfs_handle_struct *handle,
 static struct tevent_req *vfswrap_snap_delete_send(struct vfs_handle_struct *handle,
                                                   TALLOC_CTX *mem_ctx,
                                                   struct tevent_context *ev,
+                                                  char *base_path,
                                                   char *snap_path)
 {
        struct tevent_req *req;
index 265c9c39466074a6b0894f14ae7c3d19353df58b..0b7e72c4d402e36955a6c45c1de3338edf209e34 100644 (file)
@@ -755,11 +755,13 @@ static NTSTATUS smb_full_audit_snap_create_recv(struct vfs_handle_struct *handle
 static struct tevent_req *smb_full_audit_snap_delete_send(struct vfs_handle_struct *handle,
                                                          TALLOC_CTX *mem_ctx,
                                                          struct tevent_context *ev,
+                                                         char *base_path,
                                                          char *snap_path)
 {
        struct tevent_req *req;
 
-       req = SMB_VFS_NEXT_SNAP_DELETE_SEND(handle, mem_ctx, ev, snap_path);
+       req = SMB_VFS_NEXT_SNAP_DELETE_SEND(handle, mem_ctx, ev, base_path,
+                                           snap_path);
        do_log(SMB_VFS_OP_SNAP_DELETE_SEND, req, handle, "");
 
        return req;
index f9ad1a98376cc8653cc6a0beb23a6f7127d95cef..2fd1dfe818f0327888ea93ec13709fb130aed6bb 100644 (file)
@@ -392,6 +392,7 @@ static void smb_time_audit_snap_delete_done(struct tevent_req *subreq);
 static struct tevent_req *smb_time_audit_snap_delete_send(struct vfs_handle_struct *handle,
                                                          TALLOC_CTX *mem_ctx,
                                                          struct tevent_context *ev,
+                                                         char *base_path,
                                                          char *snap_path)
 {
        struct tevent_req *req;
@@ -405,7 +406,8 @@ static struct tevent_req *smb_time_audit_snap_delete_send(struct vfs_handle_stru
        sd_state->handle = handle;
        sd_state->status = NT_STATUS_OK;
        clock_gettime_mono(&sd_state->ts_send);
-       sd_state->subreq = SMB_VFS_NEXT_SNAP_DELETE_SEND(handle, sd_state, ev, snap_path);
+       sd_state->subreq = SMB_VFS_NEXT_SNAP_DELETE_SEND(handle, sd_state, ev,
+                                                        base_path, snap_path);
        if (tevent_req_nomem(sd_state->subreq, req)) {
                return tevent_req_post(req, ev);
        }
index c29f393d91e0851abaafa21a3be3d5d168cb7d0d..4efd6a4acef1bcc7428ce36563d5d6c5779105c7 100644 (file)
@@ -2219,10 +2219,12 @@ NTSTATUS smb_vfs_call_snap_create_recv(struct vfs_handle_struct *handle,
 struct tevent_req *smb_vfs_call_snap_delete_send(struct vfs_handle_struct *handle,
                                                 TALLOC_CTX *mem_ctx,
                                                 struct tevent_context *ev,
+                                                char *base_path,
                                                 char *snap_path)
 {
        VFS_FIND(snap_delete_send);
-       return handle->fns->snap_delete_send_fn(handle, mem_ctx, ev, snap_path);
+       return handle->fns->snap_delete_send_fn(handle, mem_ctx, ev,
+                                               base_path, snap_path);
 }
 
 NTSTATUS smb_vfs_call_snap_delete_recv(struct vfs_handle_struct *handle,