[SCM] Samba Shared Repository - branch master updated

Ralph Böhme slow at samba.org
Thu Sep 26 18:41:02 UTC 2019


The branch, master has been updated
       via  1ec030398bd s3: VFS: Complete the replacement of SMB_VFS_UNLINK() -> SMB_VFS_UNLINKAT().
       via  f7f09377919 s3: VFS: vfs_full_audit: Remove unlink_fn. No longer used.
       via  eeec2b8003f s3: VFS: vfs_acl_tdb: Remove unlink_fn. No longer used.
       via  7222d63d42f s3: VFS: vfs_acl_xattr: Remove unlink_fn. No longer used.
       via  6f9b6a78671 s3: VFS: vfs_posix_eadb: Remove unlink_fn. No longer used.
       via  467251ccf97 s3: VFS: vfs_ceph: Remove unlink_fn. No longer used.
       via  f856d6f41d1 s3: VFS: vfs_glusterfs: Remove unlink_fn. No longer used.
       via  314358b28a5 s3: VFS: vfs_streams_depot: Remove unlink_fn. No longer used.
       via  6f68049fff8 s3: VFS: vfs_syncops: Remove unlink_fn. No longer used.
       via  4dc8c378193 s3: VFS: vfs_fruit: Remove unlink_fn. No longer used.
       via  55df30d5a63 s3: VFS: vfs_recycle: Remove unlink_fn. No longer used.
       via  7c814ef4299 s3: VFS: vfs_unityed_media: Remove unlink_fn. No longer used.
       via  3bc8527cdc7 s3: VFS: vfs_xattr_tdb: Remove unlink_fn. No longer used.
       via  36f4d0f76e6 s3: VFS: vfs_virusfilter: Remove unlink_fn. No longer used.
       via  b2f1b3d9726 s3: VFS: vfs_time_audit: Remove unlink_fn. No longer used.
       via  fc29eb2b858 s3: VFS: vfs_streams_xattr: Remove unlink_fn. No longer used.
       via  eacfeac62ba s3: VFS: vfs_snapper: Remove unlink_fn. No longer used.
       via  74ec7c804d8 s3: VFS: vfs_shadow_copy2: Remove unlink_fn. No longer used.
       via  64854db8ac2 s3: VFS: vfs_media_harmony: Remove unlink_fn. No longer used.
       via  6f9ede8ad82 s3: VFS: vfs_extd_audit: Remove unlink_fn. No longer used.
       via  84255a99384 s3: VFS: vfs_ceph_snapshots: Remove unlink_fn. No longer used.
       via  257137ee583 s3: VFS: vfs_catia: Remove unlink_fn. No longer used.
       via  d4c4c688dd3 s3: VFS: vfs_cap: Remove unlink_fn. No longer used.
       via  1e511284247 s3: VFS: vfs_audit: Remove unlink_fn. No longer used.
       via  0535656284d s3: lib: adouble: Add dirfsp to ad_convert_delete_adfile(). Use UNLINKAT instead of UNLINK.
       via  7691ce3a4b3 s3: lib: adouble: Add struct files_struct *dirfsp parameter to ad_convert().
       via  6a55e676aa6 s3: VFS: vfs_fruit. Change delete_invalid_meta_stream() to use UNLINKAT().
       via  a3bd4521260 s3: VFS: vfs_fruit. Change fruit_pread_meta_stream() to use UNLINKAT().
       via  be586203fa5 s3: VFS: vfs_fruit. Add struct files_struct *dirfsp parameter to fruit_unlink_rsrc_adouble() and convert to UNLINKAT.
       via  3b1d9755591 s3: VFS: vfs_fruit. Add struct files_struct *dirfsp parameter to fruit_unlink_rsrc_stream() and convert to UNLINKAT.
       via  e79ff5dcfe8 s3: VFS: vfs_fruit. Add files_struct *dirfsp parameter to fruit_unlink_rsrc().
       via  04ea1232996 s3: VFS: vfs_fruit. Add struct files_struct *dirfsp parameter to fruit_unlink_meta_stream() and convert to UNLINKAT.
       via  7f49bb9f6ff s3: VFS: vfs_fruit. Add files_struct *dirfsp parameter to fruit_unlink_meta().
       via  cb5e52377ae s3: VFS: vfs_fruit: Convert fruit_rmdir_internal() to UNLINKAT().
       via  92d8b3b8477 s3: VFS: vfs_fruit: Add dirfsp files_struct pointer parameter to fruit_rmdir_internal().
       via  96842316788 s3: VFS: vfs_fruit: Wrap fruit_rmdir() so we can add parameters.
       via  41a740f2512 s3: VFS: vfs_fruit. Change fruit_unlink_internal() to call UNLNKAT.
       via  762b95743c1 s3: VFS: vfs_fruit. Add files_struct *dirfsp to fruit_unlink_internal() so we can call UNLINKAT.
       via  1e6a8a3093a s3: VFS: vfs_fruit. Wrap Convert fruit_unlink() -> fruit_unlink_internal() so we can add parameters.
       via  3bf8181f159 s3: smbd: Change rmdir_internals() to call SMB_VFS_UNLINKAT() in 2 places.
       via  2adc0e0fdcd s3: smbd: Change recursive_rmdir() to call SMB_VFS_UNLINKAT().
       via  f8cff71e5f9 s3: smbd: Change close_remove_share_mode() to call SMB_VFS_UNLINKAT().
       via  7f7ad9bbfd6 s3: smbd: Change delete_all_streams() to call SMB_VFS_UNLINKAT().
       via  24516e78eeb s3: smbd: Change smb_set_file_unix_basic() to call SMB_VFS_UNLINKAT() in 3 places.
       via  56b355d0795 s3: pysmbd: Change py_smbd_unlink() to call SMB_VFS_UNLINKAT().
       via  3d6a8d9ae0d s3: smbd: Change remove_msdfs_link() to call SMB_VFS_UNLINKAT().
       via  66d86efb9a1 s3: smbd: Change create_msdfs_link() to call SMB_VFS_UNLINKAT().
       via  244c3820a87 s3: cmd_vfs: Change cmd_pathfunc() to call SMB_VFS_UNLINKAT().
       via  f8bdf5db6eb s3: VFS: vfs_acl_common: Convert unlink_acl_common(), acl_common_remove_object() to UNLINKAT.
       via  63d814047f7 s3: VFS: vfs_acl_common: Add dirfsp, flags parameters to unlink_acl_common().
       via  6ef40bdb940 s3: VFS: vfs_acl_xattr: Don't call unlink_acl_common() directly.
       via  96aeaed8581 s3: VFS: vfs_virusfilter: Change UNLINK -> UNLINKAT in infected_file_action_delete()
       via  88249762a4b s3: VFS: vfs_posix_eadb: Wrap posix_eadb_unlink() into a call to posix_eadb_unlink_internal().
       via  488c6567235 s3: VFS: vfs_audit. Implement unlinkat().
       via  1023ec61a9d s3: VFS: vfs_virusfilter. Implement unlinkat().
       via  70f5cbc54d7 s3: VFS: vfs_unityed_media. Implement unlinkat().
       via  b355a9565dc s3: VFS: vfs_time_audit. Implement unlinkat().
       via  83e0cf6dc9a s3: VFS: vfs_syncops. Implement unlinkat().
       via  d69a9ba7e30 s3: VFS: vfs_streams_xattr: Convert streams_xattr_unlink_internal() to use UNLINKAT.
       via  0b3b83c1531 s3: VFS: vfs_streams_xattr. Wrap Convert streams_xattr_unlink() -> streams_xattr_unlink_internal() so we can add parameters.
       via  d7e763ef055 s3: VFS: vfs_streams_xattr. Implement unlinkat().
       via  e73caaed822 s3: VFS: vfs_streams_depot: Change streams_depot_unlink_internal() to call UNLINKAT().
       via  7b2fda0576c s3: VFS: vfs_streams_depot. Wrap Convert streams_depot_unlink() -> streams_depot_unlink_internal() so we can add parameters.
       via  c81932fdfea s3: VFS: vfs_streams_depot. Implement unlinkat().
       via  62f92f8b29a s3: VFS: vfs_snapper. Implement unlinkat().
       via  43b9d9adfe3 s3: VFS: vfs_shadow_copy2. Implement unlinkat().
       via  6f0cc51b1f5 s3: VFS: vfs_recycle: Change recycle_unlink_internal() to call UNLINKAT().
       via  1f8bdb3974c s3: VFS: vfs_recycle: Wrap recycle_unlink() into a call to recycle_unlink_internal().
       via  8d9ff50f85c s3: VFS: vfs_recycle. Implement unlinkat().
       via  8c43f6179a9 s3: VFS: vfs_media_harmony. Implement unlinkat().
       via  1ee6c9d8a42 s3: VFS: vfs_glusterfs. Implement unlinkat().
       via  6c28a7749bb s3: VFS: vfs_full_audit. Implement unlinkat().
       via  2a4eb0782b1 s3: VFS: vfs_fruit. Implement unlinkat().
       via  0c16e77ae1e s3: VFS: vfs_extd_audit. Implement unlinkat().
       via  34d7b18cded s3: VFS: vfs_ceph_snapshots. Implement unlinkat().
       via  797f24fd4df s3: VFS: vfs_ceph. Implement unlinkat().
       via  f372f2f58c2 s3: VFS: vfs_catia. Implement unlinkat().
       via  4794e8dbb10 s3: VFS: vfs_cap. Implement unlinkat().
       via  95197108bec s3: VFS: vfs_xattr_tdb. Implement unlinkat().
       via  19c8cfa2871 s3: VFS: vfs_posix_eadb. Implement unlinkat().
       via  2a7e472e5ca s3: VFS: vfs_acl_xattr. Implement unlinkat().
       via  2c90d2b4f0d s3: VFS: vfs_acl_tdb. Implement unlinkat().
       via  c58692cee91 s3: VFS: Add SMB_VFS_UNLINKAT().
      from  24f04c1cc56 ctdb-tests: Update README

