[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[PATCH v4 00/16] hw/9pfs: Add 9pfs support for Windows
From: |
Bin Meng |
Subject: |
[PATCH v4 00/16] hw/9pfs: Add 9pfs support for Windows |
Date: |
Mon, 30 Jan 2023 17:51:46 +0800 |
At present there is no Windows support for 9p file system.
This series adds initial Windows support for 9p file system.
'local' file system backend driver is supported on Windows,
including open, read, write, close, rename, remove, etc.
All security models are supported. The mapped (mapped-xattr)
security model is implemented using NTFS Alternate Data Stream
(ADS) so the 9p export path shall be on an NTFS partition.
'synth' driver is adapted for Windows too so that we can now
run qtests on Windows for 9p related regression testing.
Example command line to test:
"-fsdev local,path=c:\msys64,security_model=mapped,id=p9 -device
virtio-9p-pci,fsdev=p9,mount_tag=p9fs"
Base-commit: 13356edb87506c148b163b8c7eb0695647d00c2a
Changes in v4:
- Fixed 9pfs mounted as read-only issue on Windows host, adding a
win32_error_to_posix() to translate Windows native API error to
POSIX one.
- Fixed errors of handling symbolic links
- Added forward declaration to avoid using 'void *'
- Implemented Windows specific xxxdir() APIs for safe directory access
Bin Meng (2):
hw/9pfs: Update helper qemu_stat_rdev()
hw/9pfs: Add a helper qemu_stat_blksize()
Guohuai Shi (14):
hw/9pfs: Add missing definitions for Windows
hw/9pfs: Implement Windows specific utilities functions for 9pfs
hw/9pfs: Replace the direct call to xxxdir() APIs with a wrapper
hw/9pfs: Implement Windows specific xxxdir() APIs
hw/9pfs: Update the local fs driver to support Windows
hw/9pfs: Support getting current directory offset for Windows
hw/9pfs: Disable unsupported flags and features for Windows
hw/9pfs: Update v9fs_set_fd_limit() for Windows
hw/9pfs: Add Linux error number definition
hw/9pfs: Translate Windows errno to Linux value
fsdev: Disable proxy fs driver on Windows
hw/9pfs: Update synth fs driver for Windows
tests/qtest: virtio-9p-test: Adapt the case for win32
meson.build: Turn on virtfs for Windows
meson.build | 10 +-
fsdev/file-op-9p.h | 33 +
hw/9pfs/9p-linux-errno.h | 151 +++
hw/9pfs/9p-local.h | 8 +
hw/9pfs/9p-util.h | 139 ++-
hw/9pfs/9p.h | 43 +
tests/qtest/libqos/virtio-9p-client.h | 7 +
fsdev/qemu-fsdev.c | 2 +
hw/9pfs/9p-local.c | 269 ++++-
hw/9pfs/9p-synth.c | 5 +-
hw/9pfs/9p-util-win32.c | 1305 +++++++++++++++++++++++++
hw/9pfs/9p.c | 90 +-
hw/9pfs/codir.c | 2 +-
fsdev/meson.build | 1 +
hw/9pfs/meson.build | 8 +-
15 files changed, 2008 insertions(+), 65 deletions(-)
create mode 100644 hw/9pfs/9p-linux-errno.h
create mode 100644 hw/9pfs/9p-util-win32.c
--
2.25.1
- [PATCH v4 00/16] hw/9pfs: Add 9pfs support for Windows,
Bin Meng <=
- [PATCH v4 01/16] hw/9pfs: Add missing definitions for Windows, Bin Meng, 2023/01/30
- [PATCH v4 03/16] hw/9pfs: Replace the direct call to xxxdir() APIs with a wrapper, Bin Meng, 2023/01/30
- [PATCH v4 04/16] hw/9pfs: Implement Windows specific xxxdir() APIs, Bin Meng, 2023/01/30
- [PATCH v4 05/16] hw/9pfs: Update the local fs driver to support Windows, Bin Meng, 2023/01/30
- [PATCH v4 08/16] hw/9pfs: Add a helper qemu_stat_blksize(), Bin Meng, 2023/01/30
- [PATCH v4 02/16] hw/9pfs: Implement Windows specific utilities functions for 9pfs, Bin Meng, 2023/01/30
- [PATCH v4 07/16] hw/9pfs: Update helper qemu_stat_rdev(), Bin Meng, 2023/01/30
- [PATCH v4 10/16] hw/9pfs: Update v9fs_set_fd_limit() for Windows, Bin Meng, 2023/01/30
- [PATCH v4 06/16] hw/9pfs: Support getting current directory offset for Windows, Bin Meng, 2023/01/30
- [PATCH v4 09/16] hw/9pfs: Disable unsupported flags and features for Windows, Bin Meng, 2023/01/30