From: Qu Wenruo <quwenruo.btrfs@gmx.com>
To: Tomasz Pala <gotar@polanet.pl>, linux-btrfs@vger.kernel.org
Subject: Re: exclusive subvolume space missing
Date: Sat, 2 Dec 2017 08:27:56 +0800 [thread overview]
Message-ID: <55036341-2e8e-41dc-535f-f68d8e74d43f@gmx.com> (raw)
In-Reply-To: <20171201161555.GA11892@polanet.pl>
[-- Attachment #1.1: Type: text/plain, Size: 3724 bytes --]
On 2017年12月02日 00:15, Tomasz Pala wrote:
> Hello,
>
> I got a problem with btrfs running out of space (not THE
> Internet-wide, well known issues with interpretation).
>
> The problem is: something eats the space while not running anything that
> justifies this. There were 18 GB free space available, suddenly it
> dropped to 8 GB and then to 63 MB during one night. I recovered 1 GB
> with rebalance -dusage=5 -musage=5 (or sth about), but it is being eaten
> right now, just as I'm writing this e-mail:
>
> /dev/sda2 64G 63G 452M 100% /
> /dev/sda2 64G 63G 365M 100% /
> /dev/sda2 64G 63G 316M 100% /
> /dev/sda2 64G 63G 287M 100% /
> /dev/sda2 64G 63G 268M 100% /
> /dev/sda2 64G 63G 239M 100% /
> /dev/sda2 64G 63G 230M 100% /
> /dev/sda2 64G 63G 182M 100% /
> /dev/sda2 64G 63G 163M 100% /
> /dev/sda2 64G 64G 153M 100% /
> /dev/sda2 64G 64G 143M 100% /
> /dev/sda2 64G 64G 96M 100% /
> /dev/sda2 64G 64G 88M 100% /
> /dev/sda2 64G 64G 57M 100% /
> /dev/sda2 64G 64G 25M 100% /
>
> while my rough calculations show, that there should be at least 10 GB of
> free space. After enabling quotas it is somehow confirmed:
>
> # btrfs qgroup sh --sort=excl /
> qgroupid rfer excl
> -------- ---- ----
> 0/5 16.00KiB 16.00KiB
> [30 snapshots with about 100 MiB excl]
> 0/333 24.53GiB 305.79MiB
> 0/298 13.44GiB 312.74MiB
> 0/327 23.79GiB 427.13MiB
> 0/331 23.93GiB 930.51MiB
> 0/260 12.25GiB 3.22GiB
> 0/312 19.70GiB 4.56GiB
> 0/388 28.75GiB 7.15GiB
> 0/291 30.60GiB 9.01GiB <- this is the running one
>
> This is about 30 GB total excl (didn't find a switch to sum this up). I
> know I can't just add 'excl' to get usage, so tried to pinpoint the
> exact files that occupy space in 0/388 exclusively (this is the last
> snapshots taken, all of the snapshots are created from the running fs).
I assume there is program eating up the space.
Not btrfs itself.
>
>
> Now, the weird part for me is exclusive data count:
>
> # btrfs sub sh ./snapshot-171125
> [...]
> Subvolume ID: 388
> # btrfs fi du -s ./snapshot-171125
> Total Exclusive Set shared Filename
> 21.50GiB 63.35MiB 20.77GiB snapshot-171125
That's the difference between how sub show and quota works.
For quota, it's per-root owner check.
Means even a file extent is shared between different inodes, if all
inodes are inside the same subvolume, it's counted as exclusive.
And if any of the file extent belongs to other subvolume, then it's
counted as shared.
For fi du, it's per-inode owner check. (The exact behavior is a little
more complex, I'll skip such corner case to make it a little easier to
understand).
That's to say, if one file extent is shared by different inodes, then
it's counted as shared, no matter if these inodes belong to different or
the same subvolume.
That's to say, "fi du" has a looser condition for "shared" calculation,
and that should explain why you have 20+G shared.
Thanks,
Qu
>
>
> How is that possible? This doesn't even remotely relate to 7.15 GiB
> from qgroup.~The same amount differs in total: 28.75-21.50=7.25 GiB.
> And the same happens with other snapshots, much more exclusive data
> shown in qgroup than actually found in files. So if not files, where
> is that space wasted? Metadata?
>
> btrfs-progs-4.12 running on Linux 4.9.46.
>
> best regards,
>
[-- Attachment #2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 516 bytes --]
next prev parent reply other threads:[~2017-12-02 0:28 UTC|newest]
Thread overview: 32+ messages / expand[flat|nested] mbox.gz Atom feed top
2017-12-01 16:15 exclusive subvolume space missing Tomasz Pala
2017-12-01 21:27 ` Duncan
2017-12-01 21:36 ` Hugo Mills
2017-12-02 0:53 ` Tomasz Pala
2017-12-02 1:05 ` Qu Wenruo
2017-12-02 1:43 ` Tomasz Pala
2017-12-02 2:17 ` Qu Wenruo
2017-12-02 2:56 ` Duncan
2017-12-02 16:28 ` Tomasz Pala
2017-12-02 17:18 ` Tomasz Pala
2017-12-03 1:45 ` Duncan
2017-12-03 10:47 ` Adam Borowski
2017-12-04 5:11 ` Chris Murphy
2017-12-10 10:49 ` Tomasz Pala
2017-12-04 4:58 ` Chris Murphy
2017-12-02 0:27 ` Qu Wenruo [this message]
2017-12-02 1:23 ` Tomasz Pala
2017-12-02 1:47 ` Qu Wenruo
2017-12-02 2:21 ` Tomasz Pala
2017-12-02 2:35 ` Qu Wenruo
2017-12-02 9:33 ` Tomasz Pala
2017-12-04 0:34 ` Qu Wenruo
2017-12-10 11:27 ` Tomasz Pala
2017-12-10 15:49 ` Tomasz Pala
2017-12-10 23:44 ` Qu Wenruo
2017-12-11 0:24 ` Qu Wenruo
2017-12-11 11:40 ` Tomasz Pala
2017-12-12 0:50 ` Qu Wenruo
2017-12-15 8:22 ` Tomasz Pala
2017-12-16 3:21 ` Duncan
2017-12-05 18:47 ` How exclusive in parent qgroup is computed? (was: Re: exclusive subvolume space missing) Andrei Borzenkov
2017-12-05 23:57 ` How exclusive in parent qgroup is computed? Qu Wenruo
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=55036341-2e8e-41dc-535f-f68d8e74d43f@gmx.com \
--to=quwenruo.btrfs@gmx.com \
--cc=gotar@polanet.pl \
--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;
as well as URLs for NNTP newsgroup(s).