Commit 09ccf554 authored by Christoph Hellwig's avatar Christoph Hellwig Committed by Jens Axboe
Browse files

loop: only write back pagecache when starting to to use direct I/O



There is no point in doing an fdatasync to write out pages when switching
away from direct I/O, as there won't be any.  The writeback is only
needed when switching to direct I/O, which would have to invalidate the
pagecache less efficiently from the I/O path.

Signed-off-by: default avatarChristoph Hellwig <hch@lst.de>
Link: https://lore.kernel.org/r/20250110073750.1582447-5-hch@lst.de


Signed-off-by: default avatarJens Axboe <axboe@kernel.dk>
parent 781fc49a
Loading
Loading
Loading
Loading
+3 −2
Original line number Diff line number Diff line
@@ -203,7 +203,8 @@ static void __loop_update_dio(struct loop_device *lo, bool dio)
	if (lo->use_dio == use_dio)
		return;

	/* flush dirty pages before changing direct IO */
	/* flush dirty pages before starting to use direct I/O */
	if (use_dio)
		vfs_fsync(lo->lo_backing_file, 0);

	/*