From: Kai Krakow <hurikhan77+btrfs@gmail.com>
To: linux-btrfs@vger.kernel.org
Subject: Re: Are nocow files snapshot-aware
Date: Wed, 05 Feb 2014 19:17:10 +0100 [thread overview]
Message-ID: <6qbasa-fq1.ln1@hurikhan77.spdns.de> (raw)
In-Reply-To: 20140205020239.GP1364@twin.jikos.cz
David Sterba <dsterba@suse.cz> schrieb:
> On Tue, Feb 04, 2014 at 08:22:05PM -0500, Josef Bacik wrote:
>> On 02/04/2014 03:52 PM, Kai Krakow wrote:
>> >Hi!
>> >
>> >I'm curious... The whole snapshot thing on btrfs is based on its COW
>> >design. But you can make individual files and directory contents nocow
>> >by applying the C attribute on it using chattr. This is usually
>> >recommended for database files and VM images. So far, so good...
>> >
>> >But what happens to such files when they are part of a snapshot? Do they
>> >become duplicated during the snapshot? Do they become unshared (as a
>> >whole) when written to? Or when the the parent snapshot becomes deleted?
>> >Or maybe the nocow attribute is just ignored after a snapshot was taken?
>> >
>> >After all they are nocow and thus would be handled in another way when
>> >snapshotted.
>> >
>> When snapshotted nocow files fallback to normal cow behaviour.
>
> This may seem unclear to people not familiar with the actual
> implementation, and I had to think for a second about that sentence. The
> file will keep the NOCOW status, but any modified blocks will be newly
> allocated on the first write (in a COW manner), then the block location
> will not change anymore (unlike ordinary COW).
Ah okay, that makes it clear. So, actually, in the snapshot the file is
still nocow - just for the exception that blocks being written to become
unshared and relocated. This may introduce a lot of fragmentation but it
won't become worse when rewriting the same blocks over and over again.
> HTH
Yes, it does. ;-)
--
Replies to list only preferred.
next prev parent reply other threads:[~2014-02-05 18:23 UTC|newest]
Thread overview: 15+ messages / expand[flat|nested] mbox.gz Atom feed top
2014-02-04 20:52 Are nocow files snapshot-aware Kai Krakow
2014-02-05 1:22 ` Josef Bacik
2014-02-05 2:02 ` David Sterba
2014-02-05 18:17 ` Kai Krakow [this message]
2014-02-06 2:38 ` Duncan
2014-02-07 0:32 ` Kai Krakow
2014-02-07 1:01 ` cwillu
2014-02-07 1:28 ` Chris Murphy
2014-02-07 21:07 ` Kai Krakow
2014-02-07 21:31 ` Chris Murphy
2014-02-07 22:26 ` Kai Krakow
2014-02-08 6:34 ` Duncan
2014-02-08 8:50 ` Kai Krakow
2014-02-07 7:06 ` Duncan
2014-02-07 21:58 ` Kai Krakow
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=6qbasa-fq1.ln1@hurikhan77.spdns.de \
--to=hurikhan77+btrfs@gmail.com \
--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).