summaryrefslogtreecommitdiffstats
path: root/OvmfPkg/VirtioFsDxe/VirtioFsDxe.h
diff options
context:
space:
mode:
authorLaszlo Ersek <lersek@redhat.com>2020-12-16 22:11:15 +0100
committermergify[bot] <37929162+mergify[bot]@users.noreply.github.com>2020-12-21 17:16:23 +0000
commit6f7bc7196ff2d7174fec382d66aa5dfea31a7026 (patch)
treeafbd856b03be1f237b52fed97c6495058e548987 /OvmfPkg/VirtioFsDxe/VirtioFsDxe.h
parent867cb9f60caf35d44600b6bdc3dc5252b83de9a1 (diff)
downloadedk2-6f7bc7196ff2d7174fec382d66aa5dfea31a7026.tar.gz
edk2-6f7bc7196ff2d7174fec382d66aa5dfea31a7026.tar.bz2
edk2-6f7bc7196ff2d7174fec382d66aa5dfea31a7026.zip
OvmfPkg/VirtioFsDxe: implement the wrapper function for FUSE_WRITE
Add the VirtioFsFuseWrite() function, for sending the FUSE_WRITE command to the Virtio Filesystem device. (For avoiding oversized FUSE_WRITE commands, save the maximum write buffer size that is advertized by the FUSE server, in the session init code.) 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-39-lersek@redhat.com> Acked-by: Ard Biesheuvel <ard.biesheuvel@arm.com>
Diffstat (limited to 'OvmfPkg/VirtioFsDxe/VirtioFsDxe.h')
-rw-r--r--OvmfPkg/VirtioFsDxe/VirtioFsDxe.h11
1 files changed, 11 insertions, 0 deletions
diff --git a/OvmfPkg/VirtioFsDxe/VirtioFsDxe.h b/OvmfPkg/VirtioFsDxe/VirtioFsDxe.h
index a704acdd52..132a634005 100644
--- a/OvmfPkg/VirtioFsDxe/VirtioFsDxe.h
+++ b/OvmfPkg/VirtioFsDxe/VirtioFsDxe.h
@@ -78,6 +78,7 @@ typedef struct {
VRING Ring; // VirtioRingInit 2
VOID *RingMap; // VirtioRingMap 2
UINT64 RequestId; // FuseInitSession 1
+ UINT32 MaxWrite; // FuseInitSession 1
EFI_EVENT ExitBoot; // DriverBindingStart 0
LIST_ENTRY OpenFiles; // DriverBindingStart 0
EFI_SIMPLE_FILE_SYSTEM_PROTOCOL SimpleFs; // DriverBindingStart 0
@@ -335,6 +336,16 @@ VirtioFsFuseReadFileOrDir (
);
EFI_STATUS
+VirtioFsFuseWrite (
+ IN OUT VIRTIO_FS *VirtioFs,
+ IN UINT64 NodeId,
+ IN UINT64 FuseHandle,
+ IN UINT64 Offset,
+ IN OUT UINT32 *Size,
+ IN VOID *Data
+ );
+
+EFI_STATUS
VirtioFsFuseStatFs (
IN OUT VIRTIO_FS *VirtioFs,
IN UINT64 NodeId,