static void clean_main(struct sb *sb, struct inode *inode) { log_finish(sb); log_finish_cycle(sb, 1); free_map(inode->map); destroy_defer_bfree(&sb->derollup); destroy_defer_bfree(&sb->defree); tux3_clear_dirty_inode(sb->logmap); invalidate_buffers(sb->volmap->map); tux3_clear_dirty_inode(sb->volmap); put_super(sb); tux3_exit_mem(); }
/* Unpin log blocks, and prepare for future logging. */ static void replay_done(struct replay *rp) { if(DEBUG_MODE_K==1) { printk(KERN_INFO"%25s %25s %4d #in\n",__FILE__,__func__,__LINE__); } struct sb *sb = rp->sb; clean_orphan_list(&rp->log_orphan_add); /* for error path */ free_replay(rp); sb->lognext = be32_to_cpu(sb->super.logcount); replay_unpin_logblocks(sb, 0, sb->lognext); log_finish_cycle(sb, 0); }