linux-btrfs.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Josef Bacik <jbacik@fb.com>
To: Wang Shilong <wangshilong1991@gmail.com>
Cc: <linux-btrfs@vger.kernel.org>
Subject: Re: [PATCH] Btrfs: remove empty block groups automatically
Date: Mon, 15 Sep 2014 09:57:17 -0400	[thread overview]
Message-ID: <5416F03D.4030209@fb.com> (raw)
In-Reply-To: <F9E95213-710B-42A2-A904-3EE1CE95B72E@gmail.com>

On 09/14/2014 12:46 AM, Wang Shilong wrote:
> Hi Josef,
>
>> One problem that has plagued us is that a user will use up all of his space with
>> data, remove a bunch of that data, and then try to create a bunch of small files
>> and run out of space.  This happens because all the chunks were allocated for
>> data since the metadata requirements were so low.  But now there's a bunch of
>> empty data block groups and not enough metadata space to do anything.  This
>> patch solves this problem by automatically deleting empty block groups.  If we
>> notice the used count go down to 0 when deleting or on mount notice that a block
>> group has a used count of 0 then we will queue it to be deleted.
>>
>> When the cleaner thread runs we will double check to make sure the block group
>> is still empty and then we will delete it.  This patch has the side effect of no
>> longer having a bunch of BUG_ON()'s in the chunk delete code, which will be
>> helpful for both this and relocate.  Thanks,
>
> I am wondering whether we could check if it a Mixed Mode, we don’t need remove
> Mixed mode block groups automatically…

Good point, I'll update the patch.  Thanks,

Josef


      reply	other threads:[~2014-09-15 13:57 UTC|newest]

Thread overview: 4+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2014-09-12 19:18 [PATCH] Btrfs: remove empty block groups automatically Josef Bacik
2014-09-12 20:02 ` Chris Mason
2014-09-14  4:46 ` Wang Shilong
2014-09-15 13:57   ` Josef Bacik [this message]

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=5416F03D.4030209@fb.com \
    --to=jbacik@fb.com \
    --cc=linux-btrfs@vger.kernel.org \
    --cc=wangshilong1991@gmail.com \
    /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).