mirror_zfs/module
Rob Norris a65225ec7e FreeBSD: zfs_putpages: don't undirty pages until after write completes
zfs_putpages() would put the entire range of pages onto the ZIL, then
return VM_PAGER_OK for each page to the kernel. However, an associated
zil_commit() or txg sync had not happened at this point, so the write
may not actually be on disk.

So, we rework it to use a ZIL commit callback, and do the post-write
work of undirtying the page and signaling completion there. We return
VM_PAGER_PEND to the kernel instead so it knows that we will take care
of it.

Sponsored-by: Klara, Inc.
Sponsored-by: Wasabi Technology, Inc.
Reviewed-by: Mark Johnston <markj@FreeBSD.org>
Reviewed-by: Alexander Motin <mav@FreeBSD.org>
Signed-off-by: Rob Norris <rob.norris@klarasystems.com>
Closes #17445
2025-06-17 10:50:26 -07:00
..
avl SPDX: license tags: CDDL-1.0 2025-04-16 09:59:44 -07:00
icp Linux build: silence objtool warnings 2025-06-17 10:50:26 -07:00
lua SPDX: license tags: MIT 2025-04-16 09:59:44 -07:00
nvpair SPDX: license tags: CDDL-1.0 2025-04-16 09:59:44 -07:00
os FreeBSD: zfs_putpages: don't undirty pages until after write completes 2025-06-17 10:50:26 -07:00
unicode [2.3.2] uconv: add SPDX license tag 2025-04-16 09:59:45 -07:00
zcommon GCC 15: Fix unterminated-string-initialization (#17244) 2025-04-16 09:59:45 -07:00
zfs zfs_log_write: only put the callback on the last itx 2025-06-17 10:50:26 -07:00
zstd SPDX: license tags: BSD-3-Clause OR GPL-2.0-only 2025-04-16 09:59:44 -07:00
.gitignore FreeBSD: Ignore symlink to i386 includes 2022-08-02 16:34:23 -07:00
Kbuild.in Linux build: always use objtool 2025-06-17 10:50:26 -07:00
Makefile.bsd freebsd: unbreak module/Makefile.bsd build on 15-CURRENT-arm64 2025-04-16 09:59:45 -07:00
Makefile.in Fix "make install" with DESTDIR set (#16995) 2025-02-28 00:42:29 +05:00