qemu-e2k/hw/9pfs
Keno Fischer 6b3b279bd6 9p: darwin: Handle struct dirent differences
On darwin d_seekoff exists, but is optional and does not seem to
be commonly used by file systems. Use `telldir` instead to obtain
the seek offset and inject it into d_seekoff, and create a
qemu_dirent_off helper to call it appropriately when appropriate.

Signed-off-by: Keno Fischer <keno@juliacomputing.com>
[Michael Roitzsch: - Rebase for NixOS]
Signed-off-by: Michael Roitzsch <reactorcontrol@icloud.com>
[Will Cohen: - Adjust to pass testing
             - Ensure that d_seekoff is filled using telldir
               on darwin, and create qemu_dirent_off helper
               to decide which to access]
[Fabian Franz: - Add telldir error handling for darwin]
Signed-off-by: Fabian Franz <fabianfranz.oss@gmail.com>
[Will Cohen: - Ensure that telldir error handling uses
               signed int
             - Cleanup of telldir error handling
             - Remove superfluous error handling for
               qemu_dirent_off
             - Adjust formatting
             - Use qemu_dirent_off in codir.c
             - Declare qemu_dirent_off as static to prevent
               linker error
             - Move qemu_dirent_off above the end-of-file
               endif to fix compilation]
Signed-off-by: Will Cohen <wwcohen@gmail.com>
Message-Id: <20220227223522.91937-5-wwcohen@gmail.com>
Signed-off-by: Christian Schoenebeck <qemu_oss@crudebyte.com>
Reviewed-by: Christian Schoenebeck <qemu_oss@crudebyte.com>
2022-03-07 11:49:31 +01:00
..
9p-local.c 9p: darwin: Handle struct dirent differences 2022-03-07 11:49:31 +01:00
9p-local.h
9p-posix-acl.c 9pfs: add link to 9p developer docs 2021-07-05 13:03:16 +02:00
9p-proxy.c 9p: darwin: Handle struct dirent differences 2022-03-07 11:49:31 +01:00
9p-proxy.h
9p-synth.c 9p: darwin: Handle struct dirent differences 2022-03-07 11:49:31 +01:00
9p-synth.h 9pfs: Fix segfault in do_readdir_many caused by struct dirent overread 2022-02-17 16:57:58 +01:00
9p-util-linux.c 9p: Rename 9p-util -> 9p-util-linux 2022-03-07 11:49:30 +01:00
9p-util.h 9p: darwin: Handle struct dirent differences 2022-03-07 11:49:31 +01:00
9p-xattr-user.c 9pfs: add link to 9p developer docs 2021-07-05 13:03:16 +02:00
9p-xattr.c 9pfs: add link to 9p developer docs 2021-07-05 13:03:16 +02:00
9p-xattr.h 9pfs: fix XattrOperations typedef 2018-01-08 11:18:22 +01:00
9p.c 9p: darwin: Handle struct dirent differences 2022-03-07 11:49:31 +01:00
9p.h 9pfs: drop root_qid 2021-07-05 13:03:16 +02:00
codir.c 9p: darwin: Handle struct dirent differences 2022-03-07 11:49:31 +01:00
cofile.c 9pfs: add link to 9p developer docs 2021-07-05 13:03:16 +02:00
cofs.c 9pfs: add link to 9p developer docs 2021-07-05 13:03:16 +02:00
coth.c 9pfs: add link to 9p developer docs 2021-07-05 13:03:16 +02:00
coth.h 9pfs: fix crash in v9fs_walk() 2021-09-02 13:26:22 +02:00
coxattr.c 9pfs: add link to 9p developer docs 2021-07-05 13:03:16 +02:00
Kconfig hw/9pfs: Fix Kconfig dependency problem between 9pfs and Xen 2020-11-05 15:21:11 +01:00
meson.build 9p: Rename 9p-util -> 9p-util-linux 2022-03-07 11:49:30 +01:00
trace-events docs: fix references to docs/devel/tracing.rst 2021-06-02 06:51:09 +02:00
trace.h trace: switch position of headers to what Meson requires 2020-08-21 06:18:24 -04:00
virtio-9p-device.c 9pfs: add link to 9p developer docs 2021-07-05 13:03:16 +02:00
virtio-9p.h Use OBJECT_DECLARE_SIMPLE_TYPE when possible 2020-09-18 14:12:32 -04:00
xen-9p-backend.c 9pfs: add link to 9p developer docs 2021-07-05 13:03:16 +02:00
xen-9pfs.h xen: Import other xen/io/*.h 2019-06-24 10:42:30 +01:00