Commit d5227c88 authored by David Howells's avatar David Howells Committed by Steve French
Browse files

cifs: Add the smb3_read_* tracepoints to SMB1



Add the smb3_read_* tracepoints to SMB1's cifs_async_readv() and
cifs_readv_callback().

Signed-off-by: default avatarDavid Howells <dhowells@redhat.com>
cc: Steve French <sfrench@samba.org>
cc: Paulo Alcantara <pc@manguebit.org>
cc: linux-cifs@vger.kernel.org
cc: linux-fsdevel@vger.kernel.org
Signed-off-by: default avatarSteve French <stfrench@microsoft.com>
parent 7e4d9120
Loading
Loading
Loading
Loading
+22 −0
Original line number Diff line number Diff line
@@ -1363,6 +1363,14 @@ cifs_readv_callback(struct mid_q_entry *mid)
	if (rdata->result == -ENODATA) {
		rdata->result = 0;
		__set_bit(NETFS_SREQ_HIT_EOF, &rdata->subreq.flags);
		trace_smb3_read_err(rdata->rreq->debug_id,
				    rdata->subreq.debug_index,
				    rdata->xid,
				    rdata->req->cfile->fid.persistent_fid,
				    tcon->tid, tcon->ses->Suid,
				    rdata->subreq.start + rdata->subreq.transferred,
				    rdata->subreq.len   - rdata->subreq.transferred,
				    rdata->result);
	} else {
		size_t trans = rdata->subreq.transferred + rdata->got_bytes;
		if (trans < rdata->subreq.len &&
@@ -1374,6 +1382,13 @@ cifs_readv_callback(struct mid_q_entry *mid)
		}
		if (rdata->got_bytes)
			__set_bit(NETFS_SREQ_MADE_PROGRESS, &rdata->subreq.flags);
		trace_smb3_read_done(rdata->rreq->debug_id,
				     rdata->subreq.debug_index,
				     rdata->xid,
				     rdata->req->cfile->fid.persistent_fid,
				     tcon->tid, tcon->ses->Suid,
				     rdata->subreq.start + rdata->subreq.transferred,
				     rdata->got_bytes);
	}

	trace_smb3_rw_credits(rreq_debug_id, subreq_debug_index, rdata->credits.value,
@@ -1445,6 +1460,13 @@ cifs_async_readv(struct cifs_io_subrequest *rdata)
	rdata->iov[1].iov_base = (char *)smb + 4;
	rdata->iov[1].iov_len = get_rfc1002_length(smb);

	trace_smb3_read_enter(rdata->rreq->debug_id,
			      rdata->subreq.debug_index,
			      rdata->xid,
			      rdata->req->cfile->fid.netfid,
			      tcon->tid, tcon->ses->Suid,
			      rdata->subreq.start, rdata->subreq.len);

	rc = cifs_call_async(tcon->ses->server, &rqst, cifs_readv_receive,
			     cifs_readv_callback, NULL, rdata, 0, NULL);