Re: [PATCH 30/41] fallthru: Basic fallthru definitions

From: Erez Zadok
Date: Mon Nov 30 2009 - 23:15:31 EST


BTW, your patch set has an awkward order: you have some vfs and ext2/tmpfs
patches, then UM patches, then fallthru patches for specific file systems,
then UM patches again. Is it possible to order them so all UM patches go in
order; all lower-level F/S patches are also sequential; etc.?

In message <1256152779-10054-31-git-send-email-vaurora@xxxxxxxxxx>, Valerie Aurora writes:
> Define the fallthru dcache flag and file system op.
>
> Signed-off-by: Valerie Aurora <vaurora@xxxxxxxxxx>
> ---
> include/linux/dcache.h | 6 ++++++
> include/linux/fs.h | 1 +
> 2 files changed, 7 insertions(+), 0 deletions(-)
>
> diff --git a/include/linux/dcache.h b/include/linux/dcache.h
> index 730c432..a55f79f 100644
> --- a/include/linux/dcache.h
> +++ b/include/linux/dcache.h
> @@ -193,6 +193,7 @@ d_iput: no no no yes
>
> #define DCACHE_COOKIE 0x0040 /* For use by dcookie subsystem */
> #define DCACHE_WHITEOUT 0x0080 /* This negative dentry is a whiteout */
> +#define DCACHE_FALLTHRU 0x0100 /* Keep looking in the file system below */
>
> #define DCACHE_FSNOTIFY_PARENT_WATCHED 0x0080 /* Parent inode is watched by some fsnotify listener */
>
> @@ -381,6 +382,11 @@ static inline int d_is_whiteout(struct dentry *dentry)
> return (dentry->d_flags & DCACHE_WHITEOUT);
> }
>
> +static inline int d_is_fallthru(struct dentry *dentry)
> +{
> + return (dentry->d_flags & DCACHE_FALLTHRU);
> +}
> +
> static inline struct dentry *dget_parent(struct dentry *dentry)
> {
> struct dentry *ret;
> diff --git a/include/linux/fs.h b/include/linux/fs.h
> index efea78c..57690ab 100644
> --- a/include/linux/fs.h
> +++ b/include/linux/fs.h
> @@ -1532,6 +1532,7 @@ struct inode_operations {
> int (*rmdir) (struct inode *,struct dentry *);
> int (*mknod) (struct inode *,struct dentry *,int,dev_t);
> int (*whiteout) (struct inode *, struct dentry *, struct dentry *);
> + int (*fallthru) (struct inode *, struct dentry *);

Same nit I had before: why add ->fallthru in the middle of inode_operations
and not in the end?

> int (*rename) (struct inode *, struct dentry *,
> struct inode *, struct dentry *);
> int (*readlink) (struct dentry *, char __user *,int);
> --
> 1.6.3.3
>
> --
> 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

Erez.
--
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/