From patchwork Mon Apr 4 07:35:53 2011 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Subject: I meet a problem Date: Sun, 03 Apr 2011 21:35:53 -0000 From: Artem Bityutskiy X-Patchwork-Id: 89590 Message-Id: <1301902553.2760.29.camel@localhost> To: Caizhiyong Cc: "tony.taoyong@hisilicon" , Renxincun , "Jiangzhonglin\(Jiangzhonglin\)" , Quyaxin , "linux-mtd@lists.infradead.org" Hi, On Sat, 2011-04-02 at 02:20 +0000, Caizhiyong wrote: > write disk 15091695 file 40023umount: tmpfs busy - remounted read-only > write disk 15131718 file 40076UBIFS error (pid 11300): dbg_check_space_info: free space changed from 424404213 to 424396165 Yes, I also saw this recently. I will look at this as soon as I can, and will keep you posted. I think this is most probably false alarm and a bug in the debugging code itself. So for now just hack your UBIFS and disable this debugging check, e.g., like this: > UBIFS: saved lprops statistics dump > UBIFS: current lprops statistics dump > UBIFS assert failed in dbg_dump_budg at 613 (pid 11300) > [] (unwind_backtrace+0x0/0xfc) from [] (dbg_dump_budg+0x220/0x2dc) > [] (dbg_dump_budg+0x220/0x2dc) from [] (dbg_check_space_info+0xb0/0xc0) > [] (dbg_check_space_info+0xb0/0xc0) from [] (ubifs_remount_fs+0x428/0x8dc) > [] (ubifs_remount_fs+0x428/0x8dc) from [] (do_remount_sb+0x6c/0x11c) > [] (do_remount_sb+0x6c/0x11c) from [] (do_mount+0x468/0x708) > [] (do_mount+0x468/0x708) from [] (sys_mount+0x84/0xc4) > [] (sys_mount+0x84/0xc4) from [] (ret_fast_syscall+0x0/0x30) > [] (unwind_backtrace+0x0/0xfc) from [] (dbg_check_space_info+0xb4/0xc0) > [] (dbg_check_space_info+0xb4/0xc0) from [] (ubifs_remount_fs+0x428/0x8dc) > [] (ubifs_remount_fs+0x428/0x8dc) from [] (do_remount_sb+0x6c/0x11c) > [] (do_remount_sb+0x6c/0x11c) from [] (do_mount+0x468/0x708) > [] (do_mount+0x468/0x708) from [] (sys_mount+0x84/0xc4) > [] (sys_mount+0x84/0xc4) from [] (ret_fast_syscall+0x0/0x30) > UBIFS warning (pid 11300): ubifs_ro_mode: switched to read-only mode, error -22 > [] (unwind_backtrace+0x0/0xfc) from [] (ubifs_remount_fs+0x438/0x8dc) > [] (ubifs_remount_fs+0x438/0x8dc) from [] (do_remount_sb+0x6c/0x11c) > [] (do_remount_sb+0x6c/0x11c) from [] (do_mount+0x468/0x708) > [] (do_mount+0x468/0x708) from [] (sys_mount+0x84/0xc4) > [] (sys_mount+0x84/0xc4) from [] (ret_fast_syscall+0x0/0x30) > Unable to handle kernel NULL pointer dereference at virtual address 00000124 And this oops is a bug in the dumping code, I'll take a look at this as well. diff --git a/fs/ubifs/debug.c b/fs/ubifs/debug.c index c04efa8..1cc760b 100644 --- a/fs/ubifs/debug.c +++ b/fs/ubifs/debug.c @@ -995,6 +995,8 @@ int dbg_check_space_info(struct ubifs_info *c) struct ubifs_lp_stats lst; long long avail, free; + return 0; /* Temporary work-around hack */ + spin_lock(&c->space_lock); avail = ubifs_calc_available(c, c->min_idx_lebs); spin_unlock(&c->space_lock);