cifs: remove rfc1002 header from smb2_close_req
authorRonnie Sahlberg <lsahlber@redhat.com>
Thu, 9 Nov 2017 01:14:19 +0000 (12:14 +1100)
committerSteve French <smfrench@gmail.com>
Thu, 25 Jan 2018 01:49:04 +0000 (19:49 -0600)
Signed-off-by: Ronnie Sahlberg <lsahlber@redhat.com>
Reviewed-by: Aurelien Aptel <aaptel@suse.com>
Signed-off-by: Steve French <smfrench@gmail.com>
Acked-by: Pavel Shilovsky <pshilov@microsoft.com>
fs/cifs/smb2pdu.c
fs/cifs/smb2pdu.h

index 0c58bff30de0be5bd30bea850978b8e02f7452e5..5e3fa87da541832123c1608deed8362e08a120a3 100644 (file)
@@ -2094,13 +2094,14 @@ SMB2_close(const unsigned int xid, struct cifs_tcon *tcon,
        int resp_buftype;
        int rc = 0;
        int flags = 0;
+       unsigned int total_len;
 
        cifs_dbg(FYI, "Close\n");
 
        if (!ses || !(ses->server))
                return -EIO;
 
-       rc = small_smb2_init(SMB2_CLOSE, tcon, (void **) &req);
+       rc = smb2_plain_req_init(SMB2_CLOSE, tcon, (void **) &req, &total_len);
        if (rc)
                return rc;
 
@@ -2111,10 +2112,9 @@ SMB2_close(const unsigned int xid, struct cifs_tcon *tcon,
        req->VolatileFileId = volatile_fid;
 
        iov[0].iov_base = (char *)req;
-       /* 4 for rfc1002 length field */
-       iov[0].iov_len = get_rfc1002_length(req) + 4;
+       iov[0].iov_len = total_len;
 
-       rc = SendReceive2(xid, ses, iov, 1, &resp_buftype, flags, &rsp_iov);
+       rc = smb2_send_recv(xid, ses, iov, 1, &resp_buftype, flags, &rsp_iov);
        cifs_small_buf_release(req);
        rsp = (struct smb2_close_rsp *)rsp_iov.iov_base;
 
index 8b7aadefd4a5b220a6137237199b5c84c3cdd990..5404207d9ee76f3eb5d2a1b764fa6d76a0a83cbc 100644 (file)
@@ -789,7 +789,7 @@ struct smb2_ioctl_rsp {
 /* Currently defined values for close flags */
 #define SMB2_CLOSE_FLAG_POSTQUERY_ATTRIB       cpu_to_le16(0x0001)
 struct smb2_close_req {
-       struct smb2_hdr hdr;
+       struct smb2_sync_hdr sync_hdr;
        __le16 StructureSize;   /* Must be 24 */
        __le16 Flags;
        __le32 Reserved;