From: Christoph Anton Mitterer <calestyo@scientia.net>
To: linux-btrfs@vger.kernel.org
Subject: strange "No space left on device"
Date: Sun, 08 Nov 2015 00:22:42 +0100 [thread overview]
Message-ID: <1446938562.7297.7.camel@scientia.net> (raw)
[-- 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 --]
next reply other threads:[~2015-11-07 23:22 UTC|newest]
Thread overview: 8+ messages / expand[flat|nested] mbox.gz Atom feed top
2015-11-07 23:22 Christoph Anton Mitterer [this message]
2015-11-07 23:30 ` strange "No space left on device" 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
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=1446938562.7297.7.camel@scientia.net \
--to=calestyo@scientia.net \
--cc=linux-btrfs@vger.kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox