| 2935 | /* Unlink Mcb from Vcb->McbList queue */ |
| 2936 | |
| 2937 | VOID |
| 2938 | Ext2UnlinkMcb(PEXT2_VCB Vcb, PEXT2_MCB Mcb) |
| 2939 | { |
| 2940 | if (Mcb->Inode.i_ino == EXT2_ROOT_INO) { |
| 2941 | return; |
| 2942 | } |
| 2943 | |
| 2944 | ExAcquireResourceExclusiveLite(&Vcb->McbLock, TRUE); |
| 2945 | |
| 2946 | if (IsFlagOn(Mcb->Flags, MCB_VCB_LINK)) { |
| 2947 | RemoveEntryList(&(Mcb->Link)); |
| 2948 | ClearLongFlag(Mcb->Flags, MCB_VCB_LINK); |
| 2949 | Ext2DerefXcb(&Vcb->NumOfMcb); |
| 2950 | } else { |
| 2951 | DEBUG(DL_RES, ( "Ext2UnlinkMcb: %wZ already unlinked.\n", |
| 2952 | &Mcb->FullName)); |
| 2953 | } |
| 2954 | ExReleaseResourceLite(&Vcb->McbLock); |
| 2955 | } |
| 2956 | |
| 2957 | /* get the first Mcb record in Vcb->McbList */ |
| 2958 |
no outgoing calls
no test coverage detected