kernel/fs: Unlock the unused-vnodes lock before continue'ing.
Otherwise we'll unlock in the wrong order and trigger an "interrupts disabled" assertion in this case.
This commit is contained in:
@@ -1351,8 +1351,10 @@ free_unused_vnodes(int32 level)
|
|||||||
// has been touched in the meantime, i.e. it is no longer the least
|
// has been touched in the meantime, i.e. it is no longer the least
|
||||||
// recently used unused vnode and we rather don't free it.
|
// recently used unused vnode and we rather don't free it.
|
||||||
unusedVnodesLocker.Lock();
|
unusedVnodesLocker.Lock();
|
||||||
if (vnode != sUnusedVnodeList.First())
|
if (vnode != sUnusedVnodeList.First()) {
|
||||||
|
unusedVnodesLocker.Unlock();
|
||||||
continue;
|
continue;
|
||||||
|
}
|
||||||
unusedVnodesLocker.Unlock();
|
unusedVnodesLocker.Unlock();
|
||||||
|
|
||||||
ASSERT(!vnode->IsBusy());
|
ASSERT(!vnode->IsBusy());
|
||||||
|
|||||||
Reference in New Issue
Block a user