linux-next: manual merge of the vfs-brauner tree with the ntfs tree

Mark Brown posted 1 patch 1 month, 3 weeks ago
linux-next: manual merge of the vfs-brauner tree with the ntfs tree
Posted by Mark Brown 1 month, 3 weeks ago
Hi all,

Today's linux-next merge of the vfs-brauner tree got a conflict in:

  fs/ntfs/iomap.c

between commit:

  9cf6ac617e8e9 ("ntfs: serialize resident iomap reads with mrec_lock")

from the ntfs tree and commit:

  7a7bf7551624f ("ntfs: convert iomap ops to ->iomap_next()")

from the vfs-brauner tree.

I fixed it up (see below) 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.

diff --cc fs/ntfs/iomap.c
index 73c50171285aa,d0964ac840d9f..0000000000000
--- a/fs/ntfs/iomap.c
+++ b/fs/ntfs/iomap.c
@@@ -283,22 -274,13 +283,24 @@@ static int ntfs_read_iomap_begin(struc
  		unsigned int flags, struct iomap *iomap, struct iomap *srcmap)
  {
  	return __ntfs_read_iomap_begin(inode, offset, length, flags, iomap,
 -			srcmap, true);
 +			srcmap, true, true);
  }
  
 -static DEFINE_IOMAP_ITER_NEXT(ntfs_read_iomap_next, ntfs_read_iomap_begin);
 +static int ntfs_read_iomap_end(struct inode *inode, loff_t pos, loff_t length,
 +		ssize_t written, unsigned int flags, struct iomap *iomap)
 +{
 +	struct ntfs_inode *base_ni = iomap->private;
 +
 +	if (base_ni)
 +		mutex_unlock(&base_ni->mrec_lock);
 +	return written;
 +}
 +
++static DEFINE_IOMAP_ITER_NEXT_END(ntfs_read_iomap_next, ntfs_read_iomap_begin,
++				  ntfs_read_iomap_end);
+ 
  const struct iomap_ops ntfs_read_iomap_ops = {
- 	.iomap_begin = ntfs_read_iomap_begin,
- 	.iomap_end = ntfs_read_iomap_end,
+ 	.iomap_next = ntfs_read_iomap_next,
  };
  
  /*
Re: linux-next: manual merge of the vfs-brauner tree with the ntfs tree
Posted by Joanne Koong 1 month, 3 weeks ago
On Wed, Aug 5, 2026 at 5:34 AM Mark Brown <broonie@kernel.org> wrote:
>
> Hi all,
>
> Today's linux-next merge of the vfs-brauner tree got a conflict in:
>
>   fs/ntfs/iomap.c
>
> between commit:
>
>   9cf6ac617e8e9 ("ntfs: serialize resident iomap reads with mrec_lock")
>
> from the ntfs tree and commit:
>
>   7a7bf7551624f ("ntfs: convert iomap ops to ->iomap_next()")
>
> from the vfs-brauner tree.
>
> I fixed it up (see below) 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.
>
> diff --cc fs/ntfs/iomap.c
> index 73c50171285aa,d0964ac840d9f..0000000000000
> --- a/fs/ntfs/iomap.c
> +++ b/fs/ntfs/iomap.c
> @@@ -283,22 -274,13 +283,24 @@@ static int ntfs_read_iomap_begin(struc
>                 unsigned int flags, struct iomap *iomap, struct iomap *srcmap)
>   {
>         return __ntfs_read_iomap_begin(inode, offset, length, flags, iomap,
>  -                      srcmap, true);
>  +                      srcmap, true, true);
>   }
>
>  -static DEFINE_IOMAP_ITER_NEXT(ntfs_read_iomap_next, ntfs_read_iomap_begin);
>  +static int ntfs_read_iomap_end(struct inode *inode, loff_t pos, loff_t length,
>  +              ssize_t written, unsigned int flags, struct iomap *iomap)
>  +{
>  +      struct ntfs_inode *base_ni = iomap->private;
>  +
>  +      if (base_ni)
>  +              mutex_unlock(&base_ni->mrec_lock);
>  +      return written;
>  +}
>  +
> ++static DEFINE_IOMAP_ITER_NEXT_END(ntfs_read_iomap_next, ntfs_read_iomap_begin,
> ++                                ntfs_read_iomap_end);
> +
>   const struct iomap_ops ntfs_read_iomap_ops = {
> -       .iomap_begin = ntfs_read_iomap_begin,
> -       .iomap_end = ntfs_read_iomap_end,
> +       .iomap_next = ntfs_read_iomap_next,
>   };
>
>   /*

Hi Mark,

This looks correct to me. Thanks for resolving the merge conflict.