smb3: set COMPOUND_FID to FileID field of subsequent compound request
authorNamjae Jeon <namjae.jeon@samsung.com>
Thu, 3 Dec 2020 03:31:36 +0000 (12:31 +0900)
committerSteve French <stfrench@microsoft.com>
Thu, 3 Dec 2020 23:02:52 +0000 (17:02 -0600)
For an operation compounded with an SMB2 CREATE request, client must set
COMPOUND_FID(0xFFFFFFFFFFFFFFFF) to FileID field of smb2 ioctl.

Signed-off-by: Namjae Jeon <namjae.jeon@samsung.com>
Fixes: 2e4564b31b645 ("smb3: add support stat of WSL reparse points for special file types")
Reviewed-by: Aurelien Aptel <aaptel@suse.com>
Reviewed-by: Ronnie Sahlberg <lsahlber@redhat.com>
Signed-off-by: Steve French <stfrench@microsoft.com>
fs/cifs/smb2ops.c

index dab94f6..3d914d7 100644 (file)
@@ -3114,8 +3114,8 @@ smb2_query_reparse_tag(const unsigned int xid, struct cifs_tcon *tcon,
        rqst[1].rq_nvec = SMB2_IOCTL_IOV_SIZE;
 
        rc = SMB2_ioctl_init(tcon, server,
-                            &rqst[1], fid.persistent_fid,
-                            fid.volatile_fid, FSCTL_GET_REPARSE_POINT,
+                            &rqst[1], COMPOUND_FID,
+                            COMPOUND_FID, FSCTL_GET_REPARSE_POINT,
                             true /* is_fctl */, NULL, 0,
                             CIFSMaxBufSize -
                             MAX_SMB2_CREATE_RESPONSE_SIZE -