Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit e19b2bc0 authored by Ronnie Sahlberg's avatar Ronnie Sahlberg Committed by Steve French
Browse files

cifs: add resp_buf_size to the mid_q_entry structure



and get rid of some more calls to get_rfc1002_length()

Signed-off-by: default avatarRonnie Sahlberg <lsahlber@redhat.com>
Signed-off-by: default avatarSteve French <smfrench@gmail.com>
Reviewed-by: default avatarPavel Shilovsky <pshilov@microsoft.com>
parent 0d4b46ba
Loading
Loading
Loading
Loading
+1 −0
Original line number Diff line number Diff line
@@ -1376,6 +1376,7 @@ struct mid_q_entry {
	mid_handle_t *handle; /* call handle mid callback */
	void *callback_data;	  /* general purpose pointer for callback */
	void *resp_buf;		/* pointer to received SMB header */
	unsigned int resp_buf_size;
	int mid_state;	/* wish this were enum but can not pass to wait_event */
	unsigned int mid_flags;
	__le16 command;		/* smb command code */
+1 −0
Original line number Diff line number Diff line
@@ -928,6 +928,7 @@ cifs_demultiplex_thread(void *p)

		server->lstrp = jiffies;
		if (mid_entry != NULL) {
			mid_entry->resp_buf_size = server->pdu_size;
			if ((mid_entry->mid_flags & MID_WAIT_CANCELLED) &&
			     mid_entry->mid_state == MID_RESPONSE_RECEIVED &&
					server->ops->handle_cancelled_mid)
+1 −1
Original line number Diff line number Diff line
@@ -604,7 +604,7 @@ int
smb2_check_receive(struct mid_q_entry *mid, struct TCP_Server_Info *server,
		   bool log_error)
{
	unsigned int len = get_rfc1002_length(mid->resp_buf);
	unsigned int len = mid->resp_buf_size;
	struct kvec iov[2];
	struct smb_rqst rqst = { .rq_iov = iov,
				 .rq_nvec = 2 };
+1 −1
Original line number Diff line number Diff line
@@ -790,7 +790,7 @@ cifs_send_recv(const unsigned int xid, struct cifs_ses *ses,

	buf = (char *)midQ->resp_buf;
	resp_iov->iov_base = buf;
	resp_iov->iov_len = get_rfc1002_length(buf) +
	resp_iov->iov_len = midQ->resp_buf_size +
		ses->server->vals->header_preamble_size;
	if (midQ->large_buf)
		*resp_buf_type = CIFS_LARGE_BUFFER;