MCPcopy Create free account
hub / github.com/bobranten/Ext4Fsd / Ext2FlushFiles

Function Ext2FlushFiles

Ext4Fsd/flush.c:107–140  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

105}
106
107NTSTATUS
108Ext2FlushFiles(
109 IN PEXT2_IRP_CONTEXT IrpContext,
110 IN PEXT2_VCB Vcb,
111 IN BOOLEAN bShutDown
112)
113{
114 IO_STATUS_BLOCK IoStatus;
115
116 PEXT2_FCB Fcb;
117 PLIST_ENTRY ListEntry;
118
119 if (IsVcbReadOnly(Vcb)) {
120 return STATUS_SUCCESS;
121 }
122
123 IoStatus.Status = STATUS_SUCCESS;
124
125 DEBUG(DL_INF, ( "Flushing Files ...\n"));
126
127 // Flush all Fcbs in Vcb list queue.
128 for (ListEntry = Vcb->FcbList.Flink;
129 ListEntry != &Vcb->FcbList;
130 ListEntry = ListEntry->Flink ) {
131
132 Fcb = CONTAINING_RECORD(ListEntry, EXT2_FCB, Next);
133 ExAcquireResourceExclusiveLite(
134 &Fcb->MainResource, TRUE);
135 Ext2FlushFile(IrpContext, Fcb, NULL);
136 ExReleaseResourceLite(&Fcb->MainResource);
137 }
138
139 return IoStatus.Status;
140}
141
142
143NTSTATUS

Callers 7

Ext2FlushFunction · 0.85
Ext2LockVolumeFunction · 0.85
Ext2DismountVolumeFunction · 0.85
Ext2PnpQueryRemoveFunction · 0.85
Ext2ShutDownFunction · 0.85
Ext2CreateVolumeFunction · 0.85

Calls 1

Ext2FlushFileFunction · 0.85

Tested by

no test coverage detected