On 2019/3/22 上午7:23, Thorsten Hirsch wrote:
> Meanwhile I upgraded to kernel 5.0, but the problem remained the same. So I 
> zeroed the log with btrfs rescue zero-log. The command was successful, 
> however the problem still remains more or less the same, which means:
> 
> - I still get a kernel oops when mounting.
> - The stack trace looks a bit different now, e.g. RIP 0010 is not null 
> anymore, and there's another RIP code: 0033. Maybe "set_page_dirty" is 
> interesting, too. But see for yourserlf below.
> 
> Any ideas?
> 
> Thorsten Hirsch
> 
> P.S.: btrfs check --readonly tells me that everything's fine. But it already 
> did so before zeroing the log.
> 
> 
> [   12.400224] BTRFS: device label Linux devid 1 transid 30104 /dev/nvme0n1p3
> [   12.400523] BTRFS info (device nvme0n1p3): disk space caching is enabled
> [   12.400524] BTRFS info (device nvme0n1p3): has skinny extents
> [   12.427049] BTRFS info (device nvme0n1p3): enabling ssd optimizations
> [   12.461362] init_special_inode: bogus i_mode (0) for inode nvme0n1p3:882
> [   12.462844] init_special_inode: bogus i_mode (0) for inode nvme0n1p3:802
> [   12.515489] BUG: unable to handle kernel NULL pointer dereference at 
> 0000000000000001
> [   12.515491] #PF error: [normal kernel read fault]
> [   12.515492] PGD 0 P4D 0
> [   12.515495] Oops: 0000 [#1] SMP NOPTI
> [   12.515497] CPU: 8 PID: 487 Comm: exe Not tainted 5.0.0-7-generic #8-Ubuntu
> [   12.515499] Hardware name: Gigabyte Technology Co., Ltd. 
> AB350M-DS3H/AB350M-DS3H-CF, BIOS F24 12/25/2018
> [   12.515504] RIP: 0010:__set_page_dirty_buffers+0x4c/0x100
> [   12.515506] Code: 84 00 00 00 49 89 c5 4c 89 e7 e8 df 71 73 00 48 8b 03 f6 
> c4 20 74 28 48 8b 03 f6 c4 20 0f 84 ae 00 00 00 48 8b 43 28 48 89 c2 <48> 8b 
> 0a 83 e1 02 75 04 f0 80 0a 02 48 8b 52 08 48 39 d0 75 eb 48
> [   12.515507] RSP: 0018:ffffa9d2c28e7688 EFLAGS: 00010202
> [   12.515509] RAX: 0000000000000001 RBX: ffffe34f45261300 RCX: 
> 0000000000000000
> [   12.515510] RDX: 0000000000000001 RSI: 0000000000000000 RDI: 
> ffff8fc1b80b784c
> [   12.515512] RBP: ffffa9d2c28e76a0 R08: 0000000000028200 R09: 
> ffffffffc07af588
> [   12.515513] R10: ffff8fc1cc594000 R11: ffff8fc1ba605ff0 R12: 
> ffff8fc1b80b784c
> [   12.515514] R13: ffff8fc1b80b77c8 R14: ffff8fc1bc255600 R15: 
> 0000000000000040
> [   12.515516] FS:  00007f2fafc505c0(0000) GS:ffff8fc1cec00000(0000) 
> knlGS:0000000000000000
> [   12.515517] CS:  0010 DS: 0000 ES: 0000 CR0: 0000000080050033
> [   12.515518] CR2: 0000000000000001 CR3: 00000003fe150000 CR4: 
> 00000000003406e0
> [   12.515520] Call Trace:
> [   12.515524]  set_page_dirty+0x5e/0xb0
> [   12.515541]  btrfs_dirty_pages+0x11f/0x2a0 [btrfs]

It's free space cache write out causing the problem.

Btrfs check would not report cache generation mismatch as a problem.

Considering the previous output about bogous inode mode, it maybe some
bug in the free space cache inode mode.

Would you please dump the root tree (contains no file name except
subvolume name, feel free to mask them) by the following command:
 # btrfs ins dump-tree -t root /dev/nvme0n1p3

Then you can try to completely wipe out the free space cache by the
following command:
 # btrfs check --clear-space-cache v1

If the above command successes, try mount again, and it should work.

Thanks,
Qu


> [   12.515562]  ? io_ctl_set_crc+0x5e/0xf0 [btrfs]
> [   12.515576]  __btrfs_write_out_cache+0x3aa/0x470 [btrfs]
> [   12.515590]  btrfs_write_out_cache+0x9a/0xf0 [btrfs]
> [   12.515600]  btrfs_write_dirty_block_groups+0x293/0x3a0 [btrfs]
> [   12.515611]  ? btrfs_run_delayed_refs+0xa7/0x190 [btrfs]
> [   12.515622]  commit_cowonly_roots+0x21a/0x2c0 [btrfs]
> [   12.515634]  btrfs_commit_transaction+0x32e/0x8c0 [btrfs]
> [   12.515647]  btrfs_recover_log_trees+0x392/0x430 [btrfs]
> [   12.515660]  ? replay_dir_deletes+0x2a0/0x2a0 [btrfs]
> [   12.515671]  open_ctree+0x1b2c/0x1bb0 [btrfs]
> [   12.515681]  btrfs_mount_root+0x4ff/0x650 [btrfs]
> [   12.515683]  ? cpumask_next+0x1b/0x20
> [   12.515685]  ? pcpu_alloc+0x1bd/0x610
> [   12.515687]  mount_fs+0x51/0x165
> [   12.515689]  vfs_kern_mount.part.38+0x5d/0x110
> [   12.515691]  vfs_kern_mount+0x13/0x20
> [   12.515700]  btrfs_mount+0x16f/0x860 [btrfs]
> [   12.515702]  ? pcpu_block_update_hint_alloc+0x1af/0x200
> [   12.515703]  ? pcpu_alloc_area+0xed/0x140
> [   12.515704]  ? pcpu_next_unpop+0x3c/0x50
> [   12.515706]  ? cpumask_next+0x1b/0x20
> [   12.515707]  ? pcpu_alloc+0x1bd/0x610
> [   12.515708]  mount_fs+0x51/0x165
> [   12.515709]  ? mount_fs+0x51/0x165
> [   12.515711]  vfs_kern_mount.part.38+0x5d/0x110
> [   12.515712]  do_mount+0x22f/0xd50
> [   12.515714]  ? __check_object_size+0x166/0x192
> [   12.515716]  ? memdup_user+0x4f/0x80
> [   12.515717]  ksys_mount+0xb6/0xd0
> [   12.515718]  __x64_sys_mount+0x25/0x30
> [   12.515720]  do_syscall_64+0x5a/0x110
> [   12.515722]  entry_SYSCALL_64_after_hwframe+0x44/0xa9
> [   12.515723] RIP: 0033:0x7f2fafb82aca
> [   12.515725] Code: 48 8b 0d c9 53 0c 00 f7 d8 64 89 01 48 83 c8 ff c3 66 2e 
> 0f 1f 84 00 00 00 00 00 0f 1f 44 00 00 49 89 ca b8 a5 00 00 00 0f 05 <48> 3d 
> 01 f0 ff ff 73 01 c3 48 8b 0d 96 53 0c 00 f7 d8 64 89 01 48
> [   12.515726] RSP: 002b:00007ffde16c06c8 EFLAGS: 00000202 ORIG_RAX: 
> 00000000000000a5
> [   12.515727] RAX: ffffffffffffffda RBX: 0000000000008401 RCX: 
> 00007f2fafb82aca
> [   12.515728] RDX: 00007ffde16c2dd5 RSI: 00007ffde16c2df8 RDI: 
> 00007ffde16c2de9
> [   12.515728] RBP: 00007f2fafc50540 R08: 0000000000000000 R09: 
> 0000000000000000
> [   12.515729] R10: 0000000000008401 R11: 0000000000000202 R12: 
> 0000000000000000
> [   12.515730] R13: 0000000000000000 R14: 00007ffde16c0938 R15: 
> 0000000000000000
> [   12.515731] Modules linked in: btrfs xor zstd_compress raid6_pq libcrc32c 
> nls_iso8859_1 dm_mirror dm_region_hash dm_log uas usb_storage hid_generic 
> usbhid hid amdgpu chash amd_iommu_v2 gpu_sched i2c_algo_bit ttm 
> drm_kms_helper syscopyarea sysfillrect sysimgblt fb_sys_fops drm r8169 
> i2c_piix4 ahci nvme realtek libahci nvme_core wmi gpio_amdpt gpio_generic
> [   12.515742] CR2: 0000000000000001
> [   12.515744] ---[ end trace 3e026a4bcaf67667 ]---
> [   12.515745] RIP: 0010:__set_page_dirty_buffers+0x4c/0x100
> [   12.515746] Code: 84 00 00 00 49 89 c5 4c 89 e7 e8 df 71 73 00 48 8b 03 f6 
> c4 20 74 28 48 8b 03 f6 c4 20 0f 84 ae 00 00 00 48 8b 43 28 48 89 c2 <48> 8b 
> 0a 83 e1 02 75 04 f0 80 0a 02 48 8b 52 08 48 39 d0 75 eb 48
> [   12.515747] RSP: 0018:ffffa9d2c28e7688 EFLAGS: 00010202
> [   12.515748] RAX: 0000000000000001 RBX: ffffe34f45261300 RCX: 
> 0000000000000000
> [   12.515749] RDX: 0000000000000001 RSI: 0000000000000000 RDI: 
> ffff8fc1b80b784c
> [   12.515750] RBP: ffffa9d2c28e76a0 R08: 0000000000028200 R09: 
> ffffffffc07af588
> [   12.515750] R10: ffff8fc1cc594000 R11: ffff8fc1ba605ff0 R12: 
> ffff8fc1b80b784c
> [   12.515751] R13: ffff8fc1b80b77c8 R14: ffff8fc1bc255600 R15: 
> 0000000000000040
> [   12.515752] FS:  00007f2fafc505c0(0000) GS:ffff8fc1cec00000(0000) 
> knlGS:0000000000000000
> [   12.515753] CS:  0010 DS: 0000 ES: 0000 CR0: 0000000080050033
> [   12.515754] CR2: 0000000000000001 CR3: 00000003fe150000 CR4: 
> 00000000003406e0
> 

Attachment: signature.asc
Description: OpenPGP digital signature

Reply via email to