[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-Id: <E1OlrzM-0001lZ-0z@be1.7eggert.dyndns.org>
Date: Thu, 19 Aug 2010 01:24:07 +0200
From: Bodo Eggert <7eggert@....de>
To: Miklos Szeredi <miklos@...redi.hu>, miklos@...redi.hu,
jack@...e.cz, agruen@...e.de, viro@...iv.linux.org.uk,
jblunck@...e.de, hch@...radead.org, linux-kernel@...r.kernel.org,
linux-fsdevel@...r.kernel.org, tytso@....edu,
linux-ext4@...r.kernel.org, Valerie Aurora <vaurora@...hat.com>
Subject: Re: [PATCH 14/38] fallthru: ext2 fallthru support
Miklos Szeredi <miklos@...redi.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.
Possible problems:
- Having two ways of reporting a whiteout? Or can it be reported using a
(static) fake inode?
- How do you un-whiteout while (not) having an overlaying fs?
> 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).
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists