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

From: Namjae Jeon
Date: Tue Sep 17 2024 - 02:44:55 EST


On Tue, Sep 17, 2024 at 7:22 AM Stephen Rothwell <sfr@xxxxxxxxxxxxxxxx> wrote:
>
> Hi all,
Hi Stephen,
>
> On Mon, 12 Aug 2024 08:10:46 +1000 Stephen Rothwell <sfr@xxxxxxxxxxxxxxxx> wrote:
> >
> > Today's linux-next merge of the vfs-brauner tree got a conflict in:
> >
> > fs/exfat/inode.c
> >
> > between commits:
> >
> > 3e491faa7648 ("exfat: do not fallback to buffered write")
> > 98ad7b9012b5 ("exfat: Implement sops->shutdown and ioctl")
> >
> > from the exfat tree and commits:
> >
> > a225800f322a ("fs: Convert aops->write_end to take a folio")
> > 1da86618bdce ("fs: Convert aops->write_begin to take a folio")
> >
> > 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.
> >
> > --
> > Cheers,
> > Stephen Rothwell
> >
> > diff --cc fs/exfat/inode.c
> > index 7d43a0942911,05f0e07b01d0..000000000000
> > --- a/fs/exfat/inode.c
> > +++ b/fs/exfat/inode.c
> > @@@ -428,11 -452,7 +428,10 @@@ static int exfat_write_begin(struct fil
> > {
> > int ret;
> >
> > + if (unlikely(exfat_forced_shutdown(mapping->host->i_sb)))
> > + return -EIO;
> > +
> > - *pagep = NULL;
> > - ret = block_write_begin(mapping, pos, len, pagep, exfat_get_block);
> > + ret = block_write_begin(mapping, pos, len, foliop, exfat_get_block);
> >
> > if (ret < 0)
> > exfat_write_failed(mapping, pos+len);
> > @@@ -448,7 -468,15 +447,7 @@@ static int exfat_write_end(struct file
> > struct exfat_inode_info *ei = EXFAT_I(inode);
> > int err;
> >
> > - err = generic_write_end(file, mapping, pos, len, copied, pagep, fsdata);
> > + err = generic_write_end(file, mapping, pos, len, copied, folio, fsdata);
> > -
> > - if (ei->i_size_aligned < i_size_read(inode)) {
> > - exfat_fs_error(inode->i_sb,
> > - "invalid size(size(%llu) > aligned(%llu)\n",
> > - i_size_read(inode), ei->i_size_aligned);
> > - return -EIO;
> > - }
> > -
> > if (err < len)
> > exfat_write_failed(mapping, pos+len);
> >
>
> This is now a conflict between the exfat tree and Linus' tree.
I have updated the exfat tree now. There will be no more conflicts.
Please remove your temporary fixes.
Thank you!
>
> --
> Cheers,
> Stephen Rothwell