* I accidently broke get_next_locked_block_cache() in r27074; it would always
ignore every other cache (starting from the first). * The consequence of this was that no blocks were written back automatically for those caches, and their transactions were never idle, causing bug #2781. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@27831 a95241bf-73f2-0310-859d-f6bbb57e9c96
This commit is contained in:
parent
1b910a79a2
commit
56ab6f077f
|
@ -1596,17 +1596,10 @@ get_next_locked_block_cache(block_cache *last)
|
||||||
} else
|
} else
|
||||||
cache = sCaches.Head();
|
cache = sCaches.Head();
|
||||||
|
|
||||||
while (cache != NULL) {
|
if (cache != NULL) {
|
||||||
cache = sCaches.GetNext(cache);
|
|
||||||
if (cache == NULL)
|
|
||||||
break;
|
|
||||||
|
|
||||||
mutex_lock(&cache->lock);
|
mutex_lock(&cache->lock);
|
||||||
break;
|
|
||||||
}
|
|
||||||
|
|
||||||
if (cache != NULL)
|
|
||||||
sCaches.Insert(sCaches.GetNext(cache), (block_cache *)&sMarkCache);
|
sCaches.Insert(sCaches.GetNext(cache), (block_cache *)&sMarkCache);
|
||||||
|
}
|
||||||
|
|
||||||
return cache;
|
return cache;
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue