]> git.ipfire.org Git - thirdparty/samba.git/commitdiff
s3: torture: Change cmd_removexattr to use SMB_VFS_FREMOVEXATTR().
authorJeremy Allison <jra@samba.org>
Fri, 19 Mar 2021 20:12:12 +0000 (13:12 -0700)
committerRalph Boehme <slow@samba.org>
Wed, 7 Apr 2021 16:26:28 +0000 (16:26 +0000)
The last user of SMB_VFS_REMOVEXATTR() is gone, I can now
remove the internal VFS functions implementing it.

Signed-off-by: Jeremy Allison <jra@samba.org>
Reviewed-by: Ralph Boehme <slow@samba.org>
source3/torture/cmd_vfs.c

index 8c4f3bdc7e70aa366635219f41d65b9171540a33..fec7af8a6fb25f635de122a05cc8224c2f6eb683 100644 (file)
@@ -1516,24 +1516,32 @@ static NTSTATUS cmd_removexattr(struct vfs_state *vfs, TALLOC_CTX *mem_ctx,
 {
        ssize_t ret;
        struct smb_filename *smb_fname = NULL;
+       struct smb_filename *pathref_fname = NULL;
+       NTSTATUS status;
 
        if (argc != 3) {
                printf("Usage: removexattr <path> <xattr>\n");
                return NT_STATUS_OK;
        }
 
-       smb_fname = synthetic_smb_fname(talloc_tos(),
+       smb_fname = synthetic_smb_fname_split(mem_ctx,
                                        argv[1],
-                                       NULL,
-                                       NULL,
-                                       0,
-                                       ssf_flags());
-
+                                       lp_posix_pathnames());
        if (smb_fname == NULL) {
                return NT_STATUS_NO_MEMORY;
        }
-
-       ret = SMB_VFS_REMOVEXATTR(vfs->conn, smb_fname, argv[2]);
+       status = synthetic_pathref(mem_ctx,
+                               vfs->conn->cwd_fsp,
+                               smb_fname->base_name,
+                               NULL,
+                               NULL,
+                               smb_fname->twrp,
+                               smb_fname->flags,
+                               &pathref_fname);
+       if (!NT_STATUS_IS_OK(status)) {
+               return status;
+       }
+       ret = SMB_VFS_FREMOVEXATTR(pathref_fname->fsp, argv[2]);
        if (ret == -1) {
                int err = errno;
                printf("removexattr returned (%s)\n", strerror(err));