lafs_dirty_iblock(blk->b.parent, 0);
set_bit(B_Writeback, &blk->b.flags);
lafs_iounlock_block(&blk->b);
- if (lafs_add_block_address(fs, &blk->b) == 0)
- /* FIXME if the table becomes full, we have a problem... */
- LAFS_BUG(1, &blk->b);
+
+ while (lafs_add_block_address(fs, &blk->b) == 0)
+ /* Just like in lafs_phase_flip, there is no special
+ * action required here.
+ */
+ ;
+
dprintk("Allocated block %lu to %llu\n",
(unsigned long)bnum, baddr);
lafs_writeback_done(&blk->b);