2024년 8월 12일 (월) 오전 7:10, Stephen Rothwell <sfr@xxxxxxxxxxxxxxxx>님이 작성: > > Hi all, > > 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. Thanks for your work, Looks good to me:) I'll send an exfat PR after making sure it doesn't conflict with these patches. > > -- > 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); >