https://git.samba.org/?p=samba.git;a=shortlog;h=master


- Log -----------------------------------------------------------------
commit 1ec030398bdc6f912d9beb3bcd0db7860a92eede
Author: Jeremy Allison <jra at samba.org>
Date:   Wed Sep 18 10:04:03 2019 -0700

    s3: VFS: Complete the replacement of SMB_VFS_UNLINK() -> SMB_VFS_UNLINKAT().
    
    Signed-off-by: Jeremy Allison <jra at samba.org>
    Reviewed-by: Ralph Boehme <slow at samba.org>
    
    Autobuild-User(master): Ralph Böhme <slow at samba.org>
    Autobuild-Date(master): Thu Sep 26 18:40:53 UTC 2019 on sn-devel-184

commit f7f09377919cf39ccc803556b42b024874a92a2b
Author: Jeremy Allison <jra at samba.org>
Date:   Wed Sep 18 09:23:04 2019 -0700

    s3: VFS: vfs_full_audit: Remove unlink_fn. No longer used.
    
    NB, this will now fail smb_vfs_assert_all_fns()
    until we remove the unlink_fn() from the VFS definitions.
    
    Signed-off-by: Jeremy Allison <jra at samba.org>
    Reviewed-by: Ralph Boehme <slow at samba.org>

commit eeec2b8003fb0c069188591249415077d8792d0a
Author: Jeremy Allison <jra at samba.org>
Date:   Wed Sep 18 10:02:16 2019 -0700

    s3: VFS: vfs_acl_tdb: Remove unlink_fn. No longer used.
    
    Signed-off-by: Jeremy Allison <jra at samba.org>
    Reviewed-by: Ralph Boehme <slow at samba.org>

commit 7222d63d42fb5812197ad8f64a6af1557bd0a043
Author: Jeremy Allison <jra at samba.org>
Date:   Wed Sep 18 10:01:32 2019 -0700

    s3: VFS: vfs_acl_xattr: Remove unlink_fn. No longer used.
    
    Signed-off-by: Jeremy Allison <jra at samba.org>
    Reviewed-by: Ralph Boehme <slow at samba.org>

commit 6f9b6a78671491055c9ce4b05039ba698a28abb1
Author: Jeremy Allison <jra at samba.org>
Date:   Wed Sep 18 10:00:43 2019 -0700

    s3: VFS: vfs_posix_eadb: Remove unlink_fn. No longer used.
    
    Signed-off-by: Jeremy Allison <jra at samba.org>
    Reviewed-by: Ralph Boehme <slow at samba.org>

commit 467251ccf97561e9717d62080c0e81bfd2a1e11f
Author: Jeremy Allison <jra at samba.org>
Date:   Wed Sep 18 09:59:54 2019 -0700

    s3: VFS: vfs_ceph: Remove unlink_fn. No longer used.
    
    Signed-off-by: Jeremy Allison <jra at samba.org>
    Reviewed-by: Ralph Boehme <slow at samba.org>

commit f856d6f41d199f93ba57c93f075a21efc89b27ec
Author: Jeremy Allison <jra at samba.org>
Date:   Wed Sep 18 09:59:03 2019 -0700

    s3: VFS: vfs_glusterfs: Remove unlink_fn. No longer used.
    
    Signed-off-by: Jeremy Allison <jra at samba.org>
    Reviewed-by: Ralph Boehme <slow at samba.org>

commit 314358b28a573fce13750e17dd0b124a8d6a0a0e
Author: Jeremy Allison <jra at samba.org>
Date:   Wed Sep 18 09:57:59 2019 -0700

    s3: VFS: vfs_streams_depot: Remove unlink_fn. No longer used.
    
    Signed-off-by: Jeremy Allison <jra at samba.org>
    Reviewed-by: Ralph Boehme <slow at samba.org>

commit 6f68049fff82e86554eb2ef8249a38e2ba4de2f7
Author: Jeremy Allison <jra at samba.org>
Date:   Wed Sep 18 09:56:53 2019 -0700

    s3: VFS: vfs_syncops: Remove unlink_fn. No longer used.
    
    Signed-off-by: Jeremy Allison <jra at samba.org>
    Reviewed-by: Ralph Boehme <slow at samba.org>

commit 4dc8c378193f8a4a6fbb913fbb419a7949acc393
Author: Jeremy Allison <jra at samba.org>
Date:   Wed Sep 18 09:54:10 2019 -0700

    s3: VFS: vfs_fruit: Remove unlink_fn. No longer used.
    
    Signed-off-by: Jeremy Allison <jra at samba.org>
    Reviewed-by: Ralph Boehme <slow at samba.org>

commit 55df30d5a6345b333ee312d43b548ae50107471f
Author: Jeremy Allison <jra at samba.org>
Date:   Wed Sep 18 09:22:38 2019 -0700

    s3: VFS: vfs_recycle: Remove unlink_fn. No longer used.
    
    Signed-off-by: Jeremy Allison <jra at samba.org>
    Reviewed-by: Ralph Boehme <slow at samba.org>

commit 7c814ef4299178f2d313ee12ea4a38429bbe991c
Author: Jeremy Allison <jra at samba.org>
Date:   Tue Sep 17 19:18:07 2019 -0700

    s3: VFS: vfs_unityed_media: Remove unlink_fn. No longer used.
    
    Signed-off-by: Jeremy Allison <jra at samba.org>
    Reviewed-by: Ralph Boehme <slow at samba.org>

commit 3bc8527cdc7a7958c8906044dbb0e7ad21f5e336
Author: Jeremy Allison <jra at samba.org>
Date:   Tue Sep 17 19:16:31 2019 -0700

    s3: VFS: vfs_xattr_tdb: Remove unlink_fn. No longer used.
    
    Signed-off-by: Jeremy Allison <jra at samba.org>
    Reviewed-by: Ralph Boehme <slow at samba.org>

commit 36f4d0f76e6b71a6f79ca0f3cab84b55c40028ec
Author: Jeremy Allison <jra at samba.org>
Date:   Tue Sep 17 19:15:38 2019 -0700

    s3: VFS: vfs_virusfilter: Remove unlink_fn. No longer used.
    
    Signed-off-by: Jeremy Allison <jra at samba.org>
    Reviewed-by: Ralph Boehme <slow at samba.org>

commit b2f1b3d972602d0305b0e728200092567051def4
Author: Jeremy Allison <jra at samba.org>
Date:   Tue Sep 17 19:14:22 2019 -0700

    s3: VFS: vfs_time_audit: Remove unlink_fn. No longer used.
    
    Signed-off-by: Jeremy Allison <jra at samba.org>
    Reviewed-by: Ralph Boehme <slow at samba.org>

commit fc29eb2b8581019b9505c8646f1d3c2cda161554
Author: Jeremy Allison <jra at samba.org>
Date:   Tue Sep 17 19:13:05 2019 -0700

    s3: VFS: vfs_streams_xattr: Remove unlink_fn. No longer used.
    
    Signed-off-by: Jeremy Allison <jra at samba.org>
    Reviewed-by: Ralph Boehme <slow at samba.org>

commit eacfeac62ba086e7f615bb2849785b7d354a7d48
Author: Jeremy Allison <jra at samba.org>
Date:   Tue Sep 17 19:05:27 2019 -0700

    s3: VFS: vfs_snapper: Remove unlink_fn. No longer used.
    
    Signed-off-by: Jeremy Allison <jra at samba.org>
    Reviewed-by: Ralph Boehme <slow at samba.org>

commit 74ec7c804d8b3305f3a494b435d0d6ecec8cd4d7
Author: Jeremy Allison <jra at samba.org>
Date:   Tue Sep 17 19:04:38 2019 -0700

    s3: VFS: vfs_shadow_copy2: Remove unlink_fn. No longer used.
    
    Signed-off-by: Jeremy Allison <jra at samba.org>
    Reviewed-by: Ralph Boehme <slow at samba.org>

commit 64854db8ac270acf16fa98f1b6ce26d19885795d
Author: Jeremy Allison <jra at samba.org>
Date:   Mon Sep 16 18:04:06 2019 -0700

    s3: VFS: vfs_media_harmony: Remove unlink_fn. No longer used.
    
    Signed-off-by: Jeremy Allison <jra at samba.org>
    Reviewed-by: Ralph Boehme <slow at samba.org>

commit 6f9ede8ad82487c27e9253fe18eb9c20ad2918ab
Author: Jeremy Allison <jra at samba.org>
Date:   Mon Sep 16 18:03:10 2019 -0700

    s3: VFS: vfs_extd_audit: Remove unlink_fn. No longer used.
    
    Signed-off-by: Jeremy Allison <jra at samba.org>
    Reviewed-by: Ralph Boehme <slow at samba.org>

commit 84255a99384e62dc9a950e978e85bd7c9987af98
Author: Jeremy Allison <jra at samba.org>
Date:   Mon Sep 16 18:02:06 2019 -0700

    s3: VFS: vfs_ceph_snapshots: Remove unlink_fn. No longer used.
    
    Signed-off-by: Jeremy Allison <jra at samba.org>
    Reviewed-by: Ralph Boehme <slow at samba.org>

