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

Function Ext2LinkHeadMcb

Ext4Fsd/memory.c:2915–2933  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

2913/* Link Mcb to head of Vcb->McbList queue */
2914
2915VOID
2916Ext2LinkHeadMcb(PEXT2_VCB Vcb, PEXT2_MCB Mcb)
2917{
2918 if (Mcb->Inode.i_ino == EXT2_ROOT_INO) {
2919 return;
2920 }
2921
2922 ExAcquireResourceExclusiveLite(&Vcb->McbLock, TRUE);
2923
2924 if (!IsFlagOn(Mcb->Flags, MCB_VCB_LINK)) {
2925 InsertHeadList(&Vcb->McbList, &Mcb->Link);
2926 SetLongFlag(Mcb->Flags, MCB_VCB_LINK);
2927 Ext2ReferXcb(&Vcb->NumOfMcb);
2928 } else {
2929 DEBUG(DL_RES, ( "Ext2LinkHeadMcb: %wZ already linked.\n",
2930 &Mcb->FullName));
2931 }
2932 ExReleaseResourceLite(&Vcb->McbLock);
2933}
2934
2935/* Unlink Mcb from Vcb->McbList queue */
2936

Callers 2

Ext2UnlinkFcbFunction · 0.85
Ext2FreeCcbFunction · 0.85

Calls

no outgoing calls

Tested by

no test coverage detected