diff --git a/fs/f2fs/checkpoint.c b/fs/f2fs/checkpoint.c index bbe07e3a6c75..b0b5b792e092 100644 --- a/fs/f2fs/checkpoint.c +++ b/fs/f2fs/checkpoint.c @@ -1659,9 +1659,10 @@ int f2fs_write_checkpoint(struct f2fs_sb_info *sbi, struct cp_control *cpc) return 0; f2fs_warn(sbi, "Start checkpoint disabled!"); } + printk("f2fs_cp: 1 before cp_global_sem\n"); if (cpc->reason != CP_RESIZE) f2fs_down_write(&sbi->cp_global_sem); - + printk("f2fs_cp: 2 after cp_global_sem\n"); stat_cp_time(cpc, CP_TIME_LOCK); if (!is_sbi_flag_set(sbi, SBI_IS_DIRTY) && @@ -1669,16 +1670,18 @@ int f2fs_write_checkpoint(struct f2fs_sb_info *sbi, struct cp_control *cpc) ((cpc->reason & CP_DISCARD) && !sbi->discard_blks))) goto out; if (unlikely(f2fs_cp_error(sbi))) { + printk("f2fs_cp: 3 cp_error detected early\n"); err = -EIO; goto out; } trace_f2fs_write_checkpoint(sbi->sb, cpc->reason, "start block_ops"); - + printk("f2fs_cp: 4 before block_operations\n"); err = block_operations(sbi); + printk("f2fs_cp: 5 after block_operations err=%d cp_error=%d\n", err, f2fs_cp_error(sbi)); if (err) goto out; - + //printk("f2fs_cp: 6 before do_checkpoint\n"); stat_cp_time(cpc, CP_TIME_OP_LOCK); trace_f2fs_write_checkpoint(sbi->sb, cpc->reason, "finish block_ops"); @@ -1724,8 +1727,10 @@ int f2fs_write_checkpoint(struct f2fs_sb_info *sbi, struct cp_control *cpc) /* save inmem log status */ f2fs_save_inmem_curseg(sbi); + printk("f2fs_cp: 4 before block_operations\n"); err = do_checkpoint(sbi, cpc); + printk("f2fs_cp: 7 after do_checkpoint err=%d\n", err); if (err) { f2fs_err(sbi, "do_checkpoint failed err:%d, stop checkpoint", err); f2fs_bug_on(sbi, !f2fs_cp_error(sbi));