0001
0002
0003
0004
0005
0006
0007
0008 #include <linux/completion.h>
0009 #include <linux/sunrpc/cache.h>
0010 #include <linux/atomic.h>
0011
0012
0013
0014
0015 struct nfs_cache_defer_req {
0016 struct cache_req req;
0017 struct cache_deferred_req deferred_req;
0018 struct completion completion;
0019 refcount_t count;
0020 };
0021
0022 extern int nfs_cache_upcall(struct cache_detail *cd, char *entry_name);
0023 extern struct nfs_cache_defer_req *nfs_cache_defer_req_alloc(void);
0024 extern void nfs_cache_defer_req_put(struct nfs_cache_defer_req *dreq);
0025 extern int nfs_cache_wait_for_upcall(struct nfs_cache_defer_req *dreq);
0026
0027 extern int nfs_cache_register_net(struct net *net, struct cache_detail *cd);
0028 extern void nfs_cache_unregister_net(struct net *net, struct cache_detail *cd);
0029 extern int nfs_cache_register_sb(struct super_block *sb,
0030 struct cache_detail *cd);
0031 extern void nfs_cache_unregister_sb(struct super_block *sb,
0032 struct cache_detail *cd);