s3: Change open_streams_for_delete to call through the vfs layer
authorTim Prouty <tprouty@samba.org>
Wed, 4 Mar 2009 03:23:33 +0000 (19:23 -0800)
committerTim Prouty <tprouty@samba.org>
Thu, 5 Mar 2009 02:32:12 +0000 (18:32 -0800)
This eliminates the last direct caller of create_file_unixpath

source3/include/proto.h
source3/smbd/open.c

index 78110161c5a294667b919f747d65ebec53a61e73..41e3618503aa0fbe9d3b64129f8dddea4e670786 100644 (file)
@@ -6723,6 +6723,8 @@ void msg_file_was_renamed(struct messaging_context *msg,
 struct case_semantics_state;
 struct case_semantics_state *set_posix_case_semantics(TALLOC_CTX *mem_ctx,
                                                      connection_struct *conn);
+NTSTATUS open_streams_for_delete(connection_struct *conn,
+                                const char *fname);
 NTSTATUS create_file_default(connection_struct *conn,
                             struct smb_request *req,
                             uint16_t root_dir_fid,
index acd347520d1952d447a7fe2237b18d8486a59de6..ccc6fc77d68fe9f7bcc73d7a577aa9ed56ce230b 100644 (file)
@@ -2719,7 +2719,7 @@ struct case_semantics_state *set_posix_case_semantics(TALLOC_CTX *mem_ctx,
  * If that works, delete them all by setting the delete on close and close.
  */
 
-static NTSTATUS open_streams_for_delete(connection_struct *conn,
+NTSTATUS open_streams_for_delete(connection_struct *conn,
                                        const char *fname)
 {
        struct stream_struct *stream_info;
@@ -2777,13 +2777,15 @@ static NTSTATUS open_streams_for_delete(connection_struct *conn,
                        goto fail;
                }
 
-               status = create_file_unixpath
-                       (conn,                  /* conn */
+               status = SMB_VFS_CREATE_FILE(
+                        conn,                  /* conn */
                         NULL,                  /* req */
+                        0,                     /* root_dir_fid */
                         streamname,            /* fname */
+                        0,                     /* create_file_flags */
                         DELETE_ACCESS,         /* access_mask */
-                        FILE_SHARE_READ | FILE_SHARE_WRITE
-                        | FILE_SHARE_DELETE,   /* share_access */
+                        (FILE_SHARE_READ |     /* share_access */
+                            FILE_SHARE_WRITE | FILE_SHARE_DELETE),
                         FILE_OPEN,             /* create_disposition*/
                         NTCREATEX_OPTIONS_PRIVATE_STREAM_DELETE, /* create_options */
                         FILE_ATTRIBUTE_NORMAL, /* file_attributes */