else we sometimes violate assertions about having non-zero refcount
Signed-off-by: NeilBrown <neilb@suse.de>
* wait for any pending IO to complete (so page can be freed)
*/
for (i = 0; i < (1<<bits); i++) {
+ getref_locked(&b[i].b, MKREF(inval));
if (b_start >= offset &&
test_and_clear_bit(B_Async, &b[i].b.flags))
putdref(&b[i], MKREF(Async));
LAFS_BUG(offset == 0 &&
test_bit(B_IOLock, &b[i].b.flags),
&b[i].b);
+ putdref(&b[i], MKREF(inval));
}
}
if (offset == 0) {