OvmfPkg/VirtioFsDxe: implement the wrapper function for FUSE_GETATTR

Add the VirtioFsFuseGetAttr() function, for sending the FUSE_GETATTR
command to the Virtio Filesystem device.

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-26-lersek@redhat.com>
Acked-by: Ard Biesheuvel <ard.biesheuvel@arm.com>
This commit is contained in:
Laszlo Ersek
2020-12-16 22:11:02 +01:00
committed by mergify[bot]
parent 0771671c4b
commit e3bc957706
4 changed files with 140 additions and 0 deletions

View File

@@ -114,6 +114,7 @@ typedef struct {
typedef enum {
VirtioFsFuseOpLookup = 1,
VirtioFsFuseOpForget = 2,
VirtioFsFuseOpGetAttr = 3,
VirtioFsFuseOpMkDir = 9,
VirtioFsFuseOpUnlink = 10,
VirtioFsFuseOpRmDir = 11,
@@ -195,6 +196,21 @@ typedef struct {
UINT64 NumberOfLookups;
} VIRTIO_FS_FUSE_FORGET_REQUEST;
//
// Headers for VirtioFsFuseOpGetAttr.
//
typedef struct {
UINT32 GetAttrFlags;
UINT32 Dummy;
UINT64 FileHandle;
} VIRTIO_FS_FUSE_GETATTR_REQUEST;
typedef struct {
UINT64 AttrValid;
UINT32 AttrValidNsec;
UINT32 Dummy;
} VIRTIO_FS_FUSE_GETATTR_RESPONSE;
//
// Header for VirtioFsFuseOpMkDir.
//