commit 257137ee583d98b93ca09453d00931f7927ac32a
Author: Jeremy Allison <jra at samba.org>
Date:   Mon Sep 16 18:01:26 2019 -0700

    s3: VFS: vfs_catia: Remove unlink_fn. No longer used.
    
    Signed-off-by: Jeremy Allison <jra at samba.org>
    Reviewed-by: Ralph Boehme <slow at samba.org>

commit d4c4c688dd31ec3b27c1f6001fcc7baabb2d2f04
Author: Jeremy Allison <jra at samba.org>
Date:   Mon Sep 16 18:00:31 2019 -0700

    s3: VFS: vfs_cap: Remove unlink_fn. No longer used.
    
    Signed-off-by: Jeremy Allison <jra at samba.org>
    Reviewed-by: Ralph Boehme <slow at samba.org>

commit 1e51128424749eb68634376b01f87362d67b1186
Author: Jeremy Allison <jra at samba.org>
Date:   Mon Sep 16 17:59:25 2019 -0700

    s3: VFS: vfs_audit: Remove unlink_fn. No longer used.
    
    Signed-off-by: Jeremy Allison <jra at samba.org>
    Reviewed-by: Ralph Boehme <slow at samba.org>

commit 0535656284db66dc7bc90fea2f15b1d00a13fe10
Author: Jeremy Allison <jra at samba.org>
Date:   Mon Sep 16 15:15:05 2019 -0700

    s3: lib: adouble: Add dirfsp to ad_convert_delete_adfile(). Use UNLINKAT instead of UNLINK.
    
    Signed-off-by: Jeremy Allison <jra at samba.org>
    Reviewed-by: Ralph Boehme <slow at samba.org>

commit 7691ce3a4b34b6a0b3f6cc2379f2f4d2b4392047
Author: Jeremy Allison <jra at samba.org>
Date:   Fri Sep 13 14:52:00 2019 -0700

    s3: lib: adouble: Add struct files_struct *dirfsp parameter to ad_convert().
    
    Signed-off-by: Jeremy Allison <jra at samba.org>
    Reviewed-by: Ralph Boehme <slow at samba.org>

commit 6a55e676aa63f5ca86c53f849bab3d8fce877bc0
Author: Jeremy Allison <jra at samba.org>
Date:   Fri Sep 13 14:21:28 2019 -0700

    s3: VFS: vfs_fruit. Change delete_invalid_meta_stream() to use UNLINKAT().
    
    Use conn->cwd_fsp as current fsp.
    
    No logic change for now.
    
    Signed-off-by: Jeremy Allison <jra at samba.org>
    Reviewed-by: Ralph Boehme <slow at samba.org>

commit a3bd45212607aad0df244db9178153b949cd97ad
Author: Jeremy Allison <jra at samba.org>
Date:   Fri Sep 13 14:19:21 2019 -0700

    s3: VFS: vfs_fruit. Change fruit_pread_meta_stream() to use UNLINKAT().
    
    Use conn->cwd_fsp as current fsp.
    
    No logic change for now.
    
    Signed-off-by: Jeremy Allison <jra at samba.org>
    Reviewed-by: Ralph Boehme <slow at samba.org>

commit be586203fa5a1ecfece1d7f5390011c952d821df
Author: Jeremy Allison <jra at samba.org>
Date:   Fri Sep 13 14:11:46 2019 -0700

    s3: VFS: vfs_fruit. Add struct files_struct *dirfsp parameter to fruit_unlink_rsrc_adouble() and convert to UNLINKAT.
    
    Signed-off-by: Jeremy Allison <jra at samba.org>
    Reviewed-by: Ralph Boehme <slow at samba.org>

commit 3b1d97555910a9782987a6ab6b0b09e8ac50b792
Author: Jeremy Allison <jra at samba.org>
Date:   Fri Sep 13 14:10:16 2019 -0700

    s3: VFS: vfs_fruit. Add struct files_struct *dirfsp parameter to fruit_unlink_rsrc_stream() and convert to UNLINKAT.
    
    Signed-off-by: Jeremy Allison <jra at samba.org>
    Reviewed-by: Ralph Boehme <slow at samba.org>

commit e79ff5dcfe8455ab956f58c31cfffeede50d9bd3
Author: Jeremy Allison <jra at samba.org>
Date:   Fri Sep 13 14:08:08 2019 -0700

    s3: VFS: vfs_fruit. Add files_struct *dirfsp parameter to fruit_unlink_rsrc().
    
    Signed-off-by: Jeremy Allison <jra at samba.org>
    Reviewed-by: Ralph Boehme <slow at samba.org>

commit 04ea1232996ddabe0ddb4a9dba56a7b8ba5262a2
Author: Jeremy Allison <jra at samba.org>
Date:   Fri Sep 13 13:46:00 2019 -0700

    s3: VFS: vfs_fruit. Add struct files_struct *dirfsp parameter to fruit_unlink_meta_stream() and convert to UNLINKAT.
    
    Signed-off-by: Jeremy Allison <jra at samba.org>
    Reviewed-by: Ralph Boehme <slow at samba.org>

commit 7f49bb9f6ffc67fe40020344700b5f9ef657a7a0
Author: Jeremy Allison <jra at samba.org>
Date:   Fri Sep 13 13:44:21 2019 -0700

    s3: VFS: vfs_fruit. Add files_struct *dirfsp parameter to fruit_unlink_meta().
    
    Signed-off-by: Jeremy Allison <jra at samba.org>
    Reviewed-by: Ralph Boehme <slow at samba.org>

commit cb5e52377ae344c63d0e28dc0531075cd1d77d6c
Author: Jeremy Allison <jra at samba.org>
Date:   Fri Sep 13 13:43:29 2019 -0700

    s3: VFS: vfs_fruit: Convert fruit_rmdir_internal() to UNLINKAT().
    
    Signed-off-by: Jeremy Allison <jra at samba.org>
    Reviewed-by: Ralph Boehme <slow at samba.org>

commit 92d8b3b847794ca5c5cd02c3c28b5f3d96540fdc
Author: Jeremy Allison <jra at samba.org>
Date:   Fri Sep 13 13:30:19 2019 -0700

    s3: VFS: vfs_fruit: Add dirfsp files_struct pointer parameter to fruit_rmdir_internal().
    
    Signed-off-by: Jeremy Allison <jra at samba.org>
    Reviewed-by: Ralph Boehme <slow at samba.org>

commit 96842316788615a368b30f3808a0333678266453
Author: Jeremy Allison <jra at samba.org>
Date:   Fri Sep 13 13:24:23 2019 -0700

    s3: VFS: vfs_fruit: Wrap fruit_rmdir() so we can add parameters.
    
    Signed-off-by: Jeremy Allison <jra at samba.org>
    Reviewed-by: Ralph Boehme <slow at samba.org>

commit 41a740f25120872e67240440f1f8c2f0c8763bbb
Author: Jeremy Allison <jra at samba.org>
Date:   Fri Sep 13 13:20:36 2019 -0700

    s3: VFS: vfs_fruit. Change fruit_unlink_internal() to call UNLNKAT.
    
    Signed-off-by: Jeremy Allison <jra at samba.org>
    Reviewed-by: Ralph Boehme <slow at samba.org>

commit 762b95743c1f60249451562251b7bbc0769eeab1
Author: Jeremy Allison <jra at samba.org>
Date:   Fri Sep 13 13:18:28 2019 -0700

    s3: VFS: vfs_fruit. Add files_struct *dirfsp to fruit_unlink_internal() so we can call UNLINKAT.
    
    Signed-off-by: Jeremy Allison <jra at samba.org>
    Reviewed-by: Ralph Boehme <slow at samba.org>

commit 1e6a8a3093ab118a4dc21344bfb4f41da18adc25
Author: Jeremy Allison <jra at samba.org>
Date:   Fri Sep 13 13:16:19 2019 -0700

    s3: VFS: vfs_fruit. Wrap Convert fruit_unlink() -> fruit_unlink_internal() so we can add parameters.
    
    Make fruit_unlink() a wrapper calling the internal version.
    
    Signed-off-by: Jeremy Allison <jra at samba.org>
    Reviewed-by: Ralph Boehme <slow at samba.org>

commit 3bf8181f159c142a45287e996167d11980508dd6
Author: Jeremy Allison <jra at samba.org>
Date:   Fri Sep 13 12:34:31 2019 -0700

    s3: smbd: Change rmdir_internals() to call SMB_VFS_UNLINKAT() in 2 places.
    
    Use conn->cwd_fsp as current fsp. Rework to modern standards.
    
    No logic change for now.
    
    Signed-off-by: Jeremy Allison <jra at samba.org>
    Reviewed-by: Ralph Boehme <slow at samba.org>

commit 2adc0e0fdcd639a46008edff18371f181da93ed1
Author: Jeremy Allison <jra at samba.org>
Date:   Fri Sep 13 12:29:41 2019 -0700

    s3: smbd: Change recursive_rmdir() to call SMB_VFS_UNLINKAT().
    
    Use conn->cwd_fsp as current fsp. Rework to modern standards.
    
    No logic change for now.
    
    Signed-off-by: Jeremy Allison <jra at samba.org>
    Reviewed-by: Ralph Boehme <slow at samba.org>

commit f8cff71e5f9edb97a3817bc259c0aeec6fbdba7f
Author: Jeremy Allison <jra at samba.org>
Date:   Fri Sep 13 12:25:10 2019 -0700

    s3: smbd: Change close_remove_share_mode() to call SMB_VFS_UNLINKAT().
    
    Use conn->cwd_fsp as current fsp. Rework to modern standards.
    
    No logic change for now.
    
    Signed-off-by: Jeremy Allison <jra at samba.org>
    Reviewed-by: Ralph Boehme <slow at samba.org>

