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          |

Attachment: signature.asc
Description: Digital signature

Reply via email to