From mboxrd@z Thu Jan 1 00:00:00 1970 From: Valerie Aurora Subject: Re: Fallthrus as full-length symlinks? Date: Tue, 17 Nov 2009 14:13:49 -0500 Message-ID: <20091117191349.GC17822@shell> References: <20091113174631.GD19656@shell> <200911131846.nADIkFR6022038@agora.fsl.cs.sunysb.edu> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Cc: linux-fsdevel@vger.kernel.org, David Woodhouse , Alexander Viro , Jan Blunck , Christoph Hellwig , Andy Whitcroft , Scott James Remnant , Sandu Popa Marius , Jan Rekorajski , "J. R. Okajima" , Arnd Bergmann , Vladimir Dronnikov , Felix Fietkau To: Erez Zadok Return-path: Received: from mx1.redhat.com ([209.132.183.28]:54607 "EHLO mx1.redhat.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1754591AbZKQTOI (ORCPT ); Tue, 17 Nov 2009 14:14:08 -0500 Content-Disposition: inline In-Reply-To: <200911131846.nADIkFR6022038@agora.fsl.cs.sunysb.edu> Sender: linux-fsdevel-owner@vger.kernel.org List-ID: On Fri, Nov 13, 2009 at 01:46:15PM -0500, Erez Zadok wrote: > In message <20091113174631.GD19656@shell>, Valerie Aurora writes: > > Fallthrus were invented as a placeholders for readdir() on a > > union-mounted directory - basically, to use the top-level file > > system's readdir() cookie mechanism. Fallthrus are persistent > > directory entries and are implemented by the underlying file system - > > such as ext2 or tmpfs - in whatever way it sees fit. We've > > implemented them for ext2 in two ways: as a regular directory entry > > with a magic inode number, and as a regular directory entry with a > > special file type. > > Other than a possible improvement to ->rename, what's wrong with the idea of > a special dirent flag? I kinda liked that idea: it's simple and requires > only a small amount of change to lower file systems. Any idea in which you > have to record the whiteouts using an actual file or inode is more > cumbersome. You have it right - the major advantage is a possible simplification to rename(). > > Recently, David Woodhouse suggested implementing fallthrus as > > full-length symlinks with a special flag. > > Where does this "special flag" go? Is it persistent? Is it new? Would > that mean having to change lower file systems to teach them about this flag? > > Is there a way of doing it w/o having to change lower f/s code at all? > That'll be a major advantage if possible. I can't think of a way to do it without using up namespace - but perhaps there is some part of the symlink target namespace that has no valid meaning that we could use instead, like Arnd's self symlink. -VAL