commit 7f7ad9bbfd65f813f59b55e043c9e75859cb71e9
Author: Jeremy Allison <jra at samba.org>
Date:   Fri Sep 13 12:23:02 2019 -0700

    s3: smbd: Change delete_all_streams() to call SMB_VFS_UNLINKAT().
    
    Use conn->cwd_fsp as current fsp.
    
    No logic change for now.
    
    Signed-off-by: Jeremy Allison <jra at samba.org>
    Reviewed-by: Ralph Boehme <slow at samba.org>

commit 24516e78eebbb30df09f85cdeacf6d1ad2635d32
Author: Jeremy Allison <jra at samba.org>
Date:   Fri Sep 13 11:33:53 2019 -0700

    s3: smbd: Change smb_set_file_unix_basic() to call SMB_VFS_UNLINKAT() in 3 places.
    
    Use conn->cwd_fsp as current fsp. This is horrible code and must
    be removed.
    
    No logic change for now.
    
    Signed-off-by: Jeremy Allison <jra at samba.org>
    Reviewed-by: Ralph Boehme <slow at samba.org>

commit 56b355d07959923381e60c3fc51136cc4703876f
Author: Jeremy Allison <jra at samba.org>
Date:   Fri Sep 13 11:22:06 2019 -0700

    s3: pysmbd: Change py_smbd_unlink() to call SMB_VFS_UNLINKAT().
    
    Use conn->cwd_fsp as current fsp.
    
    No logic change for now.
    
    Signed-off-by: Jeremy Allison <jra at samba.org>
    Reviewed-by: Ralph Boehme <slow at samba.org>

commit 3d6a8d9ae0d55d92068c06651f6722b8158c25c8
Author: Jeremy Allison <jra at samba.org>
Date:   Fri Sep 13 11:20:36 2019 -0700

    s3: smbd: Change remove_msdfs_link() to call SMB_VFS_UNLINKAT().
    
    Use conn->cwd_fsp as current fsp. Rework to modern standards.
    
    No logic change for now.
    
    Signed-off-by: Jeremy Allison <jra at samba.org>
    Reviewed-by: Ralph Boehme <slow at samba.org>

commit 66d86efb9a19285a09940f4f359c80dfd59cddd6
Author: Jeremy Allison <jra at samba.org>
Date:   Fri Sep 13 11:17:45 2019 -0700

    s3: smbd: Change create_msdfs_link() to call SMB_VFS_UNLINKAT().
    
    Use conn->cwd_fsp as current fsp. Rework to modern standards.
    
    No logic change for now.
    
    Signed-off-by: Jeremy Allison <jra at samba.org>
    Reviewed-by: Ralph Boehme <slow at samba.org>

commit 244c3820a87e4273b1135959d197ec9fd30866a7
Author: Jeremy Allison <jra at samba.org>
Date:   Fri Sep 13 10:56:30 2019 -0700

    s3: cmd_vfs: Change cmd_pathfunc() to call SMB_VFS_UNLINKAT().
    
    Use conn->cwd_fsp as current fsp.
    
    No logic change for now.
    
    Signed-off-by: Jeremy Allison <jra at samba.org>
    Reviewed-by: Ralph Boehme <slow at samba.org>

commit f8bdf5db6eb97458450392e2646db746a78b4d81
Author: Jeremy Allison <jra at samba.org>
Date:   Mon Sep 16 17:54:00 2019 -0700

    s3: VFS: vfs_acl_common: Convert unlink_acl_common(), acl_common_remove_object() to UNLINKAT.
    
    Signed-off-by: Jeremy Allison <jra at samba.org>
    Reviewed-by: Ralph Boehme <slow at samba.org>

commit 63d814047f7cf04be2ab0ab2b235d58d22cfbaa2
Author: Jeremy Allison <jra at samba.org>
Date:   Mon Sep 16 17:50:17 2019 -0700

    s3: VFS: vfs_acl_common: Add dirfsp, flags parameters to unlink_acl_common().
    
    Signed-off-by: Jeremy Allison <jra at samba.org>
    Reviewed-by: Ralph Boehme <slow at samba.org>

commit 6ef40bdb94093f2a7afdd0d69bf0467d86660ec8
Author: Jeremy Allison <jra at samba.org>
Date:   Mon Sep 16 17:44:33 2019 -0700

    s3: VFS: vfs_acl_xattr: Don't call unlink_acl_common() directly.
    
    Use a wrapper function so we can change the parameters.
    
    Signed-off-by: Jeremy Allison <jra at samba.org>
    Reviewed-by: Ralph Boehme <slow at samba.org>

commit 96aeaed858164bb1387c41c954e841e911ba561c
Author: Jeremy Allison <jra at samba.org>
Date:   Mon Sep 16 17:41:10 2019 -0700

    s3: VFS: vfs_virusfilter: Change UNLINK -> UNLINKAT in infected_file_action_delete()
    
    Signed-off-by: Jeremy Allison <jra at samba.org>
    Reviewed-by: Ralph Boehme <slow at samba.org>

commit 88249762a4b430e67d7d677b2258389351cc7099
Author: Jeremy Allison <jra at samba.org>
Date:   Thu Sep 19 10:32:41 2019 -0700

    s3: VFS: vfs_posix_eadb: Wrap posix_eadb_unlink() into a call to posix_eadb_unlink_internal().
    
    Allows UNLINKAT parameters to be passed. Change posix_eadb_unlink_internal()
    to call UNLINKAT instead of UNLINK.
    
    Signed-off-by: Jeremy Allison <jra at samba.org>
    Reviewed-by: Ralph Boehme <slow at samba.org>

commit 488c65672350819e35a543313ca6c876befd1d6e
Author: Jeremy Allison <jra at samba.org>
Date:   Mon Sep 16 17:57:25 2019 -0700

    s3: VFS: vfs_audit. Implement unlinkat().
    
    This is identical to unlink(), as there
    are no special cases needed for rmdir().
    
    Signed-off-by: Jeremy Allison <jra at samba.org>
    Reviewed-by: Ralph Boehme <slow at samba.org>

commit 1023ec61a9deca7a81e0cb4960b51e9b2b917c51
Author: Jeremy Allison <jra at samba.org>
Date:   Thu Sep 12 14:16:55 2019 -0700

    s3: VFS: vfs_virusfilter. Implement unlinkat().
    
    This is identical to unlink(), as there
    are no special cases needed for rmdir().
    
    Signed-off-by: Jeremy Allison <jra at samba.org>
    Reviewed-by: Ralph Boehme <slow at samba.org>

commit 70f5cbc54d7c99ea3709b77487d62ea565a99490
Author: Jeremy Allison <jra at samba.org>
Date:   Thu Sep 12 14:14:01 2019 -0700

    s3: VFS: vfs_unityed_media. Implement unlinkat().
    
    This is identical to unlink(), as there
    are no special cases needed for rmdir().
    
    Signed-off-by: Jeremy Allison <jra at samba.org>
    Reviewed-by: Ralph Boehme <slow at samba.org>

commit b355a9565dcf67304db12aa827ca582d1dd80b89
Author: Jeremy Allison <jra at samba.org>
Date:   Thu Sep 12 14:11:20 2019 -0700

    s3: VFS: vfs_time_audit. Implement unlinkat().
    
    This is identical to unlink(), as there
    are no special cases needed for rmdir().
    
    Signed-off-by: Jeremy Allison <jra at samba.org>
    Reviewed-by: Ralph Boehme <slow at samba.org>

commit 83e0cf6dc9a9017232c910940a46f8d196a2e641
Author: Jeremy Allison <jra at samba.org>
Date:   Thu Sep 12 14:09:27 2019 -0700

    s3: VFS: vfs_syncops. Implement unlinkat().
    
    This is identical to unlink(), as there
    are no special cases needed for rmdir().
    
    Signed-off-by: Jeremy Allison <jra at samba.org>
    Reviewed-by: Ralph Boehme <slow at samba.org>

commit d69a9ba7e3065ae57b7de588cf08fc1324ae5d07
Author: Jeremy Allison <jra at samba.org>
Date:   Tue Sep 17 19:10:24 2019 -0700

    s3: VFS: vfs_streams_xattr: Convert streams_xattr_unlink_internal() to use UNLINKAT.
    
    Signed-off-by: Jeremy Allison <jra at samba.org>
    Reviewed-by: Ralph Boehme <slow at samba.org>

commit 0b3b83c15314859a121ebd4b1983b643fb3a490c
Author: Jeremy Allison <jra at samba.org>
Date:   Tue Sep 17 19:08:26 2019 -0700

    s3: VFS: vfs_streams_xattr. Wrap Convert streams_xattr_unlink() -> streams_xattr_unlink_internal() so we can add parameters.
    
    Make streams_xattr_unlink() a wrapper calling the internal version.
    
    Signed-off-by: Jeremy Allison <jra at samba.org>
    Reviewed-by: Ralph Boehme <slow at samba.org>

commit d7e763ef0558473a81cecd12abc0d50dd77c0b9f
Author: Jeremy Allison <jra at samba.org>
Date:   Thu Sep 12 14:00:24 2019 -0700

    s3: VFS: vfs_streams_xattr. Implement unlinkat().
    
    Note this isn't identical to unlink() as
    this must cope with (flags & AT_REMOVEDIR),
    which is identical to rmdir(). It calls
    either unlink or rmdir depending on the
    flags parameter.
    
    Signed-off-by: Jeremy Allison <jra at samba.org>
    Reviewed-by: Ralph Boehme <slow at samba.org>

