public inbox for linux-btrfs@vger.kernel.org
 help / color / mirror / Atom feed
From: Qu Wenruo <quwenruo.btrfs@gmx.com>
To: Christoph Anton Mitterer <calestyo@scientia.org>
Cc: linux-btrfs@vger.kernel.org
Subject: Re: btrfs thinks fs is full, though 11GB should be still free
Date: Fri, 5 Jan 2024 17:37:03 +1030	[thread overview]
Message-ID: <494daef3-c180-4529-befb-325a46a3eeeb@gmx.com> (raw)
In-Reply-To: <513dfa2b00cf496e6f682508037616b6165fcc53.camel@scientia.org>



On 2024/1/5 14:00, Christoph Anton Mitterer wrote:
> Hey there.
>
> On Fri, 2023-12-22 at 11:43 +1030, Qu Wenruo wrote:
>> That's not a big deal, because before sending that reply, I have
>> already
>> reproduced the problem using 6.6 kernel, so it's a long existing
>> problem.
>> Just like the whole PREALLOC and compression problem.
>
>
> Just wondered whether there's anything new on this or whether the best
> for now would be to switch the fs?

Root cause is pinned down. It's very stupid, but pretty hard to find a
good way to improve:

   For that offending inode, it only has one extent.
   During defrag, we need to determine if we need to defrag one extent.
   For this particular case, we choose not to defrag it at all, the
   reason is:
   - The single extent can not be merged with any other extent

So even if we're only utilizing a single 4K of a 128M extent, defrag
choose not to defrag at all.

But this rule applies pretty well for really fragmented files, thus I
have no good idea how to continue.

Maybe we can add a new rule, to add very under utilized extents to
defrag target?
But I'm sure that may cause other corner cases to be unhappy though.

>
> Also, do you think that NODATACOW would also be affected by the
> underlying "issue"?

My previous guess is totally wrong, it has nothing to do with
NODATACOW/PREALLOC flags at all.

It's a defrag only problem.

Thanks,
Qu
>
> Cheers.
> Chris
>

  reply	other threads:[~2024-01-05  7:07 UTC|newest]

Thread overview: 43+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2023-12-11 20:26 btrfs thinks fs is full, though 11GB should be still free Christoph Anton Mitterer
2023-12-11 20:57 ` Qu Wenruo
2023-12-11 22:23   ` Christoph Anton Mitterer
2023-12-11 22:26     ` Christoph Anton Mitterer
2023-12-11 23:20     ` Qu Wenruo
2023-12-11 23:38       ` Christoph Anton Mitterer
2023-12-11 23:54         ` Qu Wenruo
2023-12-12  0:12           ` Christoph Anton Mitterer
2023-12-12  0:58             ` Qu Wenruo
2023-12-12  2:30               ` Qu Wenruo
2023-12-12  3:27               ` Christoph Anton Mitterer
2023-12-12  3:40                 ` Christoph Anton Mitterer
2023-12-12  4:13                   ` Qu Wenruo
2023-12-15  2:33                     ` Chris Murphy
2023-12-15  3:12                       ` Qu Wenruo
2023-12-18 16:24                     ` Christoph Anton Mitterer
2023-12-18 19:18                       ` Goffredo Baroncelli
2023-12-18 20:04                         ` Goffredo Baroncelli
2023-12-18 22:38                         ` Christoph Anton Mitterer
2023-12-19  8:22                           ` Andrei Borzenkov
2023-12-19 19:09                             ` Goffredo Baroncelli
2023-12-21 13:53                               ` Christoph Anton Mitterer
2023-12-21 18:03                                 ` Goffredo Baroncelli
2023-12-21 22:06                                   ` Christoph Anton Mitterer
2023-12-21 13:46                             ` Christoph Anton Mitterer
2023-12-21 20:41                               ` Qu Wenruo
2023-12-21 22:15                                 ` Christoph Anton Mitterer
2023-12-21 22:41                                   ` Qu Wenruo
2023-12-21 22:54                                     ` Christoph Anton Mitterer
2023-12-22  0:53                                       ` Qu Wenruo
2023-12-22  0:56                                         ` Christoph Anton Mitterer
2023-12-22  1:13                                           ` Qu Wenruo
2023-12-22  1:23                                             ` Christoph Anton Mitterer
2024-01-05  3:30                                             ` Christoph Anton Mitterer
2024-01-05  7:07                                               ` Qu Wenruo [this message]
2024-01-06  0:42                                                 ` Christoph Anton Mitterer
2024-01-06  5:40                                                   ` Qu Wenruo
2024-01-06  8:12                                                     ` Andrei Borzenkov
2024-12-14 19:09                                                   ` Christoph Anton Mitterer
2023-12-18 19:54                       ` Qu Wenruo
2023-12-18 22:30                     ` Christoph Anton Mitterer
2023-12-13  1:49                 ` Remi Gauvin
2023-12-13  8:29             ` Andrea Gelmini

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=494daef3-c180-4529-befb-325a46a3eeeb@gmx.com \
    --to=quwenruo.btrfs@gmx.com \
    --cc=calestyo@scientia.org \
    --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