[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <ZbiTfwyTXKC2XbNM@casper.infradead.org>
Date: Tue, 30 Jan 2024 06:13:19 +0000
From: Matthew Wilcox <willy@...radead.org>
To: Christoph Hellwig <hch@....de>
Cc: linux-fsdevel@...r.kernel.org, linux-ext4@...r.kernel.org
Subject: Re: [PATCH 3/3] ext4: Convert to buffered_write_operations
On Tue, Jan 30, 2024 at 05:54:13AM +0000, Matthew Wilcox (Oracle) wrote:
> +++ b/fs/ext4/file.c
> @@ -287,16 +287,24 @@ static ssize_t ext4_buffered_write_iter(struct kiocb *iocb,
> {
> ssize_t ret;
> struct inode *inode = file_inode(iocb->ki_filp);
> + const struct buffered_write_operations *ops;
>
> if (iocb->ki_flags & IOCB_NOWAIT)
> return -EOPNOTSUPP;
>
> + if (ext4_inode_journal_mode(inode))
I forgot to commit --amend. This line should have been:
+ if (ext4_should_journal_data(inode))
> + ops = &ext4_journalled_bw_ops;
> + else if (test_opt(inode->i_sb, DELALLOC))
> + ops = &ext4_da_bw_ops;
> + else
> + ops = &ext4_bw_ops;
> +
> inode_lock(inode);
> ret = ext4_write_checks(iocb, from);
> if (ret <= 0)
> goto out;
>
> - ret = generic_perform_write(iocb, from);
> + ret = filemap_perform_write(iocb, from, ops);
>
> out:
> inode_unlock(inode);
Powered by blists - more mailing lists