From: Jamie Lokier <jamie@shareable.org>
To: "Eric W. Biederman" <ebiederm@xmission.com>
Cc: "Jörn Engel" <joern@wohnheim.fh-wedel.de>,
"Davide Libenzi" <davidel@xmailserver.org>,
"Patrick J. LoPresti" <patl@users.sourceforge.net>,
"Linux Kernel Mailing List" <linux-kernel@vger.kernel.org>
Subject: Re: [PATCH] cowlinks v2
Date: Tue, 30 Mar 2004 00:05:37 +0100 [thread overview]
Message-ID: <20040329230537.GA8568@mail.shareable.org> (raw)
In-Reply-To: <m18yhjh2d4.fsf@ebiederm.dsl.xmission.com>
Eric W. Biederman wrote:
> So I see a problem with Scenario C. Perhaps you can refute it.
Ick. You're right. I cannot refute it.
Fwiw, I would have broken the directory cows on the first write, not
the open.
Thus, snapshots using lazy directory copies requires either that there
are no hard links of the type you described (e.g. when snapshotting
the root of the filesystem), or rather complex metadata to track the
hard links, not dissimilar to the metadata needed to preserve hard
links _within_ the snapshot. They both seem far too complex to be worth it.
Hard links just don't play well with lazy cowlinked directories.
They are fine with non-lazy directory cowlinking, where the whole
directory tree is duplicated and only files are cow'd. Note that this
doesn't apply to the original implementation which used hard links
with a special flag: maintaining hard links in conjunction with
cowlinks requires the inode duplication we've been talking about.
Btw, if we have cowlinks implemented using inode duplication, then it
isn't necessary for both inodes to have the same metadata such as
mtime, ctime, mode etc. Only the data is shared. That means the
sendfile() system call could conceivably be overloaded, meaning to
copy the data, and let "cp --cow" decide whether it wants to copy the
metadata (same as as "cp -rp" or "cp -rpd"), or not (same as "cp -r").
-- Jamie
next prev parent reply other threads:[~2004-03-29 23:05 UTC|newest]
Thread overview: 95+ messages / expand[flat|nested] mbox.gz Atom feed top
2004-03-20 8:34 [PATCH] cowlinks v2 Jörn Engel
2004-03-20 8:49 ` Andrew Morton
2004-03-20 11:27 ` Jörn Engel
2004-03-20 19:28 ` Andrew Morton
2004-03-21 12:43 ` Jörn Engel
2004-03-21 18:53 ` Jörn Engel
[not found] ` <mit.lcs.mail.linux-kernel/20040320083411.GA25934@wohnheim.fh-wedel.de>
2004-03-20 15:03 ` Patrick J. LoPresti
2004-03-20 15:23 ` Jörn Engel
2004-03-29 17:12 ` Pavel Machek
2004-03-29 21:05 ` Patrick J. LoPresti
2004-03-29 23:16 ` Pavel Machek
2004-03-31 14:34 ` Jamie Lokier
2004-03-31 14:45 ` Pavel Machek
2004-03-31 15:20 ` Jamie Lokier
2004-04-02 11:44 ` Tim Connors
2004-04-02 16:54 ` Jörn Engel
2004-04-02 18:01 ` Pavel Machek
2004-04-02 18:17 ` Jörn Engel
2004-04-02 18:23 ` Pavel Machek
2004-04-02 19:28 ` Ross Biro
2004-04-02 21:35 ` Pavel Machek
2004-04-05 8:12 ` Jörn Engel
2004-04-05 8:19 ` Pavel Machek
2004-04-05 8:45 ` Jörn Engel
2004-04-02 20:09 ` Jamie Lokier
2004-04-02 21:39 ` Pavel Machek
2004-04-02 22:00 ` Chris Friesen
2004-04-03 0:49 ` Jamie Lokier
2004-04-03 8:23 ` Pavel Machek
2004-04-03 13:15 ` Jamie Lokier
2004-04-05 8:19 ` Jörn Engel
2004-04-05 8:22 ` Pavel Machek
2004-04-03 0:46 ` Jamie Lokier
2004-04-03 1:04 ` Jamie Lokier
2004-04-03 1:21 ` Erik Andersen
2004-04-03 1:59 ` Jamie Lokier
2004-04-03 3:55 ` Ross Biro
2004-04-03 9:09 ` Pavel Machek
2004-04-03 13:27 ` Jamie Lokier
2004-04-03 18:39 ` Eric W. Biederman
2004-04-03 19:43 ` Jamie Lokier
2004-04-03 20:30 ` Eric W. Biederman
2004-04-03 21:59 ` Jamie Lokier
2004-04-04 8:15 ` Eric W. Biederman
2004-04-05 8:35 ` Jörn Engel
2004-04-05 9:15 ` Eric W. Biederman
2004-04-05 9:18 ` Jörn Engel
2004-04-05 11:43 ` Pavel Machek
2004-04-05 12:17 ` Jamie Lokier
2004-04-05 12:39 ` Jamie Lokier
2004-04-05 12:41 ` Jamie Lokier
2004-04-05 18:03 ` Jörn Engel
2004-04-05 11:10 ` jlnance
2004-04-05 11:46 ` Pavel Machek
2004-04-05 12:35 ` Jamie Lokier
2004-04-05 8:43 ` Jörn Engel
2004-04-03 19:47 ` Eric W. Biederman
2004-04-05 8:54 ` Jörn Engel
2004-04-05 9:07 ` Eric W. Biederman
2004-03-20 16:48 ` Davide Libenzi
2004-03-21 12:57 ` Jörn Engel
2004-03-21 17:59 ` Davide Libenzi
2004-03-21 18:14 ` Jörn Engel
2004-03-21 20:26 ` Davide Libenzi
2004-03-21 20:35 ` Jörn Engel
2004-03-22 0:18 ` Eric W. Biederman
2004-03-22 0:25 ` Davide Libenzi
2004-03-22 5:07 ` Eric W. Biederman
2004-03-22 5:11 ` Davide Libenzi
2004-03-22 11:20 ` Eric W. Biederman
2004-03-22 16:02 ` Davide Libenzi
2004-03-25 17:49 ` Jamie Lokier
2004-03-25 18:06 ` Eric W. Biederman
2004-03-25 19:43 ` Jamie Lokier
2004-03-25 20:38 ` Linus Torvalds
2004-03-25 22:16 ` Eric W. Biederman
2004-04-01 14:53 ` Jörn Engel
2004-04-02 11:54 ` Tim Connors
2004-03-25 21:46 ` Eric W. Biederman
2004-03-27 10:28 ` Jamie Lokier
2004-03-27 21:00 ` Eric W. Biederman
2004-03-27 21:42 ` Jamie Lokier
2004-03-27 23:45 ` Eric W. Biederman
2004-03-28 0:43 ` Eric W. Biederman
2004-03-28 12:22 ` Jamie Lokier
2004-03-28 20:07 ` Eric W. Biederman
2004-03-28 23:55 ` Jamie Lokier
2004-03-29 1:31 ` Eric W. Biederman
2004-03-29 12:36 ` Jamie Lokier
2004-03-29 19:36 ` Eric W. Biederman
2004-03-29 23:05 ` Jamie Lokier [this message]
2004-03-29 23:58 ` Eric W. Biederman
2004-03-29 7:45 ` Denis Vlasenko
2004-03-29 9:28 ` Pavel Machek
2004-03-29 12:40 ` Jamie Lokier
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=20040329230537.GA8568@mail.shareable.org \
--to=jamie@shareable.org \
--cc=davidel@xmailserver.org \
--cc=ebiederm@xmission.com \
--cc=joern@wohnheim.fh-wedel.de \
--cc=linux-kernel@vger.kernel.org \
--cc=patl@users.sourceforge.net \
/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