On Sun, Nov 08, 2015 at 12:22:42AM +0100, Christoph Anton Mitterer wrote: > Hey. > > I just repeatedly did the following twice on a ~8GB USB stick, under > Debian sid (ergo kernel 4.2.0-1-amd64, btrfsprogs 4.2.2-1). > > First, created some GPT on the stick: > Number Start (sector) End (sector) Size Code Name > 1 2048 1048575 511.0 MiB EF02 BIOS boot partition > 2 1048576 3145727 1024.0 MiB 8300 Linux filesystem > 3 3145728 4194303 512.0 MiB 8300 Linux filesystem > 4 4194304 6291455 1024.0 MiB 8300 Linux filesystem > 5 6291456 15687644 4.5 GiB 8300 Linux filesystem
These are all really small. I would suggest running mkfs with --mixed for all of these filesystems and trying again. Hugo. > Then filesystems: > root@heisenberg:~# mkfs.btrfs --nodiscard --label boot-main /dev/sdb2 > btrfs-progs v4.2.2 > See http://btrfs.wiki.kernel.org for more information. > > Label: boot-main > UUID: 150ee9fb-c650-4b5b-8f64-606e589e429a > Node size: 16384 > Sector size: 4096 > Filesystem size: 1.00GiB > Block group profiles: > Data: single 8.00MiB > Metadata: DUP 59.19MiB > System: DUP 12.00MiB > SSD detected: no > Incompat features: extref, skinny-metadata > Number of devices: 1 > Devices: > ID SIZE PATH > 1 1.00GiB /dev/sdb2 > > root@heisenberg:~# mkfs.btrfs --nodiscard --label boot-data /dev/sdb3 > btrfs-progs v4.2.2 > See http://btrfs.wiki.kernel.org for more information. > > Label: boot-data > UUID: b1c1fc77-c965-4f0c-a2b5-44a301fd8772 > Node size: 16384 > Sector size: 4096 > Filesystem size: 1.00GiB > Block group profiles: > Data: single 8.00MiB > Metadata: DUP 59.19MiB > System: DUP 12.00MiB > SSD detected: no > Incompat features: extref, skinny-metadata > Number of devices: 1 > Devices: > ID SIZE PATH > 1 1.00GiB /dev/sdb3 > > root@heisenberg:~# mkfs.btrfs --nodiscard --label boot-archive > /dev/sdb4 > btrfs-progs v4.2.2 > See http://btrfs.wiki.kernel.org for more information. > > Label: boot-archive > UUID: a063cf3b-0322-4ec7-a8c1-2dabecad9f57 > Node size: 16384 > Sector size: 4096 > Filesystem size: 1.00GiB > Block group profiles: > Data: single 8.00MiB > Metadata: DUP 59.19MiB > System: DUP 12.00MiB > SSD detected: no > Incompat features: extref, skinny-metadata > Number of devices: 1 > Devices: > ID SIZE PATH > 1 1.00GiB /dev/sdb4 > > root@heisenberg:~# mkfs.btrfs --nodiscard --label boot-rescue /dev/sdb5 > btrfs-progs v4.2.2 > See http://btrfs.wiki.kernel.org for more information. > > Label: boot-rescue > UUID: 104b7bc3-3b8c-4a08-b0a6-9172ed664e68 > Node size: 16384 > Sector size: 4096 > Filesystem size: 3.98GiB > Block group profiles: > Data: single 8.00MiB > Metadata: DUP 211.75MiB > System: DUP 12.00MiB > SSD detected: no > Incompat features: extref, skinny-metadata > Number of devices: 1 > Devices: > ID SIZE PATH > 1 3.98GiB /dev/sdb5 > > > > No errors in the kernel log. > > > > Then I got usage info: > root@heisenberg:/data/SSS/boot# btrfs filesystem usage data/ > Overall: > Device size: 1.00GiB > Device allocated: 126.38MiB > Device unallocated: 897.62MiB > Device missing: 0.00B > Used: 256.00KiB > Free (estimated): 905.62MiB (min: 456.81MiB) > Data ratio: 1.00 > Metadata ratio: 2.00 > Global reserve: 16.00MiB (used: 0.00B) > > Data,single: Size:8.00MiB, Used:0.00B > /dev/sdb3 8.00MiB > > Metadata,DUP: Size:51.19MiB, Used:112.00KiB > /dev/sdb3 102.38MiB > > System,DUP: Size:8.00MiB, Used:16.00KiB > /dev/sdb3 16.00MiB > > Unallocated: > /dev/sdb3 897.62MiB > root@heisenberg:/data/SSS/boot# btrfs filesystem usage main/ > Overall: > Device size: 1.00GiB > Device allocated: 126.38MiB > Device unallocated: 897.62MiB > Device missing: 0.00B > Used: 256.00KiB > Free (estimated): 905.62MiB (min: 456.81MiB) > Data ratio: 1.00 > Metadata ratio: 2.00 > Global reserve: 16.00MiB (used: 0.00B) > > Data,single: Size:8.00MiB, Used:0.00B > /dev/sdb2 8.00MiB > > Metadata,DUP: Size:51.19MiB, Used:112.00KiB > /dev/sdb2 102.38MiB > > System,DUP: Size:8.00MiB, Used:16.00KiB > /dev/sdb2 16.00MiB > > Unallocated: > /dev/sdb2 897.62MiB > root@heisenberg:/data/SSS/boot# btrfs filesystem usage rescue/ > Overall: > Device size: 3.98GiB > Device allocated: 431.50MiB > Device unallocated: 3.56GiB > Device missing: 0.00B > Used: 320.00KiB > Free (estimated): 3.57GiB (min: 1.79GiB) > Data ratio: 1.00 > Metadata ratio: 2.00 > Global reserve: 16.00MiB (used: 0.00B) > > Data,single: Size:8.00MiB, Used:64.00KiB > /dev/sdb5 8.00MiB > > Metadata,DUP: Size:203.75MiB, Used:112.00KiB > /dev/sdb5 407.50MiB > > System,DUP: Size:8.00MiB, Used:16.00KiB > /dev/sdb5 16.00MiB > > Unallocated: > /dev/sdb5 3.56GiB > > > > Still all fine. > > Now I write to one of the filesystems (main at first, that still works) > but then when I cp -a from another btrfs to data: > cp: error writing ‘data/SHA512-sums.OLD’: No space left on device > cp: failed to extend ‘data/SHA512-sums.OLD’: No space left on device > cp: error writing ‘data/SHA512-sums’: No space left on device > cp: failed to extend ‘data/SHA512-sums’: No space left on device > > (these files are just a few bytes large) > On the target fs, they're there but all 0 bytes large. > > (btw: I've aliased cp to cp --reflink=auto > > > When I now repeat the usage info: > root@heisenberg:/data/SSS/boot# btrfs filesystem usage data > Overall: > Device size: 1.00GiB > Device allocated: 118.38MiB > Device unallocated: 905.62MiB > Device missing: 0.00B > Used: 256.00KiB > Free (estimated): 8.00EiB (min: 8.00EiB) > Data ratio: -nan > Metadata ratio: 2.00 > Global reserve: 16.00MiB (used: 0.00B) > > Metadata,DUP: Size:51.19MiB, Used:112.00KiB > /dev/sdc3 102.38MiB > > System,DUP: Size:8.00MiB, Used:16.00KiB > /dev/sdc3 16.00MiB > > Unallocated: > /dev/sdc3 905.62MiB > > It get's bogus... at least the Free space shows 8 EiB (if wishes were > horses)... > > Still no error in kernel logs: > 3401.934514] BTRFS: device label boot-rescue devid 1 transid 8 > /dev/sdc5 > [ 3401.985858] BTRFS: device label boot-main devid 1 transid 8 > /dev/sdc2 > [ 3401.988601] BTRFS: device label boot-data devid 1 transid 9 > /dev/sdc3 > [ 3401.997370] BTRFS: device label boot-archive devid 1 transid 9 > /dev/sdc4 > [ 3403.721091] BTRFS info (device sdc3): disk space caching is enabled > [ 3403.721098] BTRFS: has skinny extents > [ 3413.964033] BTRFS info (device sdb3): disk space caching is enabled > [ 3413.964042] BTRFS: has skinny extents > [ 3522.902309] BTRFS info (device sdb3): disk space caching is enabled > [ 3522.902314] BTRFS: has skinny extents > [ 3525.055653] BTRFS info (device sdc3): disk space caching is enabled > [ 3525.055659] BTRFS: has skinny extents > > > btrfs check doesn't show errors either. > > > After a balance, i can copy again, even though the usage still shows 8 > EiB for a while... > > > Anyway how can it happen, that on a fresh btrfs with no files at all a > balance is necessary? > Or is there some deeper corruption going on here? > > > Thanks, > Chris. -- Hugo Mills | Reintarnation: Coming back from the dead as a hugo@... carfax.org.uk | hillbilly http://carfax.org.uk/ | PGP: E2AB1DE4 |
signature.asc
Description: Digital signature