Linux Btrfs filesystem development
 help / color / mirror / Atom feed
* strange "No space left on device"
@ 2015-11-07 23:22 Christoph Anton Mitterer
  2015-11-07 23:30 ` Hugo Mills
                   ` (2 more replies)
  0 siblings, 3 replies; 8+ messages in thread
From: Christoph Anton Mitterer @ 2015-11-07 23:22 UTC (permalink / raw)
  To: linux-btrfs

[-- Attachment #1: Type: text/plain, Size: 8486 bytes --]

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


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.

[-- Attachment #2: smime.p7s --]
[-- Type: application/x-pkcs7-signature, Size: 5313 bytes --]

^ permalink raw reply	[flat|nested] 8+ messages in thread

end of thread, other threads:[~2015-11-09 11:12 UTC | newest]

Thread overview: 8+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2015-11-07 23:22 strange "No space left on device" Christoph Anton Mitterer
2015-11-07 23:30 ` Hugo Mills
2015-11-08  0:38   ` Christoph Anton Mitterer
2015-11-08 18:18 ` Henk Slager
2015-11-08 20:39   ` Duncan
2015-11-08 22:10     ` Christoph Anton Mitterer
2015-11-09  1:51       ` Duncan
2015-11-09 11:12 ` Filipe Manana

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox