From: Valerie Aurora <vaurora@redhat.com>
To: 7eggert@gmx.de, David Woodhouse <dwmw2@infradead.org>
Cc: Miklos Szeredi <miklos@szeredi.hu>,
jack@suse.cz, agruen@suse.de, viro@zeniv.linux.org.uk,
jblunck@suse.de, hch@infradead.org, linux-kernel@vger.kernel.org,
linux-fsdevel@vger.kernel.org, tytso@mit.edu,
linux-ext4@vger.kernel.org
Subject: Re: [PATCH 14/38] fallthru: ext2 fallthru support
Date: Tue, 24 Aug 2010 13:21:09 -0400 [thread overview]
Message-ID: <20100824172108.GA28718@shell> (raw)
In-Reply-To: <E1OlrzM-0001lZ-0z@be1.7eggert.dyndns.org>
On Thu, Aug 19, 2010 at 01:24:07AM +0200, Bodo Eggert wrote:
> Miklos Szeredi <miklos@szeredi.hu> wrote:
> > On Tue, 17 Aug 2010, Valerie Aurora wrote:
>
> >> > - hard links to make sure a separate inode is not necessary for each
> >> > whiteout/fallthrough entry
> >>
> >> The problem with hard links is that you run into hard link limits. I
> >> don't think we can do hard links for whiteouts and fallthrus. Each
> >> whiteout or fallthru will cost an inode if we implement them as
> >> extended attributes. This cost has to be balanced against the cost of
> >> implementing them as dentries, which is mainly code complexity in
> >> individual file systems.
>
> Not knowing the details, I'd suggest to implement a generic function to
> create an attributed inode and let the fs override it to create an
> unlinked-file-dentry instead.
>
> Benefit: All fs supporting extended attributes will be able to support
> whiteout. If the fs has other means of supporting whiteout, they may fake
> the attribute.
Yeah, I think that's the way to go.
> Possible problems:
> - Having two ways of reporting a whiteout? Or can it be reported using a
> (static) fake inode?
They are going to look the same at the VFS level and higher.
> - How do you un-whiteout while (not) having an overlaying fs?
The current version of whiteout support always hides DT_WHT dentries
from userspace. Perhaps a start is to only hide DT_WHT entries when
the file system is union mounted. Applications usually ignore all
dentries with d_ino == 0 so it might not cause problems.
Right now, you have to remove whiteouts offline using fsck.
> > get_unlinked_inode() is a great idea. But I feel that individual
> > inodes for each fallthrough is excessive. It'll make the first
> > readdir() really really expensive and wastes a lot of disk and memory
> > for no good reason.
> >
> > Not sure how to fix the hard link limits problem though...
>
> Do a hardlink if you can create a hard link, otherwise use a fresh inode
> and use that for the next hardlink(s).
Bleah! Then you have a code path that is only tested when you hit
LINK_MAX. Sounds like a recipe for bugs for me.
-VAL
next prev parent reply other threads:[~2010-08-24 17:21 UTC|newest]
Thread overview: 24+ messages / expand[flat|nested] mbox.gz Atom feed top
[not found] <eVJmW-3Lf-15@gated-at.bofh.it>
[not found] ` <eVJmW-3Lf-19@gated-at.bofh.it>
[not found] ` <fdNs6-5F1-7@gated-at.bofh.it>
[not found] ` <fdVfY-pv-23@gated-at.bofh.it>
[not found] ` <fe6Ep-cD-13@gated-at.bofh.it>
[not found] ` <fiCPo-73x-17@gated-at.bofh.it>
[not found] ` <fiMc1-6ip-7@gated-at.bofh.it>
2010-08-18 23:24 ` [PATCH 14/38] fallthru: ext2 fallthru support Bodo Eggert
2010-08-18 23:24 ` Bodo Eggert
2010-08-18 23:24 ` Bodo Eggert
2010-08-19 2:03 ` J. R. Okajima
2010-08-24 17:21 ` Valerie Aurora [this message]
2010-08-26 9:53 ` Bodo Eggert
2010-08-06 22:34 [PATCH 00/38] VFS union mounts - Add MS_FALLTHRU Valerie Aurora
2010-08-06 22:35 ` [PATCH 14/38] fallthru: ext2 fallthru support Valerie Aurora
2010-08-07 0:28 ` Andreas Dilger
2010-08-08 16:40 ` Valerie Aurora
-- strict thread matches above, loose matches on Subject: below --
2010-06-25 19:04 [PATCH 00/38] Union mounts - multiple layers and submounts Valerie Aurora
2010-06-25 19:05 ` [PATCH 14/38] fallthru: ext2 fallthru support Valerie Aurora
2010-06-15 18:39 [PATCH 00/38] Union mounts - union stack as linked list Valerie Aurora
2010-06-15 18:39 ` [PATCH 14/38] fallthru: ext2 fallthru support Valerie Aurora
2010-07-13 4:30 ` Ian Kent
2010-08-04 14:44 ` Miklos Szeredi
2010-08-04 22:48 ` Valerie Aurora
2010-08-05 10:36 ` Miklos Szeredi
2010-08-05 23:30 ` Valerie Aurora
2010-08-06 8:15 ` Miklos Szeredi
2010-08-06 17:16 ` Valerie Aurora
2010-08-06 17:44 ` Miklos Szeredi
2010-08-04 23:04 ` Valerie Aurora
2010-08-05 11:13 ` Miklos Szeredi
2010-08-06 17:12 ` Valerie Aurora
2010-08-17 22:27 ` Valerie Aurora
2010-08-18 8:26 ` Miklos Szeredi
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=20100824172108.GA28718@shell \
--to=vaurora@redhat.com \
--cc=7eggert@gmx.de \
--cc=agruen@suse.de \
--cc=dwmw2@infradead.org \
--cc=hch@infradead.org \
--cc=jack@suse.cz \
--cc=jblunck@suse.de \
--cc=linux-ext4@vger.kernel.org \
--cc=linux-fsdevel@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=miklos@szeredi.hu \
--cc=tytso@mit.edu \
--cc=viro@zeniv.linux.org.uk \
/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.