lafs_dirty_iblock(ib);
lafs_walk_leaf_index(ib, prune_some, ib);
}
- lafs_incorporate(fs, ib);
+ if (test_bit(B_Dirty, &ib->b.flags))
+ lafs_incorporate(fs, ib);
goto out;
}
LAFSI(ino)->trunc_next = next_trunc;
- while (ib->uninc_table.pending_cnt || ib->uninc)
+ while (ib->uninc_table.pending_cnt || ib->uninc) {
+ LAFS_BUG(!test_bit(B_Dirty, &ib->b.flags), &ib->b);
lafs_incorporate(fs, ib);
+ }
if (!test_bit(B_PhysValid, &ib->b.flags) ||
ib->b.physaddr != 0) {
lafs_dirty_iblock(ib);
lafs_walk_leaf_index(ib, prune, ib);
}
- lafs_incorporate(fs, ib);
+ if (test_bit(B_Dirty, &ib->b.flags))
+ lafs_incorporate(fs, ib);
LAFS_BUG(!list_empty(&ib->children), &ib->b);
out: