| 2890 | /* Link Mcb to tail of Vcb->McbList queue */ |
| 2891 | |
| 2892 | VOID |
| 2893 | Ext2LinkTailMcb(PEXT2_VCB Vcb, PEXT2_MCB Mcb) |
| 2894 | { |
| 2895 | if (Mcb->Inode.i_ino == EXT2_ROOT_INO) { |
| 2896 | return; |
| 2897 | } |
| 2898 | |
| 2899 | ExAcquireResourceExclusiveLite(&Vcb->McbLock, TRUE); |
| 2900 | |
| 2901 | if (IsFlagOn(Mcb->Flags, MCB_VCB_LINK)) { |
| 2902 | DEBUG(DL_RES, ( "Ext2LinkTailMcb: %wZ already linked.\n", |
| 2903 | &Mcb->FullName)); |
| 2904 | } else { |
| 2905 | InsertTailList(&Vcb->McbList, &Mcb->Link); |
| 2906 | SetLongFlag(Mcb->Flags, MCB_VCB_LINK); |
| 2907 | Ext2ReferXcb(&Vcb->NumOfMcb); |
| 2908 | } |
| 2909 | |
| 2910 | ExReleaseResourceLite(&Vcb->McbLock); |
| 2911 | } |
| 2912 | |
| 2913 | /* Link Mcb to head of Vcb->McbList queue */ |
| 2914 | |