Hi all, On Fri, 6 Sep 2024 09:38:21 +1000 Stephen Rothwell <sfr@xxxxxxxxxxxxxxxx> wrote: > > On Fri, 6 Sep 2024 08:46:37 +1000 Stephen Rothwell <sfr@xxxxxxxxxxxxxxxx> wrote: > > > > Today's linux-next merge of the vfs-brauner tree got a conflict in: > > > > fs/smb/client/cifssmb.c > > > > between commit: > > > > a68c74865f51 ("cifs: Fix SMB1 readv/writev callback in the same way as SMB2/3") > > > > from the cifs tree and commit: > > > > 0fda1f8c6bf8 ("netfs: Speed up buffered reading") > > > > from the vfs-brauner tree. > > > > I fixed it up (I used the former as it is (supposedly) a much newer patch) > > and can carry the fix as necessary. This is now fixed as far as linux-next > > is concerned, but any non trivial conflicts should be mentioned to your > > upstream maintainer when your tree is submitted for merging. You may > > also want to consider cooperating with the maintainer of the conflicting > > tree to minimise any particularly complex conflicts. > > The fixup ended up being as below. > > -- > Cheers, > Stephen Rothwell > > diff --cc fs/smb/client/cifssmb.c > index cfae2e918209,04f2a5441a89..790b3f5ea64b > --- a/fs/smb/client/cifssmb.c > +++ b/fs/smb/client/cifssmb.c > @@@ -1261,16 -1261,6 +1261,15 @@@ openRetry > return rc; > } > > +static void cifs_readv_worker(struct work_struct *work) > +{ > + struct cifs_io_subrequest *rdata = > + container_of(work, struct cifs_io_subrequest, subreq.work); > + > - netfs_subreq_terminated(&rdata->subreq, > - (rdata->result == 0 || rdata->result == -EAGAIN) ? > - rdata->got_bytes : rdata->result, true); > ++ rdata->subreq.transferred += rdata->got_bytes; > ++ netfs_read_subreq_terminated(&rdata->subreq, rdata->result, true); > +} > + > static void > cifs_readv_callback(struct mid_q_entry *mid) > { Also this (which I will roll into the above merge resolution tomorrow): From: Stephen Rothwell <sfr@xxxxxxxxxxxxxxxx> Date: Fri, 6 Sep 2024 11:39:25 +1000 Subject: [PATCH] fix up for "netfs: Speed up buffered reading" interacting with "cifs: Fix SMB1 readv/writev callback in the same way as SMB2/3" Signed-off-by: Stephen Rothwell <sfr@xxxxxxxxxxxxxxxx> --- fs/smb/client/cifssmb.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/fs/smb/client/cifssmb.c b/fs/smb/client/cifssmb.c index 790b3f5ea64b..76fb2287c17b 100644 --- a/fs/smb/client/cifssmb.c +++ b/fs/smb/client/cifssmb.c @@ -1326,9 +1326,9 @@ cifs_readv_callback(struct mid_q_entry *mid) __set_bit(NETFS_SREQ_HIT_EOF, &rdata->subreq.flags); rdata->result = 0; } else { - if (rdata->got_bytes < rdata->actual_len && - rdata->subreq.start + rdata->subreq.transferred + rdata->got_bytes == - ictx->remote_i_size) { + size_t trans = rdata->subreq.transferred + rdata->got_bytes; + if (trans < rdata->subreq.len && + rdata->subreq.start + trans == ictx->remote_i_size) { __set_bit(NETFS_SREQ_HIT_EOF, &rdata->subreq.flags); rdata->result = 0; } -- 2.45.2 -- Cheers, Stephen Rothwell
Attachment:
pgpdk8cSES4gq.pgp
Description: OpenPGP digital signature