On Fri, Aug 02, 2019 at 05:00:39PM -0500, Goldwyn Rodrigues wrote:
> From: Goldwyn Rodrigues <rgold...@suse.com>
> 
> Introduce a new btrfs_iomap structure which contains information
> about the filesystem between the iomap_begin() and iomap_end() calls.
> This contains information about reservations and extent locking.
> 
> This one is a long patch. Most of the code is "inspired" by
> fs/btrfs/file.c. To keep the size small, all removals are in
> following patches.

I can't comment on the btrfs code but this:

> +size_t btrfs_buffered_iomap_write(struct kiocb *iocb, struct iov_iter *from)
> +{
> +     ssize_t written;
> +     struct inode *inode = file_inode(iocb->ki_filp);
> +     written = iomap_file_buffered_write(iocb, from, 
> &btrfs_buffered_iomap_ops);
> +     if (written > 0)
> +             iocb->ki_pos += written;
> +     if (iocb->ki_pos > i_size_read(inode))
> +             i_size_write(inode, iocb->ki_pos);
> +     return written;

Looks like it fails to handle O_[D]SYNC writes.

Cheers,

Dave.
-- 
Dave Chinner
da...@fromorbit.com

Reply via email to