0, fs->phase, 1);
blk->b.physaddr = baddr;
lafs_dirty_iblock(blk->b.parent, 0);
- /* FIXME maybe set Writeback and unlock */
+ 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);
dprintk("Allocated block %lu to %llu\n",
(unsigned long)bnum, baddr);
- /* FIXME maybe clear Writeback instead */
- lafs_iounlock_block(&blk->b);
+ lafs_writeback_done(&blk->b);
clear_bit(B_PinPending, &blk->b.flags);
/* If we had previously read this block for some reason,