On Wed, 2007-08-01 at 12:34 +0530, Girish Shilamkar wrote: > On Wed, 2007-07-11 at 17:16 +0530, Girish Shilamkar wrote: > > > I will make the changes and send an incremental patch. > > > Hi, > I have made the changes and attached the incremental patch as per the > review. > > This is the actual changelog which was missing in the original patch. > > ------ > The journal checksum feature adds two new flags i.e > JBD2_FEATURE_INCOMPAT_ASYNC_COMMIT and JBD2_FEATURE_COMPAT_CHECKSUM. > > JBD2_FEATURE_CHECKSUM flag indicates that the commit block contains the > checksum for the blocks described by the descriptor blocks. > Due to checksums, writing of the commit record no longer needs to be > synchronous. Now commit record can be sent to disk without waiting for > descriptor blocks to be written to disk. This behavior is controlled > using JBD2_FEATURE_ASYNC_COMMIT flag. Older kernels/e2fsck should not be > able to recover the journal with _ASYNC_COMMIT hence it is made > incompat. > The commit header has been extended to hold the checksum along with the > type of the checksum. > > For recovery in pass scan checksums are verified to ensure the sanity > and completeness(in case of _ASYNC_COMMIT) of every transaction. > ----- Hit kernel oops when run fsstress test on ext4-patch-queue with -o journal_checksum. BUG: unable to handle kernel NULL pointer dereference at virtual address 00000000 printing eip: c118ba5d *pdpt = 000000002560a001 *pde = 0000000000000000 Oops: 0000 [#1] SMP Modules linked in: CPU: 1 EIP: 0060:[<c118ba5d>] Not tainted VLI EFLAGS: 00010257 (2.6.23-rc4-autokern1 #1) EIP is at crc32_be+0x3d/0x9c eax: 7e78a276 ebx: 76a2787e ecx: 00000400 edx: 00000000 esi: 00000000 edi: 00000000 ebp: f56e5200 esp: e61f9e90 ds: 007b es: 007b fs: 00d8 gs: 0000 ss: 0068 Process kjournald2 (pid: 5388, ti=e61f8000 task=e3efc000 task.ti=e61f8000) Stack: ef5fffc0 00000016 c10c762d 0000055e 00000000 00000000 00001000 00000000 f50e3e80 7e78a276 00000008 00000000 00000544 eb46aab4 eb46aabc 00000155 f585f800 e1e1c968 00000000 eb059428 0000055e 00000000 00000000 e3efc000 Call Trace: [<c10c762d>] jbd2_journal_commit_transaction+0x92a/0x128d [<c1029e51>] autoremove_wake_function+0x0/0x33 [<c1029e51>] autoremove_wake_function+0x0/0x33 [<c10214f4>] try_to_del_timer_sync+0x42/0x48 [<c10ca4fd>] kjournald2+0x130/0x307 [<c1029e51>] autoremove_wake_function+0x0/0x33 [<c129171c>] __sched_text_start+0x364/0x3ff [<c1029e51>] autoremove_wake_function+0x0/0x33 [<c10ca3cd>] kjournald2+0x0/0x307 [<c1029a27>] kthread+0x34/0x55 [<c10299f3>] kthread+0x0/0x55 [<c1003173>] kernel_thread_helper+0x7/0x10 ======================= Code: 42 30 d8 0f b6 c0 c1 eb 08 33 1c 85 e0 ae 2a c1 49 74 05 f6 c2 03 75 e5 83 f9 03 76 4c 89 ce 83 ea 04 83 e6 03 c1 e9 02 83 c2 04 <33> 1a 0f b6 c3 c1 eb 08 33 1c 85 e0 ae 2a c1 0f b6 c3 c1 eb 08 EIP: [<c118ba5d>] crc32_be+0x3d/0x9c SS:ESP 0068:e61f9e90 - To unsubscribe from this list: send the line "unsubscribe linux-ext4" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html