mirror of
https://git.proxmox.com/git/mirror_zfs.git
synced 2025-10-26 18:05:04 +03:00
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 |
||
|---|---|---|
| .. | ||
| abd_os.c | ||
| arc_os.c | ||
| crypto_os.c | ||
| dmu_os.c | ||
| event_os.c | ||
| hkdf.c | ||
| kmod_core.c | ||
| spa_os.c | ||
| sysctl_os.c | ||
| vdev_geom.c | ||
| vdev_label_os.c | ||
| zfs_acl.c | ||
| zfs_ctldir.c | ||
| zfs_debug.c | ||
| zfs_dir.c | ||
| zfs_file_os.c | ||
| zfs_ioctl_compat.c | ||
| zfs_ioctl_os.c | ||
| zfs_racct.c | ||
| zfs_vfsops.c | ||
| zfs_vnops_os.c | ||
| zfs_znode_os.c | ||
| zio_crypt.c | ||
| zvol_os.c | ||