All of lore.kernel.org
 help / color / mirror / Atom feed
From: Josef Bacik <jbacik@fb.com>
To: Mitch Harder <mitch.harder@sabayonlinux.org>,
	Brendan Hide <brendan@swiftspirit.co.za>
Cc: Martin <m_btrfs@ml1.co.uk>, linux-btrfs <linux-btrfs@vger.kernel.org>
Subject: Re: What to do about snapshot-aware defrag
Date: Mon, 2 Jun 2014 09:19:21 -0400	[thread overview]
Message-ID: <538C79D9.5040305@fb.com> (raw)
In-Reply-To: <CAKcLGm_Ou57upZUvUJT0RH3trVAH3DgWJp2k38q9P6vAkgjwKQ@mail.gmail.com>

On 06/01/2014 11:07 PM, Mitch Harder wrote:
> On Sat, May 31, 2014 at 6:51 PM, Brendan Hide <brendan@swiftspirit.co.za> wrote:
>> On 2014/05/31 12:00 AM, Martin wrote:
>>>
>>> OK... I'll jump in...
>>>
>>> On 30/05/14 21:43, Josef Bacik wrote:
>>>>
>>>> [snip]
>>>>
>>>> Option 1: Only relink inodes that haven't changed since the snapshot was
>>>> taken.
>>>>
>>>> Pros:
>>>> -Faster
>>>> -Simpler
>>>> -Less duplicated code, uses existing functions for tricky operations so
>>>> less likely to introduce weird bugs.
>>>>
>>>> Cons:
>>>> -Could possibly lost some of the snapshot-awareness of the defrag.  If
>>>> you just touch a file we would not do the relinking and you'd end up
>>>> with twice the space usage.
>>>
>>> [...]
>>>
>>>
>>> Obvious way to go for fast KISS.
>>
>>
>> I second this - KISS is better.
>>
>> Would in-band dedupe resolve the issue with losing the "snapshot-awareness
>> of the defrag"? I figure that if someone absolutely wants everything deduped
>> efficiently they'd put in the necessary resources (memory/dedicated SSD/etc)
>> to have in-band dedupe work well.
>>
>>> One question:
>>>
>>> Will option one mean that we always need to mount with noatime or
>>> read-only to allow snapshot defragging to do anything?
>>
>>
>
> When snapshot-aware defrag first came out, I was convinced it was a
> "must-have" capability for nearly everybody using btrfs.  But, the
> more I look at my work load and common practices with btrfs, the more
> I am wondering just how often snapshot-aware defrag was actually doing
> something for me.
>
> I use a lot of snapshots.  But for the most part, once I touch a file
> in my current subvolume, the whole file needs to be COW-ed from it's
> previous version.
>

The whole file doesn't need to be cow'ed, just the part that you touch. 
  So old snapshot-aware defrag probably would have saved you quite a bit 
of space.  Thanks,

Josef

  reply	other threads:[~2014-06-02 13:19 UTC|newest]

Thread overview: 11+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2014-05-30 20:43 What to do about snapshot-aware defrag Josef Bacik
2014-05-30 22:00 ` Martin
2014-05-31 23:51   ` Brendan Hide
2014-06-01  1:52     ` Duncan
2014-06-02  3:07     ` Mitch Harder
2014-06-02 13:19       ` Josef Bacik [this message]
2014-06-02 13:22   ` Josef Bacik
2014-06-03 23:54     ` Martin
2014-06-04  9:19       ` Erkki Seppala
2014-06-04 13:15         ` Martin
2014-06-04 19:33           ` Chris Murphy

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=538C79D9.5040305@fb.com \
    --to=jbacik@fb.com \
    --cc=brendan@swiftspirit.co.za \
    --cc=linux-btrfs@vger.kernel.org \
    --cc=m_btrfs@ml1.co.uk \
    --cc=mitch.harder@sabayonlinux.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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.