lkml.org 
[lkml]   [2014]   [Feb]   [13]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
From
SubjectRe: [PATCH 00/13] cross rename v4
Date
Miklos Szeredi <miklos@szeredi.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


\
 
 \ /
  Last update: 2014-02-13 18:21    [W:0.092 / U:0.080 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site