Subject: Re: linux-next: manual merge of the vfs-brauner tree with the cifs tree

From: Stephen Rothwell <[email-masked]>
Date: Fri, 6 Sep 2024 09:38:21 +1000

Hi all,

On Fri, 6 Sep 2024 08:46:37 +1000 Stephen Rothwell <[email-masked]> 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)
  {