summary refs log tree commit diff stats
path: root/tcg/optimize.c
diff options
context:
space:
mode:
authorMark Johnston <markj@freebsd.org>2025-08-06 13:53:08 -0400
committerChristian Schoenebeck <qemu_oss@crudebyte.com>2025-09-18 21:21:29 +0200
commit6657f3bb55edba8f068cbc9ac40bb230ea1d7a09 (patch)
treec5d7a2bcc42ceb5aca6f17d48834ef705ab5aca4 /tcg/optimize.c
parente7c1e8043a69c5a8efa39d4f9d111f7c72c076e6 (diff)
downloadfocaccia-qemu-6657f3bb55edba8f068cbc9ac40bb230ea1d7a09.tar.gz
focaccia-qemu-6657f3bb55edba8f068cbc9ac40bb230ea1d7a09.zip
9pfs: Add FreeBSD support
This is largely derived from existing Darwin support.  FreeBSD
apparently has better support for *at() system calls so doesn't require
workarounds for a missing mknodat().  The implementation has a couple of
warts however:
- The extattr(2) system calls don't support anything akin to
  XATTR_CREATE or XATTR_REPLACE, so a racy workaround is implemented.
- Attribute names cannot begin with "user." or "system." on ZFS.
  However FreeBSD's extattr(2) system calls support two dedicated
  namespaces for these two.  So "user." or "system." prefixes are
  trimmed off from attribute names and instead EXTATTR_NAMESPACE_USER or
  EXTATTR_NAMESPACE_SYSTEM are picked and passed to extattr system calls
  accordingly.

The 9pfs tests were verified to pass on the UFS, ZFS and tmpfs
filesystems.

Signed-off-by: Mark Johnston <markj@FreeBSD.org>
Link: https://lore.kernel.org/qemu-devel/aJOWhHB2p-fbueAm@nuc
Signed-off-by: Christian Schoenebeck <qemu_oss@crudebyte.com>
Diffstat (limited to 'tcg/optimize.c')
0 files changed, 0 insertions, 0 deletions