From mboxrd@z Thu Jan 1 00:00:00 1970 From: Valerie Aurora Subject: Fallthrus as full-length symlinks? Date: Fri, 13 Nov 2009 12:46:31 -0500 Message-ID: <20091113174631.GD19656@shell> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Cc: 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: linux-fsdevel@vger.kernel.org Return-path: Received: from mx1.redhat.com ([209.132.183.28]:26791 "EHLO mx1.redhat.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1754588AbZKMRqw (ORCPT ); Fri, 13 Nov 2009 12:46:52 -0500 Content-Disposition: inline Sender: linux-fsdevel-owner@vger.kernel.org List-ID: 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. Recently, David Woodhouse suggested implementing fallthrus as full-length symlinks with a special flag. The interesting thing about this idea is that it could theoretically let us rename a file from the low level file system to another place in the low-level file system without copying the contents of the file up. Basically, we can arbitrarily swizzle the namespace of the low-level by maintaining a set of symlinks above. Is this useful? Is it implementable? Background reading: http://valerieaurora.org/union/ -VAL