commit e73caaed8226b5ca0c2603930928e36a5a97396d
Author: Jeremy Allison <jra at samba.org>
Date:   Tue Sep 17 19:26:13 2019 -0700

    s3: VFS: vfs_streams_depot: Change streams_depot_unlink_internal() to call UNLINKAT().
    
    Signed-off-by: Jeremy Allison <jra at samba.org>
    Reviewed-by: Ralph Boehme <slow at samba.org>

commit 7b2fda0576c76b1a63d08a9266620fe87a2ad587
Author: Jeremy Allison <jra at samba.org>
Date:   Tue Sep 17 19:23:31 2019 -0700

    s3: VFS: vfs_streams_depot. Wrap Convert streams_depot_unlink() -> streams_depot_unlink_internal() so we can add parameters.
    
    Make streams_depot_unlink() a wrapper calling the internal version.
    
    Signed-off-by: Jeremy Allison <jra at samba.org>
    Reviewed-by: Ralph Boehme <slow at samba.org>

commit c81932fdfea44f466afc4726e5facd23ac92bbfa
Author: Jeremy Allison <jra at samba.org>
Date:   Thu Sep 12 13:41:10 2019 -0700

    s3: VFS: vfs_streams_depot. Implement unlinkat().
    
    Note this isn't identical to unlink() as
    this must cope with (flags & AT_REMOVEDIR),
    which is identical to rmdir(). It calls
    either unlink or rmdir depending on the
    flags parameter.
    
    Signed-off-by: Jeremy Allison <jra at samba.org>
    Reviewed-by: Ralph Boehme <slow at samba.org>

commit 62f92f8b29a4d860ee0062de27edb466f699633d
Author: Jeremy Allison <jra at samba.org>
Date:   Thu Sep 12 13:21:41 2019 -0700

    s3: VFS: vfs_snapper. Implement unlinkat().
    
    This is identical to unlink(), as there
    are no special cases needed for rmdir().
    
    Signed-off-by: Jeremy Allison <jra at samba.org>
    Reviewed-by: Ralph Boehme <slow at samba.org>

commit 43b9d9adfe3ac5135bee4918e2769cf912e12b7d
Author: Jeremy Allison <jra at samba.org>
Date:   Thu Sep 12 13:19:39 2019 -0700

    s3: VFS: vfs_shadow_copy2. Implement unlinkat().
    
    This is identical to unlink(), as there
    are no special cases needed for rmdir().
    
    Signed-off-by: Jeremy Allison <jra at samba.org>
    Reviewed-by: Ralph Boehme <slow at samba.org>

commit 6f0cc51b1f5fc72734b7766302eb245b484dafc2
Author: Jeremy Allison <jra at samba.org>
Date:   Mon Sep 16 17:30:49 2019 -0700

    s3: VFS: vfs_recycle: Change recycle_unlink_internal() to call UNLINKAT().
    
    Signed-off-by: Jeremy Allison <jra at samba.org>
    Reviewed-by: Ralph Boehme <slow at samba.org>

commit 1f8bdb3974c5eade55bf307077fb71bf0fac8147
Author: Jeremy Allison <jra at samba.org>
Date:   Mon Sep 16 17:22:58 2019 -0700

    s3: VFS: vfs_recycle: Wrap recycle_unlink() into a call to recycle_unlink_internal().
    
    Allows UNLINKAT parameters to be passed.
    
    Signed-off-by: Jeremy Allison <jra at samba.org>
    Reviewed-by: Ralph Boehme <slow at samba.org>

commit 8d9ff50f85cbcfb361ab6c4f78892ab09f60209f
Author: Jeremy Allison <jra at samba.org>
Date:   Thu Sep 12 12:55:49 2019 -0700

    s3: VFS: vfs_recycle. Implement unlinkat().
    
    Note this isn't identical to unlink() as
    this must cope with (flags & AT_REMOVEDIR),
    which is identical to rmdir(). It calls
    either unlink or rmdir depending on the
    flags parameter.
    
    Signed-off-by: Jeremy Allison <jra at samba.org>
    Reviewed-by: Ralph Boehme <slow at samba.org>

commit 8c43f6179a92d8aab22de314626692eb1a9c8ab4
Author: Jeremy Allison <jra at samba.org>
Date:   Thu Sep 12 11:51:09 2019 -0700

    s3: VFS: vfs_media_harmony. Implement unlinkat().
    
    This is identical to unlink(), as there
    are no special cases needed for rmdir().
    
    Signed-off-by: Jeremy Allison <jra at samba.org>
    Reviewed-by: Ralph Boehme <slow at samba.org>

commit 1ee6c9d8a42c9702914acf4d6f10342951cce7d5
Author: Jeremy Allison <jra at samba.org>
Date:   Thu Sep 12 11:04:18 2019 -0700

    s3: VFS: vfs_glusterfs. Implement unlinkat().
    
    Note this isn't identical to unlink() as
    this must cope with (flags & AT_REMOVEDIR),
    which is identical to rmdir(). It calls
    either unlink or rmdir depending on the
    flags parameter.
    
    Signed-off-by: Jeremy Allison <jra at samba.org>
    Reviewed-by: Ralph Boehme <slow at samba.org>

commit 6c28a7749bb8c7c45db86647f5046d2df654653e
Author: Jeremy Allison <jra at samba.org>
Date:   Thu Sep 12 10:50:06 2019 -0700

    s3: VFS: vfs_full_audit. Implement unlinkat().
    
    This is identical to unlink(), as there
    are no special cases needed for rmdir().
    
    Signed-off-by: Jeremy Allison <jra at samba.org>
    Reviewed-by: Ralph Boehme <slow at samba.org>

commit 2a4eb0782b179d621821a8ecf020f9d0278a289d
Author: Jeremy Allison <jra at samba.org>
Date:   Thu Sep 12 10:46:02 2019 -0700

    s3: VFS: vfs_fruit. Implement unlinkat().
    
    Note this isn't identical to unlink() as
    this must cope with (flags & AT_REMOVEDIR),
    which is identical to rmdir(). It calls
    either unlink or rmdir depending on the
    flags parameter.
    
    Signed-off-by: Jeremy Allison <jra at samba.org>
    Reviewed-by: Ralph Boehme <slow at samba.org>

commit 0c16e77ae1ea0ef565c66e24297031db0b114710
Author: Jeremy Allison <jra at samba.org>
Date:   Thu Sep 12 10:07:40 2019 -0700

    s3: VFS: vfs_extd_audit. Implement unlinkat().
    
    This is identical to unlink(), as there
    are no special cases needed for rmdir().
    
    Signed-off-by: Jeremy Allison <jra at samba.org>
    Reviewed-by: Ralph Boehme <slow at samba.org>

commit 34d7b18cdeda87b0d14e94b56bfc5664b2c9356d
Author: Jeremy Allison <jra at samba.org>
Date:   Thu Sep 12 10:05:00 2019 -0700

    s3: VFS: vfs_ceph_snapshots. Implement unlinkat().
    
    This is identical to unlink(), as there
    are no special cases needed for rmdir().
    
    Signed-off-by: Jeremy Allison <jra at samba.org>
    Reviewed-by: Ralph Boehme <slow at samba.org>

commit 797f24fd4df288d9dee98c3bfdc0df1dd410931c
Author: Jeremy Allison <jra at samba.org>
Date:   Thu Sep 12 10:03:05 2019 -0700

    s3: VFS: vfs_ceph. Implement unlinkat().
    
    Note this isn't identical to unlink() as
    this must cope with (flags & AT_REMOVEDIR),
    which is identical to rmdir(). It calls
    either unlink or rmdir depending on the
    flags parameter.
    
    Signed-off-by: Jeremy Allison <jra at samba.org>
    Reviewed-by: Ralph Boehme <slow at samba.org>

commit f372f2f58c28ff08df3d47f810a9d4d6685662e5
Author: Jeremy Allison <jra at samba.org>
Date:   Thu Sep 12 09:38:42 2019 -0700

    s3: VFS: vfs_catia. Implement unlinkat().
    
    This is identical to unlink(), as there
    are no special cases needed for rmdir().
    
    Signed-off-by: Jeremy Allison <jra at samba.org>
    Reviewed-by: Ralph Boehme <slow at samba.org>

commit 4794e8dbb108d8fe7e09a11a5bf651dcdf55c2a2
Author: Jeremy Allison <jra at samba.org>
Date:   Thu Sep 12 09:36:34 2019 -0700

    s3: VFS: vfs_cap. Implement unlinkat().
    
    This is identical to unlink(), as there
    are no special cases needed for rmdir().
    
    Signed-off-by: Jeremy Allison <jra at samba.org>
    Reviewed-by: Ralph Boehme <slow at samba.org>

commit 95197108becd184dbff61dc9929606f62460e98d
Author: Jeremy Allison <jra at samba.org>
Date:   Fri Sep 13 10:12:38 2019 -0700

    s3: VFS: vfs_xattr_tdb. Implement unlinkat().
    
    Note this isn't identical to unlink() as
    this must cope with (flags & AT_REMOVEDIR),
    which is identical to rmdir(). It calls
    either unlink or rmdir depending on the
    flags parameter.
    
    Signed-off-by: Jeremy Allison <jra at samba.org>
    Reviewed-by: Ralph Boehme <slow at samba.org>

