[PATCH RFC 2/3] fs: provide no_revalidate_d_ops for network file systems

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Networked file systems may wish to forego dentry caching altogether, so
every lookup goes over the network and stale data is avoided.
Provide a no_revalidate_d_ops helper object that does this.

Signed-off-by: Ahmad Fatoum <ahmad@xxxxxx>
---
 fs/fs.c                | 9 +++++++++
 include/linux/dcache.h | 2 ++
 2 files changed, 11 insertions(+)

diff --git a/fs/fs.c b/fs/fs.c
index c6cb49996ec5..dda19db91341 100644
--- a/fs/fs.c
+++ b/fs/fs.c
@@ -1262,6 +1262,15 @@ static void d_invalidate(struct dentry *dentry)
 {
 }
 
+static int d_no_revalidate(struct dentry *dir, unsigned int flags)
+{
+	return 0;
+}
+
+const struct dentry_operations no_revalidate_d_ops = {
+	.d_revalidate = d_no_revalidate,
+};
+
 static inline int d_revalidate(struct dentry *dentry, unsigned int flags)
 {
 	if (unlikely(dentry->d_flags & DCACHE_OP_REVALIDATE))
diff --git a/include/linux/dcache.h b/include/linux/dcache.h
index 1581ddc701d3..a9619422013e 100644
--- a/include/linux/dcache.h
+++ b/include/linux/dcache.h
@@ -185,4 +185,6 @@ static inline struct inode *d_inode(const struct dentry *dentry)
 
 char *dpath(struct dentry *dentry, struct dentry *root);
 
+extern const struct dentry_operations no_revalidate_d_ops;
+
 #endif	/* __LINUX_DCACHE_H */
-- 
2.20.1


_______________________________________________
barebox mailing list
barebox@xxxxxxxxxxxxxxxxxxx
http://lists.infradead.org/mailman/listinfo/barebox



[Index of Archives]     [Linux Embedded]     [Linux USB Devel]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]     [XFree86]

  Powered by Linux