]> git.ipfire.org Git - thirdparty/samba.git/commitdiff
vfs_btrfs: fix btrfs_fget_compression()
authorRalph Boehme <slow@samba.org>
Mon, 9 Aug 2021 17:30:21 +0000 (19:30 +0200)
committerJeremy Allison <jra@samba.org>
Fri, 10 Sep 2021 18:16:18 +0000 (18:16 +0000)
BUG: https://bugzilla.samba.org/show_bug.cgi?id=14790
RB: vfs_btrfs compression support broken

Reported-by: noel.kuntze@thermi.consulting
Signed-off-by: Ralph Boehme <slow@samba.org>
Reviewed-by: Jeremy Allison <jra@samba.org>
Autobuild-User(master): Jeremy Allison <jra@samba.org>
Autobuild-Date(master): Fri Sep 10 18:16:18 UTC 2021 on sn-devel-184

source3/modules/vfs_btrfs.c

index 789bc6d6e8a10ace88ce213ab002250132abfb8a..a31b232af4d3ed0d8890a8696fa2cf5f5311a754 100644 (file)
@@ -460,11 +460,12 @@ static NTSTATUS btrfs_fget_compression(struct vfs_handle_struct *handle,
        const char *p = NULL;
        int ret;
        long flags = 0;
+       int fsp_fd = fsp_get_pathref_fd(fsp);
        int fd = -1;
        NTSTATUS status;
 
        if (!fsp->fsp_flags.is_pathref) {
-               ret = ioctl(fd, FS_IOC_GETFLAGS, &flags);
+               ret = ioctl(fsp_fd, FS_IOC_GETFLAGS, &flags);
                if (ret < 0) {
                        DBG_WARNING("FS_IOC_GETFLAGS failed: %s, fd %lld\n",
                                    strerror(errno), (long long)fd);
@@ -482,9 +483,7 @@ static NTSTATUS btrfs_fget_compression(struct vfs_handle_struct *handle,
                return NT_STATUS_NOT_IMPLEMENTED;
        }
 
-       fd = fsp_get_pathref_fd(fsp);
-
-       p = sys_proc_fd_path(fd, buf, sizeof(buf));
+       p = sys_proc_fd_path(fsp_fd, buf, sizeof(buf));
        if (p == NULL) {
                return NT_STATUS_NO_MEMORY;
        }