audk/OvmfPkg/VirtioFsDxe
Laszlo Ersek 28092a3938 OvmfPkg/VirtioFsDxe: flush, sync, release and forget in Close() / Delete()
The two member functions that free the EFI_FILE_PROTOCOL object are
Close() and Delete(). Before we create VIRTIO_FS_FILE objects with
EFI_FILE_PROTOCOL.Open() later in this patch series, extend each of these
"destructor" functions to get rid of the FuseHandle and NodeId resources
properly -- in a way that matches each function's own purpose.

For the time being, VirtioFsSimpleFileDelete() only gets a reminder about
its core task (namely, removing the file), as the needed machinery will
become only later. But we can already outline the "task list", and deal
with the FuseHandle and NodeId resources. The "task list" of
VirtioFsSimpleFileDelete() is different from that of
VirtioFsSimpleFileClose(), thus both destructors diverge at this point.

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-16-lersek@redhat.com>
Acked-by: Ard Biesheuvel <ard.biesheuvel@arm.com>
2020-12-21 17:16:23 +00:00
..
DriverBinding.c OvmfPkg/VirtioFsDxe: implement EFI_SIMPLE_FILE_SYSTEM_PROTOCOL.OpenVolume() 2020-12-21 17:16:23 +00:00
FuseFlush.c OvmfPkg/VirtioFsDxe: implement the wrapper function for FUSE_FLUSH 2020-12-21 17:16:23 +00:00
FuseForget.c OvmfPkg/VirtioFsDxe: implement the wrapper function for FUSE_FORGET 2020-12-21 17:16:23 +00:00
FuseFsync.c OvmfPkg/VirtioFsDxe: add a shared wrapper for FUSE_FSYNC / FUSE_FSYNCDIR 2020-12-21 17:16:23 +00:00
FuseInit.c OvmfPkg/VirtioFsDxe: submit the FUSE_INIT request to the device 2020-12-21 17:16:23 +00:00
FuseOpenDir.c OvmfPkg/VirtioFsDxe: implement the wrapper function for FUSE_OPENDIR 2020-12-21 17:16:23 +00:00
FuseRelease.c OvmfPkg/VirtioFsDxe: add shared wrapper for FUSE_RELEASE / FUSE_RELEASEDIR 2020-12-21 17:16:23 +00:00
Helpers.c OvmfPkg/VirtioFsDxe: submit the FUSE_INIT request to the device 2020-12-21 17:16:23 +00:00
SimpleFsClose.c OvmfPkg/VirtioFsDxe: flush, sync, release and forget in Close() / Delete() 2020-12-21 17:16:23 +00:00
SimpleFsDelete.c OvmfPkg/VirtioFsDxe: flush, sync, release and forget in Close() / Delete() 2020-12-21 17:16:23 +00:00
SimpleFsFlush.c OvmfPkg/VirtioFsDxe: implement EFI_SIMPLE_FILE_SYSTEM_PROTOCOL.OpenVolume() 2020-12-21 17:16:23 +00:00
SimpleFsGetInfo.c OvmfPkg/VirtioFsDxe: implement EFI_SIMPLE_FILE_SYSTEM_PROTOCOL.OpenVolume() 2020-12-21 17:16:23 +00:00
SimpleFsGetPosition.c OvmfPkg/VirtioFsDxe: implement EFI_SIMPLE_FILE_SYSTEM_PROTOCOL.OpenVolume() 2020-12-21 17:16:23 +00:00
SimpleFsOpen.c OvmfPkg/VirtioFsDxe: implement EFI_SIMPLE_FILE_SYSTEM_PROTOCOL.OpenVolume() 2020-12-21 17:16:23 +00:00
SimpleFsOpenVolume.c OvmfPkg/VirtioFsDxe: flush, sync, release and forget in Close() / Delete() 2020-12-21 17:16:23 +00:00
SimpleFsRead.c OvmfPkg/VirtioFsDxe: implement EFI_SIMPLE_FILE_SYSTEM_PROTOCOL.OpenVolume() 2020-12-21 17:16:23 +00:00
SimpleFsSetInfo.c OvmfPkg/VirtioFsDxe: implement EFI_SIMPLE_FILE_SYSTEM_PROTOCOL.OpenVolume() 2020-12-21 17:16:23 +00:00
SimpleFsSetPosition.c OvmfPkg/VirtioFsDxe: implement EFI_SIMPLE_FILE_SYSTEM_PROTOCOL.OpenVolume() 2020-12-21 17:16:23 +00:00
SimpleFsWrite.c OvmfPkg/VirtioFsDxe: implement EFI_SIMPLE_FILE_SYSTEM_PROTOCOL.OpenVolume() 2020-12-21 17:16:23 +00:00
VirtioFsDxe.h OvmfPkg/VirtioFsDxe: flush, sync, release and forget in Close() / Delete() 2020-12-21 17:16:23 +00:00
VirtioFsDxe.inf OvmfPkg/VirtioFsDxe: implement the wrapper function for FUSE_FLUSH 2020-12-21 17:16:23 +00:00