commit 19c8cfa2871050c857c4ad8eecc8dd0f99cfafdb
Author: Jeremy Allison <jra at samba.org>
Date:   Thu Sep 12 12:01:42 2019 -0700

    s3: VFS: vfs_posix_eadb. Implement unlinkat().
    
    Note this isn't identical to unlink() as
    this must cope with (flags & AT_REMOVEDIR),
    which is identical to rmdir(). It calls
    either unlink or rmdir depending on the
    flags parameter.
    
    Signed-off-by: Jeremy Allison <jra at samba.org>
    Reviewed-by: Ralph Boehme <slow at samba.org>

commit 2a7e472e5ca02bb3c6685e38042b23ee27422a5a
Author: Jeremy Allison <jra at samba.org>
Date:   Wed Sep 11 16:49:38 2019 -0700

    s3: VFS: vfs_acl_xattr. Implement unlinkat().
    
    Note this isn't identical to unlink() as
    this must cope with (flags & AT_REMOVEDIR),
    which is identical to rmdir(). It calls
    either unlink or rmdir depending on the
    flags parameter.
    
    Signed-off-by: Jeremy Allison <jra at samba.org>
    Reviewed-by: Ralph Boehme <slow at samba.org>

commit 2c90d2b4f0d61174a9cd35160ed0ae5d7cb2af6d
Author: Jeremy Allison <jra at samba.org>
Date:   Wed Sep 11 16:42:01 2019 -0700

    s3: VFS: vfs_acl_tdb. Implement unlinkat().
    
    Note this isn't identical to unlink() as
    this must cope with (flags & AT_REMOVEDIR),
    which is identical to rmdir(). It calls
    either unlink or rmdir depending on the
    flags parameter.
    
    Signed-off-by: Jeremy Allison <jra at samba.org>
    Reviewed-by: Ralph Boehme <slow at samba.org>

commit c58692cee919259edc4b95009925d516384bbc6a
Author: Jeremy Allison <jra at samba.org>
Date:   Wed Sep 11 14:37:31 2019 -0700

    s3: VFS: Add SMB_VFS_UNLINKAT().
    
    Currently identical to SMB_VFS_UNLINK().
    
    Next, add to all VFS modules that implement
    unlink and eventually remove unlink.
    
    Signed-off-by: Jeremy Allison <jra at samba.org>
    Reviewed-by: Ralph Boehme <slow at samba.org>

-----------------------------------------------------------------------

Summary of changes:
 examples/VFS/skel_opaque.c            |   8 +-
 examples/VFS/skel_transparent.c       |  13 +++-
 source3/include/smbprofile.h          |   2 +-
 source3/include/vfs.h                 |  19 +++--
 source3/include/vfs_macros.h          |   8 +-
 source3/lib/adouble.c                 |  25 +++++--
 source3/lib/adouble.h                 |   7 +-
 source3/modules/vfs_acl_common.c      |  14 +++-
 source3/modules/vfs_acl_common.h      |   4 +-
 source3/modules/vfs_acl_tdb.c         |  19 +++--
 source3/modules/vfs_acl_xattr.c       |  21 +++++-
 source3/modules/vfs_audit.c           |  16 ++--
 source3/modules/vfs_cap.c             |  13 +++-
 source3/modules/vfs_catia.c           |  13 +++-
 source3/modules/vfs_ceph.c            |  20 +++--
 source3/modules/vfs_ceph_snapshots.c  |  13 +++-
 source3/modules/vfs_default.c         |  18 +++--
 source3/modules/vfs_extd_audit.c      |  19 +++--
 source3/modules/vfs_fruit.c           | 134 +++++++++++++++++++++++++++-------
 source3/modules/vfs_full_audit.c      |  21 ++++--
 source3/modules/vfs_glusterfs.c       |  19 +++--
 source3/modules/vfs_media_harmony.c   |  26 ++++---
 source3/modules/vfs_not_implemented.c |   8 +-
 source3/modules/vfs_posix_eadb.c      |  32 +++++++-
 source3/modules/vfs_recycle.c         |  99 ++++++++++++++++++++-----
 source3/modules/vfs_shadow_copy2.c    |  13 +++-
 source3/modules/vfs_snapper.c         |  13 +++-
 source3/modules/vfs_streams_depot.c   |  36 +++++++--
 source3/modules/vfs_streams_xattr.c   |  38 ++++++++--
 source3/modules/vfs_syncops.c         |  15 +++-
 source3/modules/vfs_time_audit.c      |  15 ++--
 source3/modules/vfs_unityed_media.c   |  28 ++++---
 source3/modules/vfs_virusfilter.c     |  19 +++--
 source3/modules/vfs_xattr_tdb.c       |  22 ++++--
 source3/smbd/close.c                  |  38 ++++++++--
 source3/smbd/msdfs.c                  |  13 +++-
 source3/smbd/pysmbd.c                 |   5 +-
 source3/smbd/trans2.c                 |  15 +++-
 source3/smbd/vfs.c                    |  13 +++-
 source3/torture/cmd_vfs.c             |   5 +-
 40 files changed, 659 insertions(+), 220 deletions(-)


Changeset truncated at 500 lines:

diff --git a/examples/VFS/skel_opaque.c b/examples/VFS/skel_opaque.c
index c03a42fee04..59804675c8e 100644
--- a/examples/VFS/skel_opaque.c
+++ b/examples/VFS/skel_opaque.c
@@ -344,8 +344,10 @@ static uint64_t skel_get_alloc_size(struct vfs_handle_struct *handle,
 	return -1;
 }
 
