Re: [PATCH 19/38] union-mount: Introduce union_dir structure and basic operations

From: Miklos Szeredi
Date: Wed Aug 04 2010 - 10:51:42 EST


On Tue, 15 Jun 2010, Valerie Aurora wrote:
> This patch adds the basic structures and operations of VFS-based union
> mounts (but not the ability to mount or lookup unioned file systems).
> Each directory in a unioned file system has an associated union stack
> created when the directory is first looked up. The union stack is a
> union_dir structure kept in a hash table indexed by mount and dentry
> of the directory; thus, specific paths are unioned, not dentries
> alone. The union_dir keeps a pointer to the upper path and the lower
> path and can be looked up by either path. Currently only two layers
> are supported, but the union_dir struct is flexible enough to allow
> more than two layers.
>
> This particular version of union mounts is based on ideas by Jan
> Blunck, Bharata Rao, and many others.
>
> Signed-off-by: Valerie Aurora <vaurora@xxxxxxxxxx>
> ---


> --- a/include/linux/dcache.h
> +++ b/include/linux/dcache.h
> @@ -100,7 +100,9 @@ struct dentry {
> struct hlist_node d_hash; /* lookup hash list */
> struct dentry *d_parent; /* parent directory */
> struct qstr d_name;
> -
> +#ifdef CONFIG_UNION_MOUNT
> + struct union_dir *d_union_dir; /* head of union stack */
> +#endif

This botches the carefully tuned length of struct dentry. At least a
FIXME comment needs to be added that this is something to be
addressed.

Why was the hash table concept dropped? The header comment still
talks about that?

Miklos
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/