On Tue, 2 Mar 2010, Valerie Aurora wrote: > This is a major rewrite of parts of union mounts, in particular the > pathname lookup code. For more info about union mounts, see: > > http://valerieaurora.org/union/ > > The previous code had two important problems fixed in this series: > > - On file open, is_unionized() grabs vfsmount lock and walks up the > mount tree even for non-union mounts. > > - Pathname lookup required three cut-n-pasted versions of two complex > functions, one for each of cached/real/"hashed" lookups. Looks much better :) > This rewrite reduces the additional cost of a non-union lookup in a > CONFIG_UNION_MOUNT kernel to either 1 or 2 mount flag tests (but adds > the requirement that file systems be unioned only at their root > directories). This rewrite implements lookup with one lookup_union() > function for all types of lookups. > > This posted patch series includes only the union lookup, mount, and > readdir patches and not the relatively uncontroversial whiteout and > fallthru code. Special inode/dentry flags (whiteout, fallthrough, opaque) are not trivially the right solution: - they are invisible from userspace, new APIs are necessary to manipulate them - they are difficult to support on network filesystems - they are not useful for anything other than union mounts/filesystems Extended attributes are a more standard way to add such info to files. Hard links would allow sharing a single inode for all whiteout entries and one for all fallthrough entries. Have these options been considered as an alternative? Thanks, Miklos -- To unsubscribe from this list: send the line "unsubscribe linux-fsdevel" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html