On Tue, Sep 26, 2023 at 3:24 AM Stephen Rothwell <sfr@xxxxxxxxxxxxxxxx> wrote: > > Hi all, > > Today's linux-next merge of the vfs-brauner tree got a conflict in: > > fs/overlayfs/file.c > > between commit: > > f8f29a49ec21 ("ovl: move ovl_file_accessed() to aio completion") > e57757c5d874 ("ovl: use simpler function to convert iocb to rw flags") > > from the overlayfs tree and commit: > > 2d1b3bbc3dd5 ("ovl: disable IOCB_DIO_CALLER_COMP") > > 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/overlayfs/file.c > index 05ec614f7054,693971d20280..000000000000 > --- a/fs/overlayfs/file.c > +++ b/fs/overlayfs/file.c > @@@ -398,16 -389,22 +398,22 @@@ static ssize_t ovl_write_iter(struct ki > goto out_fdput; > > if (!ovl_should_sync(OVL_FS(inode->i_sb))) > - ifl &= ~(IOCB_DSYNC | IOCB_SYNC); > + flags &= ~(IOCB_DSYNC | IOCB_SYNC); > > + /* > + * Overlayfs doesn't support deferred completions, don't copy > + * this property in case it is set by the issuer. > + */ > - ifl &= ~IOCB_DIO_CALLER_COMP; > ++ flags &= ~IOCB_DIO_CALLER_COMP; > + > - old_cred = ovl_override_creds(file_inode(file)->i_sb); > + old_cred = ovl_override_creds(inode->i_sb); > if (is_sync_kiocb(iocb)) { > + rwf_t rwf = iocb_to_rw_flags(flags); > + > file_start_write(real.file); > - ret = vfs_iter_write(real.file, iter, &iocb->ki_pos, > - ovl_iocb_to_rwf(ifl)); > + ret = vfs_iter_write(real.file, iter, &iocb->ki_pos, rwf); > file_end_write(real.file); > - /* Update size */ > - ovl_copyattr(inode); > + ovl_rw_complete(iocb); > } else { > struct ovl_aio_req *aio_req; > Thanks Stephen, your fix is correct. Serves me right for doing an unnecessary var name change... Anyway, the conflict is with vfs.fixes branch destined for 6.6, so I will rebase overlayfs-next (for 6.7) as soon as vfs.fixes is merged. At this opportunity, I would like to ask you to add branch ovl-fixes from ssh://gitolite.kernel.org/pub/scm/linux/kernel/git/overlayfs/vfs.git to linux-next, because I will need to send some ovl fixes for 6.6 in the near future. Thanks, Amir.