This is the mail archive of the
libc-alpha@sourceware.org
mailing list for the glibc project.
Re: [RFC] DT_WHT
- From: Rical Jasan <ricaljasan at pacific dot net>
- To: Ben Hutchings <ben dot hutchings at codethink dot co dot uk>
- Cc: libc-alpha <libc-alpha at sourceware dot org>, Carlos O'Donell <carlos at redhat dot com>
- Date: Thu, 1 Mar 2018 15:02:05 -0800
- Subject: Re: [RFC] DT_WHT
- Authentication-results: sourceware.org; auth=none
- References: <280ca5c0-a265-9f58-2ddf-32a1ef130167@pacific.net> <1519921471.2786.1.camel@codethink.co.uk>
On 03/01/2018 08:24 AM, Ben Hutchings wrote:
> On Wed, 2018-02-21 at 02:16 -0800, Rical Jasan wrote:
>> There is one undocumented DT_* macro in manual/filesys.texi: DT_WHT. It
>> is defined in dirent/dirent.h and appears to be used once in io/fts.c:
>>
>> #if defined FTS_WHITEOUT && 0
>> if (dp->d_type == DT_WHT)
>> p->fts_flags |= FTS_ISW;
>> #endif
>>
>> For an entry in the manual, I was thinking something along the lines of:
>>
>> "This macro is obsolete and has no effect. It was used to..."
>>
>> but I'm not sure what to say about what it was used for.
> [...]
>> Lastly, I can't find a reference to it in any of the standards I've
>> managed to obtain so far (not to say that's exhaustive at all). Is this
>> also BSD?
>
> Some Linux filesystems support white-out directory entries for use with
> union filesystems. At least the coda and xfs implementations of
> getdents() appear to be capable of setting d_type to DT_WHT.
The code as-is isn't used, though. Other "#if ... 0" blocks also use
some apparently whiteout-related macros that aren't defined anywhere.
Do you think instead of removing the unused code it should be changed to
actually do something?
Thanks,
Rical