[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20106.1392309770@warthog.procyon.org.uk>
Date: Thu, 13 Feb 2014 16:42:50 +0000
From: David Howells <dhowells@...hat.com>
To: Miklos Szeredi <miklos@...redi.hu>
Cc: dhowells@...hat.com, viro@...IV.linux.org.uk,
torvalds@...ux-foundation.org, linux-fsdevel@...r.kernel.org,
linux-kernel@...r.kernel.org, bfields@...ldses.org,
hch@...radead.org, akpm@...ux-foundation.org, zab@...hat.com,
jack@...e.cz, luto@...capital.net, mszeredi@...e.cz
Subject: Re: [PATCH 00/13] cross rename v4
Miklos Szeredi <miklos@...redi.hu> wrote:
> Regarding whiteouts, I raised a couple of questions that nobody answered
> yet, so let me ask again.
>
> - If a filesystem containing whiteouts (fallthroughs, etc...) is mounted as
> not part of a union, how are these special entities represented to
> userspace?
I would suggest that whiteouts appear as otherwise negative dentries and that
they don't appear in getdents().
Fallthroughs are far more 'interesting'. Maybe they should appear in
getdents() with a dentry type saying what they are, but give you EREMOTE or
something if you try to follow them.
Note that there is space in d_flags & DCACHE_ENTRY_TYPE for a whiteout type.
I would, however, mark fallthroughs by a separate flag. So that the union
dentry will mirror the source dentry's type.
> - Can the user remove them?
Overwriting whiteouts and fallthroughs and unlinking fallthroughs I don't see
as a problem where they can be treated as normal negative dentries and normal
files in this regard.
However, what do you do about non-opaque directories that may or may not have
been unioned if you try and follow a dirent that would be a subdirectory that
hasn't been copied up?
David
--
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