Mingming,
FYI, I checked in a minor change to the ext4 journal credits reservation
patch into the ext4 patch queue.
I changed a printk in ext4_da_writepgaes() from:
printk(KERN_EMERG "%s: Not enough credits to flush %ld p
wbc->nr_to_write);
to this:
printk(KERN_EMERG "ext4_da_writepages: jbd2_start: "
"%ld pages, ino %d; err %d\n",
wbc->nr_to_write, inode->i_ino, ret)
As it turns out, the primary way this printk triggers is right after a
filesystem is remounted read-only. My change provides a bit more useful
information.
I'm not sure whether the read-only remount is failing to force changes
to disk, or the pages are erroneously left dirty; but this should help
us figure out exactly what is going on. As I said earlier, I don't
think this is the fault of the journal credits patch, but it is exposing
this potential bug in a much more visible way.
- Ted