Re: [PATCH v3 12/16] fuse: use iomap for buffered writes

Joanne Koong
2025-06-24T21:52:39Z

On Tue, Jun 24, 2025 at 3:07 AM Miklos Szeredi <miklos@szeredi.hu> wrote:
>
> On Tue, 24 Jun 2025 at 04:23, Joanne Koong <joannelkoong@gmail.com> wrote:
>
> > static ssize_t fuse_cache_write_iter(struct kiocb *iocb, struct iov_iter *from)
> > {
> > struct file *file = iocb->ki_filp;
> > @@ -1384,6 +1418,7 @@ static ssize_t fuse_cache_write_iter(struct kiocb *iocb, struct iov_iter *from)
> > struct inode *inode = mapping->host;
> > ssize_t err, count;
> > struct fuse_conn *fc = get_fuse_conn(inode);
> > + bool writeback = false;
> >
> > if (fc->writeback_cache) {
> > /* Update size (EOF optimization) and mode (SUID clearing) */
> > @@ -1397,8 +1432,7 @@ static ssize_t fuse_cache_write_iter(struct kiocb *iocb, struct iov_iter *from)
> > file_inode(file))) {
> > goto writethrough;
> > }
> > -
> > - return generic_file_write_iter(iocb, from);
> > + writeback = true;
>
> Doing this in the else branch makes the writethrough label (which is
> wrong now) unnecessary.

Hi Miklos,

That's a great point, I'll get rid of the writethrough label in v4.

Thanks,
Joanne

>
> Thanks,
> Miklos