]> git.proxmox.com Git - mirror_edk2.git/blame - OvmfPkg/VirtioFsDxe/SimpleFsFlush.c
OvmfPkg: Apply uncrustify changes
[mirror_edk2.git] / OvmfPkg / VirtioFsDxe / SimpleFsFlush.c
CommitLineData
334c13e1
LE
1/** @file\r
2 EFI_FILE_PROTOCOL.Flush() member function for the Virtio Filesystem driver.\r
3\r
4 Copyright (C) 2020, Red Hat, Inc.\r
5\r
6 SPDX-License-Identifier: BSD-2-Clause-Patent\r
7**/\r
8\r
9#include "VirtioFsDxe.h"\r
10\r
11EFI_STATUS\r
12EFIAPI\r
13VirtioFsSimpleFileFlush (\r
ac0a286f 14 IN EFI_FILE_PROTOCOL *This\r
334c13e1
LE
15 )\r
16{\r
ac0a286f
MK
17 VIRTIO_FS_FILE *VirtioFsFile;\r
18 VIRTIO_FS *VirtioFs;\r
19 EFI_STATUS Status;\r
867cb9f6
LE
20\r
21 VirtioFsFile = VIRTIO_FS_FILE_FROM_SIMPLE_FILE (This);\r
22 VirtioFs = VirtioFsFile->OwnerFs;\r
23\r
24 if (!VirtioFsFile->IsOpenForWriting) {\r
25 return EFI_ACCESS_DENIED;\r
26 }\r
27\r
28 //\r
29 // FUSE_FLUSH is for regular files only.\r
30 //\r
31 if (!VirtioFsFile->IsDirectory) {\r
ac0a286f
MK
32 Status = VirtioFsFuseFlush (\r
33 VirtioFs,\r
34 VirtioFsFile->NodeId,\r
35 VirtioFsFile->FuseHandle\r
36 );\r
867cb9f6
LE
37 if (EFI_ERROR (Status)) {\r
38 return Status;\r
39 }\r
40 }\r
41\r
ac0a286f
MK
42 Status = VirtioFsFuseFsyncFileOrDir (\r
43 VirtioFs,\r
44 VirtioFsFile->NodeId,\r
45 VirtioFsFile->FuseHandle,\r
46 VirtioFsFile->IsDirectory\r
47 );\r
867cb9f6 48 return Status;\r
334c13e1 49}\r