Skip to content

Instantly share code, notes, and snippets.

@frafra
Created December 20, 2025 14:30
Show Gist options
  • Select an option

  • Save frafra/c73eb540b9766611cb1e22b33539fc5c to your computer and use it in GitHub Desktop.

Select an option

Save frafra/c73eb540b9766611cb1e22b33539fc5c to your computer and use it in GitHub Desktop.
btrfs dup simulated corruption

Testing btrfs dup profile and automatic repairing on a USB drive.

$ sudo mkfs.btrfs -d dup -m dup -L Dati /dev/sdc1 -f
btrfs-progs v6.16.1
See https://btrfs.readthedocs.io for more information.

Label:              Dati
UUID:               9598b427-857e-44c7-9800-dbd90bd7cbe7
Node size:          16384
Sector size:        4096	(CPU page size: 4096)
Filesystem size:    57.73GiB
Block group profiles:
  Data:             DUP               1.00GiB
  Metadata:         DUP               1.00GiB
  System:           DUP               8.00MiB
SSD detected:       no
Zoned device:       no
Features:           extref, skinny-metadata, no-holes, free-space-tree
Checksum:           crc32c
Number of devices:  1
Devices:
   ID        SIZE  PATH     
    1    57.73GiB  /dev/sdc1

$ sudo mount | grep /dev/sdc1
/dev/sdc1 on /run/media/frafra/Dati type btrfs (rw,nosuid,nodev,relatime,space_cache=v2,subvolid=5,subvol=/,uhelper=udisks2)
$ echo "BITROT_TARGET_DATA_9999" > /run/media/frafra/Dati/rot.txt
$ sudo grep -abom 2 "BITROT_TARGET_DATA_9999" /dev/sdc
40361406:BITROT_TARGET_DATA_9999
1113644478:BITROT_TARGET_DATA_9999
$ sudo hexdump -C -s 40361406 -n 23 /dev/sdc
0267ddbe  42 49 54 52 4f 54 5f 54  41 52 47 45 54 5f 44 41  |BITROT_TARGET_DA|
0267ddce  54 41 5f 39 39 39 39                              |TA_9999|
0267ddd5
$ sudo dd if=/dev/urandom of=/dev/sdc seek=40361406 count=10 bs=1 conv=notrunc
10+0 records in
10+0 records out
10 bytes copied, 6.5639e-05 s, 152 kB/s
$ sudo hexdump -C -s 40361406 -n 23 /dev/sdc
0267ddbe  b6 99 c4 f1 78 2d 82 ca  e0 c3 47 45 54 5f 44 41  |....x-....GET_DA|
0267ddce  54 41 5f 39 39 39 39                              |TA_9999|
0267ddd5
$ cat /run/media/frafra/Dati/rot.txt 
BITROT_TARGET_DATA_9999
$ sudo grep -abom 2 "BITROT_TARGET_DATA_9999" /dev/sdc
1113644478:BITROT_TARGET_DATA_9999
1114103230:BITROT_TARGET_DATA_9999
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment