vdev_file: unify FreeBSD and Linux implementations (#17046)

Kernel & userspace specifics are in zfs_file_os.c, so there's no
particular reason these have to be separate.

The one platform-specific part is in the Linux kernel part, to offload
flushes to a taskq if we're already inside a filesystem transaction.
This would be normally be an unsatisfying wart, but I'm intending to
remove this shortly, so I'm content to leave it gated for the moment.

Reviewed-by: Allan Jude <allan@klarasystems.com>
Reviewed-by: Alexander Motin <mav@FreeBSD.org>
Reviewed-by: Tony Hutter <hutter2@llnl.gov>

Sponsored-by: Klara, Inc.
Sponsored-by: Wasabi Technology, Inc.

Signed-off-by: Rob Norris <rob.norris@klarasystems.com>
This commit is contained in:
Rob Norris
2025-02-21 05:42:42 +11:00
committed by Ameer Hamza
parent f2ab5b82da
commit af062c480c
5 changed files with 31 additions and 377 deletions
+1 -1
View File
@@ -46,7 +46,6 @@ nodist_libzpool_la_SOURCES = \
module/lua/lvm.c \
module/lua/lzio.c \
\
module/os/linux/zfs/vdev_file.c \
module/os/linux/zfs/zio_crypt.c \
\
module/zcommon/cityhash.c \
@@ -143,6 +142,7 @@ nodist_libzpool_la_SOURCES = \
module/zfs/vdev.c \
module/zfs/vdev_draid.c \
module/zfs/vdev_draid_rand.c \
module/zfs/vdev_file.c \
module/zfs/vdev_indirect.c \
module/zfs/vdev_indirect_births.c \
module/zfs/vdev_indirect_mapping.c \