OvmfPkg/VirtioFsDxe: add a shared wrapper for FUSE_FSYNC / FUSE_FSYNCDIR

The FUSE_FSYNC and FUSE_FSYNCDIR commands only differ in the opcode. Add a
common function for wrapping both.

Cc: Ard Biesheuvel <ard.biesheuvel@arm.com>
Cc: Jordan Justen <jordan.l.justen@intel.com>
Cc: Philippe Mathieu-Daudé <philmd@redhat.com>
Ref: https://bugzilla.tianocore.org/show_bug.cgi?id=3097
Signed-off-by: Laszlo Ersek <lersek@redhat.com>
Message-Id: <20201216211125.19496-14-lersek@redhat.com>
Acked-by: Ard Biesheuvel <ard.biesheuvel@arm.com>
This commit is contained in:
Laszlo Ersek
2020-12-16 22:10:50 +01:00
committed by mergify[bot]
parent 92a4d30e04
commit 2e151d26ca
4 changed files with 141 additions and 0 deletions

View File

@@ -87,9 +87,11 @@ typedef struct {
typedef enum {
VirtioFsFuseOpForget = 2,
VirtioFsFuseOpRelease = 18,
VirtioFsFuseOpFsync = 20,
VirtioFsFuseOpInit = 26,
VirtioFsFuseOpOpenDir = 27,
VirtioFsFuseOpReleaseDir = 29,
VirtioFsFuseOpFsyncDir = 30,
} VIRTIO_FS_FUSE_OPCODE;
#pragma pack (1)
@@ -130,6 +132,15 @@ typedef struct {
UINT64 LockOwner;
} VIRTIO_FS_FUSE_RELEASE_REQUEST;
//
// Header for VirtioFsFuseOpFsync and VirtioFsFuseOpFsyncDir.
//
typedef struct {
UINT64 FileHandle;
UINT32 FsyncFlags;
UINT32 Padding;
} VIRTIO_FS_FUSE_FSYNC_REQUEST;
//
// Headers for VirtioFsFuseOpInit.
//