bcachefs icon indicating copy to clipboard operation
bcachefs copied to clipboard

fsck shows "key in deleted snapshot extents" errors

Open printfn opened this issue 3 months ago • 2 comments

When I run an offline fsck on my bcachefs root I see the following error logs every time:

kernel: bcachefs (dm-3): check_extents...
kernel: bcachefs (dm-3): key in deleted snapshot extents u64s 5 type whiteout 980655:209:4294967275 len 0 ver 0, deleting
kernel: bcachefs (dm-3): key in deleted snapshot extents u64s 5 type whiteout 980665:3083:4294967275 len 0 ver 0, deleting

It looks like there's some error that fsck isn't able to fix? It still mounts successfully, just with those error logs.

I'm running bcachefs-dkms 1.31.6 on kernel 6.16.8-arch3.

show-super
External UUID:                             5c9366a1-75bb-4196-802c-8484ad95b790
Internal UUID:                             74111912-ea0e-4d3d-b0b3-d731622013d2
Magic number:                              c68573f6-66ce-90a9-d96a-60cf803df7ef
Device index:                              0
Label:                                     (none)
Version:                                   1.31: btree_node_accounting
Incompatible features allowed:             1.31: btree_node_accounting
Incompatible features in use:              1.29: extent_snapshot_whiteouts
Version upgrade complete:                  1.31: btree_node_accounting
Oldest version on disk:                    1.28: inode_has_case_insensitive
Created:                                   Sat May 17 22:06:30 2025
Sequence number:                           4993
Time of last write:                        Sat Oct  4 09:52:01 2025
Superblock size:                           5.35 KiB/1.00 MiB
Clean:                                     0
Devices:                                   1
Sections:                                  replicas_v0,clean,journal_seq_blacklist,journal_v2,counters,members_v2,errors,ext,downgrade,recovery_passes
Features:                                  journal_seq_blacklist_v3,reflink,new_siphash,inline_data,new_extent_overwrite,btree_ptr_v2,extents_above_btree_updates,btree_updates_journalled,reflink_inline_data,new_varint,journal_no_flush,alloc_v2,extents_across_btree_nodes,incompat_version_field
Compat features:                           alloc_info,alloc_metadata,extents_above_btree_updates_done,bformat_overflow_done,no_stale_ptrs

Options:
  block_size:                              512 B
  btree_node_size:                         256 KiB
  errors:                                  continue [fix_safe] panic ro 
  write_error_timeout:                     30
  metadata_replicas:                       1
  data_replicas:                           1
  metadata_replicas_required:              1
  data_replicas_required:                  1
  encoded_extent_max:                      64.0 KiB
  metadata_checksum:                       none crc32c crc64 [xxhash] 
  data_checksum:                           none crc32c crc64 [xxhash] 
  checksum_err_retry_nr:                   3
  compression:                             none
  background_compression:                  none
  str_hash:                                crc32c crc64 [siphash] 
  metadata_target:                         none
  foreground_target:                       none
  background_target:                       none
  promote_target:                          none
  erasure_code:                            0
  casefold:                                0
  inodes_32bit:                            1
  shard_inode_numbers_bits:                4
  inodes_use_key_cache:                    1
  gc_reserve_percent:                      8
  gc_reserve_bytes:                        0 B
  root_reserve_percent:                    0
  wide_macs:                               0
  promote_whole_extents:                   1
  acl:                                     1
  usrquota:                                0
  grpquota:                                0
  prjquota:                                0
  degraded:                                [ask] yes very no 
  journal_flush_delay:                     1000
  journal_flush_disabled:                  0
  journal_reclaim_delay:                   100
  journal_transaction_names:               1
  allocator_stuck_timeout:                 30
  version_upgrade:                         compatible [incompatible] none 
  nocow:                                   0
  rebalance_on_ac_only:                    0

errors (size 104):
bkey_in_deleted_snapshot                    117             Sat Oct  4 09:51:52 2025
accounting_key_nr_counters_wrong            63              Fri Sep 19 08:39:31 2025
accounting_key_underflow                    2               Thu Sep 18 22:32:28 2025
vfs_bad_inode_rm                            36              Tue Jul 29 18:54:11 2025
inode_wrong_nlink                           4               Sat Jul 12 15:05:47 2025
inode_dir_has_nonzero_i_size                484             Sun Jun 29 22:59:32 2025
Device 0:                                  /dev/dm-3       (unknown model)
  Label:                                   (none)
  UUID:                                    9326abd6-224d-4b6e-b2a0-1424d114b9dd
  Size:                                    200 GiB
  read errors:                             0
  write errors:                            0
  checksum errors:                         1
  seqread iops:                            0
  seqwrite iops:                           0
  randread iops:                           0
  randwrite iops:                          0
  Bucket size:                             256 KiB
  First bucket:                            0
  Buckets:                                 819200
  Last mount:                              Sat Oct  4 09:51:39 2025
  Last superblock write:                   4993
  State:                                   rw
  Data allowed:                            journal,btree,user
  Has data:                                journal,btree,user
  Btree allocated bitmap blocksize:        4.00 MiB
  Btree allocated bitmap:                  0000000001000000000000000000001000000000010000000001000000000111
  Durability:                              1
  Discard:                                 1
  Freespace initialized:                   1
  Resize on mount:                         0

printfn avatar Oct 03 '25 21:10 printfn

Can you take a metadata dump (bcachefs dump) while the FS is not mounted and in a state where the next offine FSCK will log those errors, and join the IRC channel so that we can debug this further? The metadata dump is likely to be very small for your FS.

himikof avatar Oct 12 '25 16:10 himikof

I took the metadata dump but it's 2.7 GB. I can join IRC in ~10 hours.

printfn avatar Oct 12 '25 19:10 printfn