Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

9p: don't opencode filemap_fdatawrite_range in v9fs_mmap_vm_close

Use filemap_fdatawrite_range instead of opencoding the logic using
filemap_fdatawrite_wbc.

Signed-off-by: Christoph Hellwig <hch@lst.de>
Link: https://patch.msgid.link/20251024080431.324236-3-hch@lst.de
Reviewed-by: Jan Kara <jack@suse.cz>
Reviewed-by: Damien Le Moal <dlemoal@kernel.org>
Reviewed-by: Johannes Thumshirn <johannes.thumshirn@wdc.com>
Signed-off-by: Christian Brauner <brauner@kernel.org>

authored by

Christoph Hellwig and committed by
Christian Brauner
3c2e5cee a21134b5

+4 -13
+4 -13
fs/9p/vfs_file.c
··· 483 483 484 484 static void v9fs_mmap_vm_close(struct vm_area_struct *vma) 485 485 { 486 - struct inode *inode; 487 - 488 - struct writeback_control wbc = { 489 - .nr_to_write = LONG_MAX, 490 - .sync_mode = WB_SYNC_ALL, 491 - .range_start = (loff_t)vma->vm_pgoff * PAGE_SIZE, 492 - /* absolute end, byte at end included */ 493 - .range_end = (loff_t)vma->vm_pgoff * PAGE_SIZE + 494 - (vma->vm_end - vma->vm_start - 1), 495 - }; 496 - 497 486 if (!(vma->vm_flags & VM_SHARED)) 498 487 return; 499 488 500 489 p9_debug(P9_DEBUG_VFS, "9p VMA close, %p, flushing", vma); 501 490 502 - inode = file_inode(vma->vm_file); 503 - filemap_fdatawrite_wbc(inode->i_mapping, &wbc); 491 + filemap_fdatawrite_range(file_inode(vma->vm_file)->i_mapping, 492 + (loff_t)vma->vm_pgoff * PAGE_SIZE, 493 + (loff_t)vma->vm_pgoff * PAGE_SIZE + 494 + (vma->vm_end - vma->vm_start - 1)); 504 495 } 505 496 506 497 static const struct vm_operations_struct v9fs_mmap_file_vm_ops = {