Re: [PATCH v7 5/5] block: enable RWF_DONTCACHE for block devices
Jan Kara <[email protected]> Thu, 30 Jul 2026 11:33:52 +0200
| Newsgroups | org.ozlabs.lists.linux-erofs,org.kernel.vger.linux-block,org.kernel.vger.linux-fsdevel,org.kernel.vger.linux-kernel,org.kernel.vger.linux-xfs,org.kvack.linux-mm |
|---|---|
| Message-ID | <enjg4xj3q5mpeegvzfemg3irkowvufw66h6yqo2vcpi434q3vk@cqlba4kwki6t> |
On Thu 30-07-26 02:57:55, Tal Zussman wrote: > Block device buffered reads and writes already pass through > filemap_read() and iomap_file_buffered_write() respectively, both of > which handle IOCB_DONTCACHE. Enable RWF_DONTCACHE for block device files > by setting FOP_DONTCACHE in def_blk_fops. > > For CONFIG_BUFFER_HEAD=y, writeback goes through buffer_head's > __bh_submit() which sets BIO_COMPLETE_IN_TASK on dropbehind folios. For > CONFIG_BUFFER_HEAD=n, writeback goes through iomap which handles it via > BIO_COMPLETE_IN_TASK on the ioend bio. > > This support is useful for databases that operate on raw block devices, > among other userspace applications. > > Reviewed-by: Christoph Hellwig <[email protected]> > Signed-off-by: Tal Zussman <[email protected]> Looks good. Feel free to add: Reviewed-by: Jan Kara <[email protected]> Honza > --- > block/fops.c | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) > > diff --git a/block/fops.c b/block/fops.c > index 15783a6180de..8b39c53b6393 100644 > --- a/block/fops.c > +++ b/block/fops.c > @@ -941,7 +941,7 @@ const struct file_operations def_blk_fops = { > .splice_write = iter_file_splice_write, > .fallocate = blkdev_fallocate, > .uring_cmd = blkdev_uring_cmd, > - .fop_flags = FOP_BUFFER_RASYNC, > + .fop_flags = FOP_BUFFER_RASYNC | FOP_DONTCACHE, > }; > > static __init int blkdev_init(void) > > -- > 2.39.5 > -- Jan Kara <[email protected]> SUSE Labs, CR