From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 33462 invoked by alias); 6 Mar 2018 11:28:19 -0000 Mailing-List: contact libc-alpha-help@sourceware.org; run by ezmlm Precedence: bulk List-Id: List-Subscribe: List-Archive: List-Post: List-Help: , Sender: libc-alpha-owner@sourceware.org Received: (qmail 33453 invoked by uid 89); 6 Mar 2018 11:28:18 -0000 Authentication-Results: sourceware.org; auth=none X-Virus-Found: No X-Spam-SWARE-Status: No, score=-2.1 required=5.0 tests=AWL,BAYES_00,T_RP_MATCHES_RCVD autolearn=ham version=3.3.2 spammy=HContent-Transfer-Encoding:8bit X-HELO: mx1.redhat.com Subject: Re: [RFC] DT_WHT To: Ben Hutchings , Rical Jasan Cc: libc-alpha , Carlos O'Donell References: <280ca5c0-a265-9f58-2ddf-32a1ef130167@pacific.net> <1519921471.2786.1.camel@codethink.co.uk> <64ad30f8-b845-e237-c6e1-3db300c5f896@pacific.net> <1520214640.2786.62.camel@codethink.co.uk> <1520266855.2786.75.camel@codethink.co.uk> From: Florian Weimer Message-ID: Date: Tue, 06 Mar 2018 11:28:00 -0000 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:52.0) Gecko/20100101 Thunderbird/52.6.0 MIME-Version: 1.0 In-Reply-To: <1520266855.2786.75.camel@codethink.co.uk> Content-Type: text/plain; charset=utf-8; format=flowed Content-Transfer-Encoding: 8bit X-SW-Source: 2018-03/txt/msg00147.txt.bz2 On 03/05/2018 05:20 PM, Ben Hutchings wrote: > On Mon, 2018-03-05 at 10:47 +0100, Florian Weimer wrote: >> On 03/05/2018 02:50 AM, Ben Hutchings wrote: >>> I have no opinion on that code, but it sounded like you proposed to >>> remove the macro definition too.  I wanted to point out that the macro >>> is meaningful and may be useful to applications. >> >> Useful in what sense?  What are its semantics? > > A white-out entry is a placeholder written to the upper layer of a > union filesystem that hides an entry in the lower layer. > > You'll never see these directory entries when looking at the union > filesystem, but can do if you look at the upper layer directly. That's not documented anywhere. The kernel never sets this flag. The Coda file system simply copies it from the network, and I cannot find the current server code anywhere. For all we know, DT_WHT might be visible on the union file system, and applications have to skip those entries manually if they want to avoid “file not found” errors. People assumed that inode 0 had this property (but this wasn't really true). Furthermore, for true whiteout entry support, I'd expect an S_IFWHT mode flag, but that's just not there in the upstream kernel. Thanks, Florian