[Bug 217363] New: jbd2: Data missing when reusing bh which is ready to be submitted in checkpoint

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



https://bugzilla.kernel.org/show_bug.cgi?id=217363

            Bug ID: 217363
           Summary: jbd2: Data missing when reusing bh which is ready to
                    be submitted in checkpoint
           Product: File System
           Version: 2.5
          Hardware: All
                OS: Linux
            Status: NEW
          Severity: normal
          Priority: P3
         Component: ext4
          Assignee: fs_ext4@xxxxxxxxxxxxxxxxxxxx
          Reporter: chengzhihao1@xxxxxxxxxx
        Regression: No

CONFIG_EXT4_FS=y
CONFIG_JBD2=y

-smp 4

1. Apply diff and compile kernel
2. ./test.sh
[   76.050388] jbd2_journal_commit_transaction ---
[   76.051528] jbd2_journal_commit_transaction ====
[   76.179116] umount(3642): commit ffff88817a547500
[   76.300237] ext4 filesystem being mounted at /root/temp supports timestamps
until 2038 (0x7fffffff)
[   76.315293] assign g_bh, trace dir 2 buffer, add a(1036)
[   76.349959] jbd2_journal_commit_transaction ---
[   76.350915] insert ffff888173aa3340 into trans ffff888173aa4100
[   76.352158] mark buffer dirty
[   76.352829] jbd2_journal_commit_transaction ====
[   76.377202] chmod(3649): commit ffff888173aa4100
[   76.378019] checkpoint: bh dirty bit should be cleared before flush
[   76.379045] commit ffff888173aa4100 done
[   76.379708] Do access to bh
[   78.415834] commit ffff888173aa4100 done
[   78.512334] Kernel panic - not syncing: DONE
[   78.513351] CPU: 0 PID: 3649 Comm: chmod Not tainted
6.3.0-00012-g8eab99f47c2b-dirty #1188
[   78.515079] Hardware name: QEMU Standard PC (i440FX + PIIX, 1996), BIOS
?-20190727_073836-buildvm-ppc64le-16.ppc.fedoraproje4
[   78.517776] Call Trace:
[   78.518305]  <TASK>
[   78.518790]  dump_stack_lvl+0x7f/0xb0
[   78.519580]  dump_stack+0x18/0x30
[   78.520292]  panic+0x4e6/0x520
[   78.520965]  jbd2_log_do_checkpoint+0x818/0x840
[   78.521935]  __jbd2_log_wait_for_space+0x187/0x3c0
[   78.522949]  add_transaction_credits+0x3fc/0x4d0
[   78.523697]  ? add_timer+0x1ca/0x350
[   78.524020]  start_this_handle+0x156/0x970
[   78.524389]  ? kmem_cache_alloc+0x4db/0xac0
[   78.524862]  jbd2__journal_start+0x130/0x300
[   78.525288]  __ext4_journal_start_sb+0x2aa/0x300
[   78.525715]  ext4_dirty_inode+0x41/0xa0
[   78.526073]  __mark_inode_dirty+0x93/0x6b0
[   78.526472]  ext4_setattr+0x16d/0x10b0
[   78.526832]  ? path_lookupat.isra.0+0xca/0x200
[   78.527248]  notify_change+0x44f/0x760
[   78.527604]  ? __call_rcu_common.constprop.0+0x116/0xa80
[   78.528089]  ? chmod_common+0x11f/0x210
[   78.528444]  chmod_common+0x11f/0x210
[   78.528791]  ? kmemleak_free+0x47/0xa0
[   78.529145]  ? putname+0x79/0xa0
[   78.529456]  do_fchmodat+0x6e/0xf0
[   78.529788]  __x64_sys_fchmodat+0x22/0x30
[   78.530159]  do_syscall_64+0x39/0x80
[   78.530497]  entry_SYSCALL_64_after_hwframe+0x63/0xcd
[   78.530970] RIP: 0033:0x7fc88a6ffdb9
[   78.531304] Code: ff ff ff ff c3 66 2e 0f 1f 84 00 00 00 00 00 66 90 f7 c1
ff fe ff ff 75 38 80 e5 01 75 4b 48 63 ff 89 d2 b0
[   78.532967] RSP: 002b:00007fffb4c6e0e8 EFLAGS: 00000246 ORIG_RAX:
000000000000010c
[   78.533671] RAX: ffffffffffffffda RBX: 0000000000000001 RCX:
00007fc88a6ffdb9
[   78.534323] RDX: 00000000000001ed RSI: 000055555b1d30f0 RDI:
ffffffffffffff9c
[   78.534984] RBP: 000055555b1d3060 R08: 0000000000000000 R09:
0000000000000000
[   78.535648] R10: 0000000000000000 R11: 0000000000000246 R12:
0000555559a0a734
[   78.536302] R13: 000055555b1d30f0 R14: 000055555b1d4320 R15:
0000000000008000
[   78.536974]  </TASK>
[   78.537345] Kernel Offset: disabled
[   78.537681] ---[ end Kernel panic - not syncing: DONE ]---

3. reboot
4. fsck.ext4 -fa /dev/sda
[root@localhost ~]# fsck.ext4  -fa /dev/sda
/dev/sda: recovering journal
/dev/sda: Entry 'a' in / (2) references inode 1036 found in group 0's unused
inodes area.
FIXED.
/dev/sda: Entry 'a' in / (2) has an incorrect filetype (was 1, should be 0).


/dev/sda: UNEXPECTED INCONSISTENCY; RUN fsck MANUALLY.
        (i.e., without -a or -p options)

-- 
You may reply to this email to add a comment.

You are receiving this mail because:
You are watching the assignee of the bug.



[Index of Archives]     [Reiser Filesystem Development]     [Ceph FS]     [Kernel Newbies]     [Security]     [Netfilter]     [Bugtraq]     [Linux FS]     [Yosemite National Park]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Samba]     [Device Mapper]     [Linux Media]

  Powered by Linux