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