aboutsummaryrefslogtreecommitdiffstats
path: root/include/linux
diff options
context:
space:
mode:
Diffstat (limited to 'include/linux')
-rw-r--r--include/linux/fs.h5
-rw-r--r--include/linux/fsnotify_backend.h2
-rw-r--r--include/linux/sunrpc/cache.h7
-rw-r--r--include/linux/sunrpc/svc_rdma.h6
4 files changed, 14 insertions, 6 deletions
diff --git a/include/linux/fs.h b/include/linux/fs.h
index b0c6b0d34d02..e0d909d35763 100644
--- a/include/linux/fs.h
+++ b/include/linux/fs.h
@@ -1168,6 +1168,11 @@ extern void lease_get_mtime(struct inode *, struct timespec64 *time);
1168extern int generic_setlease(struct file *, long, struct file_lock **, void **priv); 1168extern int generic_setlease(struct file *, long, struct file_lock **, void **priv);
1169extern int vfs_setlease(struct file *, long, struct file_lock **, void **); 1169extern int vfs_setlease(struct file *, long, struct file_lock **, void **);
1170extern int lease_modify(struct file_lock *, int, struct list_head *); 1170extern int lease_modify(struct file_lock *, int, struct list_head *);
1171
1172struct notifier_block;
1173extern int lease_register_notifier(struct notifier_block *);
1174extern void lease_unregister_notifier(struct notifier_block *);
1175
1171struct files_struct; 1176struct files_struct;
1172extern void show_fd_locks(struct seq_file *f, 1177extern void show_fd_locks(struct seq_file *f,
1173 struct file *filp, struct files_struct *files); 1178 struct file *filp, struct files_struct *files);
diff --git a/include/linux/fsnotify_backend.h b/include/linux/fsnotify_backend.h
index 2de3b2ddd19a..1915bdba2fad 100644
--- a/include/linux/fsnotify_backend.h
+++ b/include/linux/fsnotify_backend.h
@@ -475,6 +475,8 @@ extern void fsnotify_destroy_mark(struct fsnotify_mark *mark,
475extern void fsnotify_detach_mark(struct fsnotify_mark *mark); 475extern void fsnotify_detach_mark(struct fsnotify_mark *mark);
476/* free mark */ 476/* free mark */
477extern void fsnotify_free_mark(struct fsnotify_mark *mark); 477extern void fsnotify_free_mark(struct fsnotify_mark *mark);
478/* Wait until all marks queued for destruction are destroyed */
479extern void fsnotify_wait_marks_destroyed(void);
478/* run all the marks in a group, and clear all of the marks attached to given object type */ 480/* run all the marks in a group, and clear all of the marks attached to given object type */
479extern void fsnotify_clear_marks_by_group(struct fsnotify_group *group, unsigned int type); 481extern void fsnotify_clear_marks_by_group(struct fsnotify_group *group, unsigned int type);
480/* run all the marks in a group, and clear all of the vfsmount marks */ 482/* run all the marks in a group, and clear all of the vfsmount marks */
diff --git a/include/linux/sunrpc/cache.h b/include/linux/sunrpc/cache.h
index c7f38e897174..f8603724fbee 100644
--- a/include/linux/sunrpc/cache.h
+++ b/include/linux/sunrpc/cache.h
@@ -87,6 +87,7 @@ struct cache_detail {
87 int has_died); 87 int has_died);
88 88
89 struct cache_head * (*alloc)(void); 89 struct cache_head * (*alloc)(void);
90 void (*flush)(void);
90 int (*match)(struct cache_head *orig, struct cache_head *new); 91 int (*match)(struct cache_head *orig, struct cache_head *new);
91 void (*init)(struct cache_head *orig, struct cache_head *new); 92 void (*init)(struct cache_head *orig, struct cache_head *new);
92 void (*update)(struct cache_head *orig, struct cache_head *new); 93 void (*update)(struct cache_head *orig, struct cache_head *new);
@@ -107,9 +108,9 @@ struct cache_detail {
107 /* fields for communication over channel */ 108 /* fields for communication over channel */
108 struct list_head queue; 109 struct list_head queue;
109 110
110 atomic_t readers; /* how many time is /chennel open */ 111 atomic_t writers; /* how many time is /channel open */
111 time_t last_close; /* if no readers, when did last close */ 112 time_t last_close; /* if no writers, when did last close */
112 time_t last_warn; /* when we last warned about no readers */ 113 time_t last_warn; /* when we last warned about no writers */
113 114
114 union { 115 union {
115 struct proc_dir_entry *procfs; 116 struct proc_dir_entry *procfs;
diff --git a/include/linux/sunrpc/svc_rdma.h b/include/linux/sunrpc/svc_rdma.h
index 981f0d726ad4..40f65888dd38 100644
--- a/include/linux/sunrpc/svc_rdma.h
+++ b/include/linux/sunrpc/svc_rdma.h
@@ -42,6 +42,7 @@
42 42
43#ifndef SVC_RDMA_H 43#ifndef SVC_RDMA_H
44#define SVC_RDMA_H 44#define SVC_RDMA_H
45#include <linux/llist.h>
45#include <linux/sunrpc/xdr.h> 46#include <linux/sunrpc/xdr.h>
46#include <linux/sunrpc/svcsock.h> 47#include <linux/sunrpc/svcsock.h>
47#include <linux/sunrpc/rpc_rdma.h> 48#include <linux/sunrpc/rpc_rdma.h>
@@ -107,8 +108,7 @@ struct svcxprt_rdma {
107 struct list_head sc_read_complete_q; 108 struct list_head sc_read_complete_q;
108 struct work_struct sc_work; 109 struct work_struct sc_work;
109 110
110 spinlock_t sc_recv_lock; 111 struct llist_head sc_recv_ctxts;
111 struct list_head sc_recv_ctxts;
112}; 112};
113/* sc_flags */ 113/* sc_flags */
114#define RDMAXPRT_CONN_PENDING 3 114#define RDMAXPRT_CONN_PENDING 3
@@ -125,6 +125,7 @@ enum {
125#define RPCSVC_MAXPAYLOAD_RDMA RPCSVC_MAXPAYLOAD 125#define RPCSVC_MAXPAYLOAD_RDMA RPCSVC_MAXPAYLOAD
126 126
127struct svc_rdma_recv_ctxt { 127struct svc_rdma_recv_ctxt {
128 struct llist_node rc_node;
128 struct list_head rc_list; 129 struct list_head rc_list;
129 struct ib_recv_wr rc_recv_wr; 130 struct ib_recv_wr rc_recv_wr;
130 struct ib_cqe rc_cqe; 131 struct ib_cqe rc_cqe;
@@ -200,7 +201,6 @@ extern struct svc_xprt_class svc_rdma_bc_class;
200#endif 201#endif
201 202
202/* svc_rdma.c */ 203/* svc_rdma.c */
203extern struct workqueue_struct *svc_rdma_wq;
204extern int svc_rdma_init(void); 204extern int svc_rdma_init(void);
205extern void svc_rdma_cleanup(void); 205extern void svc_rdma_cleanup(void);
206 206