| From | David Howells <> | Subject | [PATCH 24/73] union-mount: Add union_find_dir() [ver #2] | Date | Tue, 21 Feb 2012 18:00:33 +0000 |
| |
From: Valerie Aurora <vaurora@redhat.com>
union_find_dir() returns the path of the directory at the specified layer in a unioned directory.
Original-author: Valerie Aurora <vaurora@redhat.com> Signed-off-by: David Howells <dhowells@redhat.com> ---
fs/union.h | 17 +++++++++++++++++ 1 files changed, 17 insertions(+), 0 deletions(-)
diff --git a/fs/union.h b/fs/union.h index d42dc09..f90d037 100644 --- a/fs/union.h +++ b/fs/union.h @@ -19,6 +19,7 @@ #include <linux/mount.h> #include <linux/dcache.h> #include <linux/path.h> +#include <linux/bug.h> /* * WARNING! Confusing terminology alert. @@ -50,4 +51,20 @@ struct union_stack { struct path u_dirs[0]; }; +static inline +struct path *union_find_dir(struct dentry *dentry, unsigned int layer) +{ + BUG_ON(layer >= dentry->d_sb->s_union_count); + return &dentry->d_union_stack->u_dirs[layer]; +} + +#else /* CONFIG_UNION_MOUNT */ + +static inline +struct path *union_find_dir(struct dentry *dentry, unsigned int layer) +{ + BUG(); + return NULL; +} + #endif /* CONFIG_UNION_MOUNT */
|