]> pilppa.org Git - linux-2.6-omap-h63xx.git/blobdiff - include/linux/dcache.h
[NET]: uninline skb_pull, de-bloats a lot
[linux-2.6-omap-h63xx.git] / include / linux / dcache.h
index 44605be5940902caac298dc796d0d8376ff89686..6bd646096fa62e145786b97b022839c8de9928d4 100644 (file)
@@ -10,6 +10,7 @@
 #include <linux/rcupdate.h>
 
 struct nameidata;
+struct path;
 struct vfsmount;
 
 /*
@@ -133,6 +134,7 @@ struct dentry_operations {
        int (*d_delete)(struct dentry *);
        void (*d_release)(struct dentry *);
        void (*d_iput)(struct dentry *, struct inode *);
+       char *(*d_dname)(struct dentry *, char *, int);
 };
 
 /* the dentry parameter passed to d_hash and d_compare is the parent
@@ -177,6 +179,7 @@ d_iput:             no              no              no       yes
 #define DCACHE_INOTIFY_PARENT_WATCHED  0x0020 /* Parent inode is watched */
 
 extern spinlock_t dcache_lock;
+extern seqlock_t rename_lock;
 
 /**
  * d_drop - drop a dentry
@@ -230,6 +233,7 @@ extern struct dentry * d_alloc_anon(struct inode *);
 extern struct dentry * d_splice_alias(struct inode *, struct dentry *);
 extern void shrink_dcache_sb(struct super_block *);
 extern void shrink_dcache_parent(struct dentry *);
+extern void shrink_dcache_for_umount(struct super_block *);
 extern int d_invalidate(struct dentry *);
 
 /* only used at mount-time */
@@ -292,8 +296,13 @@ extern struct dentry * d_hash_and_lookup(struct dentry *, struct qstr *);
 /* validate "insecure" dentry pointer */
 extern int d_validate(struct dentry *, struct dentry *);
 
-extern char * d_path(struct dentry *, struct vfsmount *, char *, int);
-  
+/*
+ * helper function for dentry_operations.d_dname() members
+ */
+extern char *dynamic_dname(struct dentry *, char *, int, const char *, ...);
+
+extern char *d_path(struct path *, char *, int);
+
 /* Allocation counts.. */
 
 /**