提交 ced93679 编写于 作者: R Ronnie Sahlberg 提交者: Steve French

cifs: remove rfc1002 header from smb2_lock_req

Signed-off-by: NRonnie Sahlberg <lsahlber@redhat.com>
Signed-off-by: NSteve French <smfrench@gmail.com>
上级 1f444e4c
...@@ -3521,34 +3521,33 @@ smb2_lockv(const unsigned int xid, struct cifs_tcon *tcon, ...@@ -3521,34 +3521,33 @@ smb2_lockv(const unsigned int xid, struct cifs_tcon *tcon,
int resp_buf_type; int resp_buf_type;
unsigned int count; unsigned int count;
int flags = CIFS_NO_RESP; int flags = CIFS_NO_RESP;
unsigned int total_len;
cifs_dbg(FYI, "smb2_lockv num lock %d\n", num_lock); cifs_dbg(FYI, "smb2_lockv num lock %d\n", num_lock);
rc = small_smb2_init(SMB2_LOCK, tcon, (void **) &req); rc = smb2_plain_req_init(SMB2_LOCK, tcon, (void **) &req, &total_len);
if (rc) if (rc)
return rc; return rc;
if (encryption_required(tcon)) if (encryption_required(tcon))
flags |= CIFS_TRANSFORM_REQ; flags |= CIFS_TRANSFORM_REQ;
req->hdr.sync_hdr.ProcessId = cpu_to_le32(pid); req->sync_hdr.ProcessId = cpu_to_le32(pid);
req->LockCount = cpu_to_le16(num_lock); req->LockCount = cpu_to_le16(num_lock);
req->PersistentFileId = persist_fid; req->PersistentFileId = persist_fid;
req->VolatileFileId = volatile_fid; req->VolatileFileId = volatile_fid;
count = num_lock * sizeof(struct smb2_lock_element); count = num_lock * sizeof(struct smb2_lock_element);
inc_rfc1001_len(req, count - sizeof(struct smb2_lock_element));
iov[0].iov_base = (char *)req; iov[0].iov_base = (char *)req;
/* 4 for rfc1002 length field and count for all locks */ iov[0].iov_len = total_len - sizeof(struct smb2_lock_element);
iov[0].iov_len = get_rfc1002_length(req) + 4 - count;
iov[1].iov_base = (char *)buf; iov[1].iov_base = (char *)buf;
iov[1].iov_len = count; iov[1].iov_len = count;
cifs_stats_inc(&tcon->stats.cifs_stats.num_locks); cifs_stats_inc(&tcon->stats.cifs_stats.num_locks);
rc = SendReceive2(xid, tcon->ses, iov, 2, &resp_buf_type, flags, rc = smb2_send_recv(xid, tcon->ses, iov, 2, &resp_buf_type, flags,
&rsp_iov); &rsp_iov);
cifs_small_buf_release(req); cifs_small_buf_release(req);
if (rc) { if (rc) {
cifs_dbg(FYI, "Send error in smb2_lockv = %d\n", rc); cifs_dbg(FYI, "Send error in smb2_lockv = %d\n", rc);
......
...@@ -907,7 +907,7 @@ struct smb2_lock_element { ...@@ -907,7 +907,7 @@ struct smb2_lock_element {
} __packed; } __packed;
struct smb2_lock_req { struct smb2_lock_req {
struct smb2_hdr hdr; struct smb2_sync_hdr sync_hdr;
__le16 StructureSize; /* Must be 48 */ __le16 StructureSize; /* Must be 48 */
__le16 LockCount; __le16 LockCount;
__le32 Reserved; __le32 Reserved;
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册