Linux CIFS filesystem development
 help / color / mirror / Atom feed
From: David Howells <dhowells@redhat.com>
Cc: dhowells@redhat.com, Stefan Metzmacher <metze@samba.org>,
	"linux-cifs@vger.kernel.org" <linux-cifs@vger.kernel.org>,
	netfs@lists.linux.dev,
	linux-fsdevel <linux-fsdevel@vger.kernel.org>,
	Steve French <stfrench@microsoft.com>
Subject: Re: [PATCH] cifs: Collapse smbd_recv_*() into smbd_recv() and just use copy_to_iter()
Date: Wed, 25 Jun 2025 13:47:19 +0100	[thread overview]
Message-ID: <1362540.1750855639@warthog.procyon.org.uk> (raw)
In-Reply-To: <1156127.1750774971@warthog.procyon.org.uk>

David Howells <dhowells@redhat.com> wrote:

> > And 4 is ITER_FOLIOQ.

I dumped some of the fields from the MID involved:

   CIFS: VFS: Invalid msg type 4 (mid=a4 optype=0 command=8)
   CIFS: VFS:  - rcv=cifs_readv_receive+0x0/0x270 cb=smb2_readv_callback+0x0/0x480 hand=smb3_handle_read_data+0x0/0x40

So the ITER_FOLIOQ is from netfslib.  I've attached corresponding trace log,
edited down a bit to remove some columns.  Note that the EINVAL error gets
discarded by cifs_demultiplex_thread() and replaced with EAGAIN by netfslib.

David
---
         diff-6828: netfs_rreq_ref: R=0000000c NEW         r=2
         diff-6828: netfs_read: R=0000000c READPAGE  c=00000000 ni=1d4072 s=0 l=1000 sz=400
         diff-6828: netfs_rreq_ref: R=0000000c GET SUBREQ  r=3
         diff-6828: smb3_rw_credits: R=0000000c[1] rd-submit   cred=16 chg=0 pool=1688 ifl=1
         diff-6828: netfs_sreq: R=0000000c[1] DOWN PREP  f=000 s=0 0/400 s=0 e=0
         diff-6828: smb3_rw_credits: R=0000000c[1] rd-issu-adj cred=16 chg=-15 pool=1688 ifl=1
         diff-6828: netfs_sreq: R=0000000c[1] DOWN SUBMT f=102 s=0 0/400 s=0 e=0
         diff-6828: netfs_rreq_ref: R=0000000c GET SUBREQ  r=4
         diff-6828: netfs_sreq: R=0000000c[2] ZERO SUBMT f=000 s=400 0/c00 s=0 e=0
         diff-6828: netfs_sreq: R=0000000c[2] ZERO TERM  f=102 s=400 c00/c00 s=1 e=0
         diff-6828: netfs_collect_stream: R=0000000c[0:] cto=0 frn=0
         diff-6828: netfs_rreq: R=0000000c RP WAIT-IP f=03
        cifsd-6506: netfs_sreq: R=0000000c[1] DOWN I-RTR f=102 s=0 0/400 s=0 e=0
        cifsd-6506: smb3_read_err:       R=0000000c[1] xid=200 sid=0x8 tid=0x2 fid=0xa0952 offset=0x0 len=0x400 rc=-11
        cifsd-6506: smb3_rw_credits: R=0000000c[1] rd-resp-clr cred=1 chg=0 pool=1703 ifl=1
        cifsd-6506: netfs_sreq: R=0000000c[1] DOWN I-OK  f=302 s=0 0/400 s=0 e=-11
        cifsd-6506: netfs_failure: R=0000000c[1] DOWN f=302 s=0 0/400 read e=-11
        cifsd-6506: netfs_rreq: R=0000000c RP PAUSE   f=03
        cifsd-6506: netfs_sreq: R=0000000c[1] DOWN TERM  f=702 s=0 0/400 s=0 e=-11
        cifsd-6506: netfs_rreq: R=0000000c RP WAKE-Q  f=07
        cifsd-6506: smb3_rw_credits: R=0000000c[1] rd-resp-add cred=0 chg=0 pool=1703 ifl=1
         diff-6828: netfs_collect_stream: R=0000000c[0:] cto=0 frn=0
         diff-6828: netfs_rreq: R=0000000c RP COLLECT f=07
         diff-6828: netfs_collect: R=0000000c s=0-1000
         diff-6828: netfs_collect_sreq: R=0000000c[0:01] s=0 t=0/400
         diff-6828: netfs_rreq: R=0000000c RP S-ABNDN f=07
         diff-6828: netfs_sreq: R=0000000c[1] DOWN ABNDN f=602 s=0 400/400 s=0 e=-11
         diff-6828: netfs_sreq: R=0000000c[1] DOWN FREE  f=602 s=0 400/400 s=0 e=-11
         diff-6828: netfs_rreq_ref: R=0000000c PUT SUBREQ  r=3
         diff-6828: netfs_collect_sreq: R=0000000c[0:02] s=400 t=c00/c00
         diff-6828: netfs_sreq: R=0000000c[2] ZERO ABNDN f=002 s=400 c00/c00 s=1 e=0
         diff-6828: netfs_sreq: R=0000000c[2] ZERO FREE  f=002 s=400 c00/c00 s=1 e=0
         diff-6828: netfs_rreq_ref: R=0000000c PUT SUBREQ  r=2
         diff-6828: netfs_collect_stream: R=0000000c[0:] cto=1000 frn=ffffffff
         diff-6828: netfs_collect_state: R=0000000c col=1000 cln=1000 n=8c
         diff-6828: netfs_rreq: R=0000000c RP UNPAUSE f=0b
         diff-6828: netfs_collect_stream: R=0000000c[0:] cto=1000 frn=ffffffff
         diff-6828: netfs_collect_state: R=0000000c col=1000 cln=1000 n=8
         diff-6828: netfs_rreq: R=0000000c RP COMPLET f=0b
         diff-6828: netfs_rreq: R=0000000c RP WAKE-IP f=0a
         diff-6828: netfs_rreq: R=0000000c RP DONE    f=0a
         diff-6828: netfs_rreq_ref: R=0000000c PUT WORK IP  r=1
         diff-6828: netfs_rreq: R=0000000c RP DONE-IP f=0a
         diff-6828: netfs_rreq_ref: R=0000000c PUT RETURN  r=0
kworker/u16:0-12  : netfs_rreq: R=0000000c RP FREE    f=0a


  parent reply	other threads:[~2025-06-25 12:47 UTC|newest]

Thread overview: 11+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2025-06-23 13:04 [PATCH] cifs: Collapse smbd_recv_*() into smbd_recv() and just use copy_to_iter() David Howells
2025-06-24 12:25 ` Stefan Metzmacher
2025-06-24 14:22   ` David Howells
2025-06-24 16:05     ` Stefan Metzmacher
2025-06-25  8:07     ` Stefan Metzmacher
2025-06-25 10:10       ` Stefan Metzmacher
2025-06-25 11:25         ` David Howells
2025-06-25 11:51           ` Stefan Metzmacher
2025-06-25 12:47     ` David Howells [this message]
2025-06-25 14:18   ` Stefan Metzmacher
2025-06-25 16:00     ` David Howells

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=1362540.1750855639@warthog.procyon.org.uk \
    --to=dhowells@redhat.com \
    --cc=linux-cifs@vger.kernel.org \
    --cc=linux-fsdevel@vger.kernel.org \
    --cc=metze@samba.org \
    --cc=netfs@lists.linux.dev \
    --cc=stfrench@microsoft.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox