16VirtioFsSimpleFileDelete (
24 VirtioFsFile = VIRTIO_FS_FILE_FROM_SIMPLE_FILE (This);
25 VirtioFs = VirtioFsFile->OwnerFs;
44 VirtioFsFile->FuseHandle,
45 VirtioFsFile->IsDirectory
53 if (VirtioFsFile->IsOpenForWriting) {
65 VirtioFsFile->CanonicalPathname,
69 if (!EFI_ERROR (Status)) {
79 VirtioFsFile->IsDirectory
81 if (ParentNodeId != VIRTIO_FS_FUSE_ROOT_DIR_NODE_ID) {
86 if (EFI_ERROR (Status)) {
90 Status = EFI_WARN_DELETE_FAILURE;
93 Status = EFI_WARN_DELETE_FAILURE;
100 if (VirtioFsFile->NodeId != VIRTIO_FS_FUSE_ROOT_DIR_NODE_ID) {
109 FreePool (VirtioFsFile->CanonicalPathname);
110 if (VirtioFsFile->FileInfoArray !=
NULL) {
111 FreePool (VirtioFsFile->FileInfoArray);
LIST_ENTRY *EFIAPI RemoveEntryList(IN CONST LIST_ENTRY *Entry)
VOID EFIAPI FreePool(IN VOID *Buffer)
EFI_STATUS VirtioFsFuseForget(IN OUT VIRTIO_FS *VirtioFs, IN UINT64 NodeId)
EFI_STATUS VirtioFsFuseReleaseFileOrDir(IN OUT VIRTIO_FS *VirtioFs, IN UINT64 NodeId, IN UINT64 FuseHandle, IN BOOLEAN IsDir)
EFI_STATUS VirtioFsFuseRemoveFileOrDir(IN OUT VIRTIO_FS *VirtioFs, IN UINT64 ParentNodeId, IN CHAR8 *Name, IN BOOLEAN IsDir)
EFI_STATUS VirtioFsLookupMostSpecificParentDir(IN OUT VIRTIO_FS *VirtioFs, IN OUT CHAR8 *Path, OUT UINT64 *DirNodeId, OUT CHAR8 **LastComponent)