s3: VFS: vfs_default. Convert underlying system call to renameat().
authorJeremy Allison <jra@samba.org>
Mon, 12 Aug 2019 17:34:37 +0000 (10:34 -0700)
committerJeremy Allison <jra@samba.org>
Fri, 16 Aug 2019 21:10:14 +0000 (21:10 +0000)
Signed-off-by: Jeremy Allison <jra@samba.org>
Reviewed-by: Ralph Boehme <slow@samba.org>
Autobuild-User(master): Jeremy Allison <jra@samba.org>
Autobuild-Date(master): Fri Aug 16 21:10:14 UTC 2019 on sn-devel-184

source3/modules/vfs_default.c

index 3ef94d26b6097e89362800c78006e756558bf463..a2b6bf6e669b1c8a68ff7147f21e2e805332920d 100644 (file)
@@ -1077,15 +1077,15 @@ static int vfswrap_renameat(vfs_handle_struct *handle,
 
        START_PROFILE(syscall_renameat);
 
-       SMB_ASSERT(srcfsp->fh->fd == AT_FDCWD);
-       SMB_ASSERT(dstfsp->fh->fd == AT_FDCWD);
-
        if (smb_fname_src->stream_name || smb_fname_dst->stream_name) {
                errno = ENOENT;
                goto out;
        }
 
-       result = rename(smb_fname_src->base_name, smb_fname_dst->base_name);
+       result = renameat(srcfsp->fh->fd,
+                       smb_fname_src->base_name,
+                       dstfsp->fh->fd,
+                       smb_fname_dst->base_name);
 
  out:
        END_PROFILE(syscall_renameat);