-static int skel_unlink(vfs_handle_struct *handle,
-		       const struct smb_filename *smb_fname)
+static int skel_unlinkat(vfs_handle_struct *handle,
+			struct files_struct *dirfsp,
+			const struct smb_filename *smb_fname,
+			int flags)
 {
 	errno = ENOSYS;
 	return -1;
@@ -1076,7 +1078,7 @@ static struct vfs_fn_pointers skel_opaque_fns = {
 	.fstat_fn = skel_fstat,
 	.lstat_fn = skel_lstat,
 	.get_alloc_size_fn = skel_get_alloc_size,
-	.unlink_fn = skel_unlink,
+	.unlinkat_fn = skel_unlinkat,
 	.chmod_fn = skel_chmod,
 	.fchmod_fn = skel_fchmod,
 	.chown_fn = skel_chown,
diff --git a/examples/VFS/skel_transparent.c b/examples/VFS/skel_transparent.c
index 656c933338a..c73c2a2692b 100644
--- a/examples/VFS/skel_transparent.c
+++ b/examples/VFS/skel_transparent.c
@@ -462,10 +462,15 @@ static uint64_t skel_get_alloc_size(struct vfs_handle_struct *handle,
 	return SMB_VFS_NEXT_GET_ALLOC_SIZE(handle, fsp, sbuf);
 }
 
-static int skel_unlink(vfs_handle_struct *handle,
-		       const struct smb_filename *smb_fname)
+static int skel_unlinkat(vfs_handle_struct *handle,
+			struct files_struct *dirfsp,
+			const struct smb_filename *smb_fname,
+			int flags)
 {
-	return SMB_VFS_NEXT_UNLINK(handle, smb_fname);
+	return SMB_VFS_NEXT_UNLINKAT(handle,
+			dirfsp,
+			smb_fname,
+			flags);
 }
 
 static int skel_chmod(vfs_handle_struct *handle,
@@ -1361,7 +1366,7 @@ static struct vfs_fn_pointers skel_transparent_fns = {
 	.fstat_fn = skel_fstat,
 	.lstat_fn = skel_lstat,
 	.get_alloc_size_fn = skel_get_alloc_size,
-	.unlink_fn = skel_unlink,
+	.unlinkat_fn = skel_unlinkat,
 	.chmod_fn = skel_chmod,
 	.fchmod_fn = skel_fchmod,
 	.chown_fn = skel_chown,
diff --git a/source3/include/smbprofile.h b/source3/include/smbprofile.h
index 489a613e3df..cc54dea2710 100644
--- a/source3/include/smbprofile.h
+++ b/source3/include/smbprofile.h
@@ -67,7 +67,7 @@ struct tevent_context;
 	SMBPROFILE_STATS_BASIC(syscall_fstat) \
 	SMBPROFILE_STATS_BASIC(syscall_lstat) \
 	SMBPROFILE_STATS_BASIC(syscall_get_alloc_size) \
-	SMBPROFILE_STATS_BASIC(syscall_unlink) \
+	SMBPROFILE_STATS_BASIC(syscall_unlinkat) \
 	SMBPROFILE_STATS_BASIC(syscall_chmod) \
 	SMBPROFILE_STATS_BASIC(syscall_fchmod) \
 	SMBPROFILE_STATS_BASIC(syscall_chown) \
diff --git a/source3/include/vfs.h b/source3/include/vfs.h
index 47147821ffd..6ba653f56c7 100644
--- a/source3/include/vfs.h
+++ b/source3/include/vfs.h
@@ -281,6 +281,7 @@
 /* Version 42 - Move change_to_user() -> change_to_user_and_service() */
 /* Version 42 - Move change_to_user_by_fsp() -> change_to_user_and_service_by_fsp() */
 /* Version 42 - Move [un]become_user*() -> [un]become_user_without_service*() */
+/* Version 42 - Move SMB_VFS_UNLINK -> SMB_VFS_UNLINKAT. */
 
 #define SMB_VFS_INTERFACE_VERSION 42
 
@@ -776,8 +777,10 @@ struct vfs_fn_pointers {
 	int (*fstat_fn)(struct vfs_handle_struct *handle, struct files_struct *fsp, SMB_STRUCT_STAT *sbuf);
 	int (*lstat_fn)(struct vfs_handle_struct *handle, struct smb_filename *smb_filename);
 	uint64_t (*get_alloc_size_fn)(struct vfs_handle_struct *handle, struct files_struct *fsp, const SMB_STRUCT_STAT *sbuf);
-	int (*unlink_fn)(struct vfs_handle_struct *handle,
-			 const struct smb_filename *smb_fname);
+	int (*unlinkat_fn)(struct vfs_handle_struct *handle,
+			struct files_struct *srcdir_fsp,
+			const struct smb_filename *smb_fname,
+			int flags);
 	int (*chmod_fn)(struct vfs_handle_struct *handle,
 			const struct smb_filename *smb_fname,
 			mode_t mode);
@@ -1303,8 +1306,10 @@ int smb_vfs_call_lstat(struct vfs_handle_struct *handle,
 uint64_t smb_vfs_call_get_alloc_size(struct vfs_handle_struct *handle,
 				     struct files_struct *fsp,
 				     const SMB_STRUCT_STAT *sbuf);
-int smb_vfs_call_unlink(struct vfs_handle_struct *handle,
-			const struct smb_filename *smb_fname);
+int smb_vfs_call_unlinkat(struct vfs_handle_struct *handle,
+			struct files_struct *dirfsp,
+			const struct smb_filename *smb_fname,
+			int flags);
 int smb_vfs_call_chmod(struct vfs_handle_struct *handle,
 			const struct smb_filename *smb_fname,
 			mode_t mode);
@@ -1740,8 +1745,10 @@ int vfs_not_implemented_lstat(vfs_handle_struct *handle,
 uint64_t vfs_not_implemented_get_alloc_size(struct vfs_handle_struct *handle,
 					    struct files_struct *fsp,
 					    const SMB_STRUCT_STAT *sbuf);
-int vfs_not_implemented_unlink(vfs_handle_struct *handle,
-			       const struct smb_filename *smb_fname);
+int vfs_not_implemented_unlinkat(vfs_handle_struct *handle,
+				struct files_struct *dirfsp,
+				const struct smb_filename *smb_fname,
+				int flags);
 int vfs_not_implemented_chmod(vfs_handle_struct *handle,
 			      const struct smb_filename *smb_fname,
 			      mode_t mode);
diff --git a/source3/include/vfs_macros.h b/source3/include/vfs_macros.h
index 6d95d840e25..2979769e7d5 100644
--- a/source3/include/vfs_macros.h
+++ b/source3/include/vfs_macros.h
@@ -221,10 +221,10 @@
 #define SMB_VFS_NEXT_GET_ALLOC_SIZE(conn, fsp, sbuf) \
 	smb_vfs_call_get_alloc_size((conn)->next, (fsp), (sbuf))
 
-#define SMB_VFS_UNLINK(conn, path) \
-	smb_vfs_call_unlink((conn)->vfs_handles, (path))
-#define SMB_VFS_NEXT_UNLINK(handle, path) \
-	smb_vfs_call_unlink((handle)->next, (path))
+#define SMB_VFS_UNLINKAT(conn, dirfsp, path, flags) \
+	smb_vfs_call_unlinkat((conn)->vfs_handles, (dirfsp), (path), (flags))
+#define SMB_VFS_NEXT_UNLINKAT(handle, dirfsp, path, flags) \
+	smb_vfs_call_unlinkat((handle)->next, (dirfsp), (path), (flags))
 
 #define SMB_VFS_CHMOD(conn, smb_fname, mode) \
 	smb_vfs_call_chmod((conn)->vfs_handles, (smb_fname), (mode))
diff --git a/source3/lib/adouble.c b/source3/lib/adouble.c
index 9690f65b8a7..5cac5dbd9bb 100644
--- a/source3/lib/adouble.c
+++ b/source3/lib/adouble.c
@@ -1343,9 +1343,10 @@ static bool ad_convert_blank_rfork(vfs_handle_struct *handle,
 }
 
 static bool ad_convert_delete_adfile(vfs_handle_struct *handle,
-				     struct adouble *ad,
-				     const struct smb_filename *smb_fname,
-				     uint32_t flags)
+				struct adouble *ad,
+				struct files_struct *dirfsp,
+				const struct smb_filename *smb_fname,
+				uint32_t flags)
 {
 	struct smb_filename *ad_name = NULL;
 	int rc;
@@ -1363,7 +1364,10 @@ static bool ad_convert_delete_adfile(vfs_handle_struct *handle,
 		return false;
 	}
 
-	rc = SMB_VFS_NEXT_UNLINK(handle, ad_name);
+	rc = SMB_VFS_NEXT_UNLINKAT(handle,
+			dirfsp,
+			ad_name,
+			0);
 	if (rc != 0) {
 		DBG_ERR("Unlinking [%s] failed: %s\n",
 			smb_fname_str_dbg(ad_name), strerror(errno));
@@ -1387,9 +1391,10 @@ static bool ad_convert_delete_adfile(vfs_handle_struct *handle,
  * otherwise
  **/
 int ad_convert(struct vfs_handle_struct *handle,
-	       const struct smb_filename *smb_fname,
-	       const char *catia_mappings,
-	       uint32_t flags)
+		struct files_struct *dirfsp,
+		const struct smb_filename *smb_fname,
+		const char *catia_mappings,
+		uint32_t flags)
 {
 	struct adouble *ad = NULL;
 	bool ok;
@@ -1434,7 +1439,11 @@ int ad_convert(struct vfs_handle_struct *handle,
 		goto done;
 	}
 
-	ok = ad_convert_delete_adfile(handle, ad, smb_fname, flags);
+	ok = ad_convert_delete_adfile(handle,
+			ad,
+			dirfsp,
+			smb_fname,
+			flags);
 	if (!ok) {
 		ret = -1;
 		goto done;
diff --git a/source3/lib/adouble.h b/source3/lib/adouble.h
index 71072d32560..90a825c502e 100644
--- a/source3/lib/adouble.h
+++ b/source3/lib/adouble.h
@@ -154,9 +154,10 @@ char *ad_get_entry(const struct adouble *ad, int eid);
 int ad_getdate(const struct adouble *ad, unsigned int dateoff, uint32_t *date);
 int ad_setdate(struct adouble *ad, unsigned int dateoff, uint32_t date);
 int ad_convert(struct vfs_handle_struct *handle,
-	       const struct smb_filename *smb_fname,
-	       const char *catia_mappings,
-	       uint32_t flags);
+		struct files_struct *dirfsp,
+		const struct smb_filename *smb_fname,
+		const char *catia_mappings,
+		uint32_t flags);
 bool ad_unconvert(TALLOC_CTX *mem_ctx,
 		  struct vfs_handle_struct *handle,
 		  const char *catia_mappings,
diff --git a/source3/modules/vfs_acl_common.c b/source3/modules/vfs_acl_common.c
index 315dc2bd761..6ddb983964e 100644
--- a/source3/modules/vfs_acl_common.c
+++ b/source3/modules/vfs_acl_common.c
@@ -1157,7 +1157,10 @@ static int acl_common_remove_object(vfs_handle_struct *handle,
 	if (is_directory) {
 		ret = SMB_VFS_NEXT_RMDIR(handle, &local_fname);
 	} else {
-		ret = SMB_VFS_NEXT_UNLINK(handle, &local_fname);
+		ret = SMB_VFS_NEXT_UNLINKAT(handle,
+				conn->cwd_fsp,
+				&local_fname,
+				0);
 	}
 	unbecome_root();
 
@@ -1204,12 +1207,17 @@ int rmdir_acl_common(struct vfs_handle_struct *handle,
 }
 
 int unlink_acl_common(struct vfs_handle_struct *handle,
-			const struct smb_filename *smb_fname)
+			struct files_struct *dirfsp,
+			const struct smb_filename *smb_fname,
+			int flags)
 {
 	int ret;
 
 	/* Try the normal unlink first. */
-	ret = SMB_VFS_NEXT_UNLINK(handle, smb_fname);
+	ret = SMB_VFS_NEXT_UNLINKAT(handle,
+				dirfsp,
+				smb_fname,
+				flags);
 	if (ret == 0) {
 		return 0;
 	}
diff --git a/source3/modules/vfs_acl_common.h b/source3/modules/vfs_acl_common.h
index f8bc48bf65b..d36e68c161b 100644
--- a/source3/modules/vfs_acl_common.h
+++ b/source3/modules/vfs_acl_common.h
@@ -35,7 +35,9 @@ bool init_acl_common_config(vfs_handle_struct *handle,
 int rmdir_acl_common(struct vfs_handle_struct *handle,
 		     const struct smb_filename *smb_fname);
 int unlink_acl_common(struct vfs_handle_struct *handle,
-		      const struct smb_filename *smb_fname);
+			struct files_struct *dirfsp,
+			const struct smb_filename *smb_fname,
+			int flags);
 int chmod_acl_module_common(struct vfs_handle_struct *handle,
 			    const struct smb_filename *smb_fname,
 			    mode_t mode);
diff --git a/source3/modules/vfs_acl_tdb.c b/source3/modules/vfs_acl_tdb.c
index e3945c404ae..1c58b59f244 100644
--- a/source3/modules/vfs_acl_tdb.c
+++ b/source3/modules/vfs_acl_tdb.c
@@ -234,11 +234,13 @@ static NTSTATUS store_acl_blob_fsp(vfs_handle_struct *handle,
 }
 
 /*********************************************************************
- On unlink we need to delete the tdb record (if using tdb).
+ On unlinkat we need to delete the tdb record (if using tdb).
 *********************************************************************/
 
-static int unlink_acl_tdb(vfs_handle_struct *handle,
-			  const struct smb_filename *smb_fname)
+static int unlinkat_acl_tdb(vfs_handle_struct *handle,
+			struct files_struct *dirfsp,
+			const struct smb_filename *smb_fname,
+			int flags)
 {
 	struct smb_filename *smb_fname_tmp = NULL;
 	struct db_context *db = acl_db;
@@ -260,7 +262,14 @@ static int unlink_acl_tdb(vfs_handle_struct *handle,
 		goto out;
 	}
 
-	ret = unlink_acl_common(handle, smb_fname_tmp);
+	if (flags & AT_REMOVEDIR) {
+		ret = rmdir_acl_common(handle, smb_fname_tmp);
+	} else {
+		ret = unlink_acl_common(handle,
+				dirfsp,
+				smb_fname_tmp,
+				flags);
+	}
 
 	if (ret == -1) {
 		goto out;
@@ -489,7 +498,7 @@ static struct vfs_fn_pointers vfs_acl_tdb_fns = {
 	.connect_fn = connect_acl_tdb,
 	.disconnect_fn = disconnect_acl_tdb,
 	.rmdir_fn = rmdir_acl_tdb,
-	.unlink_fn = unlink_acl_tdb,
+	.unlinkat_fn = unlinkat_acl_tdb,
 	.chmod_fn = chmod_acl_module_common,
 	.fchmod_fn = fchmod_acl_module_common,
 	.fget_nt_acl_fn = acl_tdb_fget_nt_acl,
diff --git a/source3/modules/vfs_acl_xattr.c b/source3/modules/vfs_acl_xattr.c
index b8190fd4b1c..890e6b40862 100644
--- a/source3/modules/vfs_acl_xattr.c
+++ b/source3/modules/vfs_acl_xattr.c
@@ -20,6 +20,7 @@
 
 #include "includes.h"
 #include "smbd/smbd.h"
+#include "system/filesys.h"
 #include "librpc/gen_ndr/xattr.h"
 #include "auth.h"
 #include "vfs_acl_common.h"
@@ -277,6 +278,24 @@ static int connect_acl_xattr(struct vfs_handle_struct *handle,
 	return 0;
 }
 
+static int acl_xattr_unlinkat(vfs_handle_struct *handle,
+                        struct files_struct *dirfsp,
+                        const struct smb_filename *smb_fname,
+                        int flags)
+{
+	int ret;
+
+	if (flags & AT_REMOVEDIR) {
+		ret = rmdir_acl_common(handle, smb_fname);
+	} else {
+		ret = unlink_acl_common(handle,
+				dirfsp,
+				smb_fname,
+				flags);
+	}
+	return ret;
+}
+
 static NTSTATUS acl_xattr_fget_nt_acl(vfs_handle_struct *handle,
 				      files_struct *fsp,
 				      uint32_t security_info,
@@ -316,7 +335,7 @@ static NTSTATUS acl_xattr_fset_nt_acl(vfs_handle_struct *handle,
 static struct vfs_fn_pointers vfs_acl_xattr_fns = {
 	.connect_fn = connect_acl_xattr,
 	.rmdir_fn = rmdir_acl_common,
-	.unlink_fn = unlink_acl_common,
+	.unlinkat_fn = acl_xattr_unlinkat,
 	.chmod_fn = chmod_acl_module_common,
 	.fchmod_fn = fchmod_acl_module_common,
 	.fget_nt_acl_fn = acl_xattr_fget_nt_acl,
diff --git a/source3/modules/vfs_audit.c b/source3/modules/vfs_audit.c
index 718d13d7c9c..8c6b23e6878 100644
--- a/source3/modules/vfs_audit.c
+++ b/source3/modules/vfs_audit.c
@@ -283,15 +283,19 @@ static int audit_renameat(vfs_handle_struct *handle,
 	return result;
 }
 
-
-static int audit_unlink(vfs_handle_struct *handle,
-			const struct smb_filename *smb_fname)
+static int audit_unlinkat(vfs_handle_struct *handle,
+			struct files_struct *dirfsp,
+			const struct smb_filename *smb_fname,
+			int flags)
 {
 	int result;
 
-	result = SMB_VFS_NEXT_UNLINK(handle, smb_fname);
+	result = SMB_VFS_NEXT_UNLINKAT(handle,
+			dirfsp,
+			smb_fname,
+			flags);
 
-	syslog(audit_syslog_priority(handle), "unlink %s %s%s\n",
+	syslog(audit_syslog_priority(handle), "unlinkat %s %s%s\n",
 	       smb_fname->base_name,
 	       (result < 0) ? "failed: " : "",
 	       (result < 0) ? strerror(errno) : "");
@@ -338,7 +342,7 @@ static struct vfs_fn_pointers vfs_audit_fns = {
 	.open_fn = audit_open,
 	.close_fn = audit_close,
 	.renameat_fn = audit_renameat,
-	.unlink_fn = audit_unlink,
+	.unlinkat_fn = audit_unlinkat,
 	.chmod_fn = audit_chmod,
 	.fchmod_fn = audit_fchmod,
 };
diff --git a/source3/modules/vfs_cap.c b/source3/modules/vfs_cap.c
index 683e4fbc6d4..9b7a855bab3 100644
--- a/source3/modules/vfs_cap.c
+++ b/source3/modules/vfs_cap.c
@@ -317,8 +317,10 @@ static int cap_lstat(vfs_handle_struct *handle, struct smb_filename *smb_fname)
 	return ret;
 }
 
-static int cap_unlink(vfs_handle_struct *handle,
-		      const struct smb_filename *smb_fname)
+static int cap_unlinkat(vfs_handle_struct *handle,
+			struct files_struct *dirfsp,
+			const struct smb_filename *smb_fname,
+			int flags)
 {
 	struct smb_filename *smb_fname_tmp = NULL;
 	char *cappath = NULL;
@@ -339,7 +341,10 @@ static int cap_unlink(vfs_handle_struct *handle,
 
 	smb_fname_tmp->base_name = cappath;
 
-	ret = SMB_VFS_NEXT_UNLINK(handle, smb_fname_tmp);
+	ret = SMB_VFS_NEXT_UNLINKAT(handle,
+			dirfsp,
+			smb_fname_tmp,
+			flags);
 
 	TALLOC_FREE(smb_fname_tmp);
 	return ret;
@@ -1041,7 +1046,7 @@ static struct vfs_fn_pointers vfs_cap_fns = {
 	.renameat_fn = cap_renameat,
 	.stat_fn = cap_stat,
 	.lstat_fn = cap_lstat,
-	.unlink_fn = cap_unlink,
+	.unlinkat_fn = cap_unlinkat,
 	.chmod_fn = cap_chmod,
 	.chown_fn = cap_chown,
 	.lchown_fn = cap_lchown,
diff --git a/source3/modules/vfs_catia.c b/source3/modules/vfs_catia.c
index 46a4e1ed0bd..ed79edc23a7 100644
--- a/source3/modules/vfs_catia.c
+++ b/source3/modules/vfs_catia.c
@@ -676,8 +676,10 @@ static int catia_lstat(vfs_handle_struct *handle,
 	return ret;
 }
 
-static int catia_unlink(vfs_handle_struct *handle,
-			const struct smb_filename *smb_fname)
+static int catia_unlinkat(vfs_handle_struct *handle,
+			struct files_struct *dirfsp,
+			const struct smb_filename *smb_fname,
+			int flags)
 {
 	struct smb_filename *smb_fname_tmp = NULL;
 	char *name = NULL;
@@ -700,7 +702,10 @@ static int catia_unlink(vfs_handle_struct *handle,
 	}
 
 	smb_fname_tmp->base_name = name;
-	ret = SMB_VFS_NEXT_UNLINK(handle, smb_fname_tmp);
+	ret = SMB_VFS_NEXT_UNLINKAT(handle,
+			dirfsp,
+			smb_fname_tmp,
+			flags);
 	TALLOC_FREE(smb_fname_tmp);
 	TALLOC_FREE(name);
 
@@ -2456,7 +2461,7 @@ static struct vfs_fn_pointers vfs_catia_fns = {
 	.stat_fn = catia_stat,
 	.fstat_fn = catia_fstat,
 	.lstat_fn = catia_lstat,
-	.unlink_fn = catia_unlink,
+	.unlinkat_fn = catia_unlinkat,
 	.chmod_fn = catia_chmod,
 	.fchmod_fn = catia_fchmod,
 	.chown_fn = catia_chown,
diff --git a/source3/modules/vfs_ceph.c b/source3/modules/vfs_ceph.c
index d90e4ab3987..6c21005125e 100644
--- a/source3/modules/vfs_ceph.c
+++ b/source3/modules/vfs_ceph.c
@@ -32,6 +32,7 @@
 
 #include "includes.h"
 #include "smbd/smbd.h"
+#include "system/filesys.h"
 #include <dirent.h>
 #include <sys/statvfs.h>
 #include "cephfs/libcephfs.h"
@@ -936,17 +937,26 @@ static int cephwrap_ntimes(struct vfs_handle_struct *handle,
 }
 #endif /* HAVE_CEPH_STATX */
 
-static int cephwrap_unlink(struct vfs_handle_struct *handle,
-			  const struct smb_filename *smb_fname)
+static int cephwrap_unlinkat(struct vfs_handle_struct *handle,
+			struct files_struct *dirfsp,
+			const struct smb_filename *smb_fname,
+			int flags)
 {
 	int result = -1;
 
-	DBG_DEBUG("[CEPH] unlink(%p, %s)\n", handle, smb_fname_str_dbg(smb_fname));
+	DBG_DEBUG("[CEPH] unlink(%p, %s)\n",


-- 
Samba Shared Repository



More information about the samba-cvs mailing list