Thread (4 messages) 4 messages, 4 authors, 2010-08-26

Re: [PATCH 14/38] fallthru: ext2 fallthru support

From: Bodo Eggert <hidden>
Date: 2010-08-18 23:24:21
Also in: lkml

Possibly related (same subject, not in this thread)

Miklos Szeredi [off-list ref] wrote:
On Tue, 17 Aug 2010, Valerie Aurora wrote:
quoted
quoted
 - 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).

Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help