summary refs log tree commit diff
path: root/include
diff options
context:
space:
mode:
authorDavid Howells <dhowells@redhat.com>2015-01-29 12:02:28 +0000
committerAl Viro <viro@zeniv.linux.org.uk>2015-02-22 11:38:38 -0500
commitdf1a085af1f652a02238168c4f2b730c8c90dd4a (patch)
treee9f269431a6ed4ec7a70de68cd9b62b0bcbe2dea /include
parente7f7d2253c05143ed76ddc5e11f4cf0a9b814a27 (diff)
downloadlinux-df1a085af1f652a02238168c4f2b730c8c90dd4a.tar.gz
VFS: Add a fallthrough flag for marking virtual dentries
Add a DCACHE_FALLTHRU flag to indicate that, in a layered filesystem, this is
a virtual dentry that covers another one in a lower layer that should be used
instead.  This may be recorded on medium if directory integration is stored
there.

The flag can be set with d_set_fallthru() and tested with d_is_fallthru().

Original-author: Valerie Aurora <vaurora@redhat.com>
Signed-off-by: David Howells <dhowells@redhat.com>
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
Diffstat (limited to 'include')
-rw-r--r--include/linux/dcache.h9
1 files changed, 9 insertions, 0 deletions
diff --git a/include/linux/dcache.h b/include/linux/dcache.h
index 98d2a948a08e..728f5d31b5e6 100644
--- a/include/linux/dcache.h
+++ b/include/linux/dcache.h
@@ -223,6 +223,7 @@ struct dentry_operations {
 #define DCACHE_FILE_TYPE		0x00500000 /* Other file type (or fallthru to such) */
 
 #define DCACHE_MAY_FREE			0x00800000
+#define DCACHE_FALLTHRU			0x01000000 /* Fall through to lower layer */
 
 extern seqlock_t rename_lock;
 
@@ -470,6 +471,14 @@ static inline bool d_is_positive(const struct dentry *dentry)
 	return !d_is_negative(dentry);
 }
 
+extern void d_set_fallthru(struct dentry *dentry);
+
+static inline bool d_is_fallthru(const struct dentry *dentry)
+{
+	return dentry->d_flags & DCACHE_FALLTHRU;
+}
+
+
 extern int sysctl_vfs_cache_pressure;
 
 static inline unsigned long vfs_pressure_ratio(unsigned long val)