diff options
author | Brian Behlendorf <[email protected]> | 2017-07-23 19:32:14 -0700 |
---|---|---|
committer | GitHub <[email protected]> | 2017-07-23 19:32:14 -0700 |
commit | 944117514d2aba081b15faad741e7d0c6b1465c8 (patch) | |
tree | 242f2062a1aa5654ad4e6f13cea7bda60eb29106 /module | |
parent | ae42190b7917d5aaa8ec0c0951ff65e8df6fa601 (diff) |
Linux 4.13 compat: wait queues
Commit torvalds/linux@ac6424b9
- Renamed struct wait_queue -> struct wait_queue_entry.
Commit torvalds/linux@2055da97
- Renamed wait_queue_head::task_list -> wait_queue_head::head
- Renamed wait_queue_entry::task_list -> wait_queue_entry::entry
Reviewed-by: Chunwei Chen <[email protected]>
Signed-off-by: Brian Behlendorf <[email protected]>
Closes #629
Diffstat (limited to 'module')
-rw-r--r-- | module/spl/spl-proc.c | 14 | ||||
-rw-r--r-- | module/splat/splat-atomic.c | 3 | ||||
-rw-r--r-- | module/splat/splat-kmem.c | 4 | ||||
-rw-r--r-- | module/splat/splat-rwlock.c | 2 | ||||
-rw-r--r-- | module/splat/splat-thread.c | 3 |
5 files changed, 19 insertions, 7 deletions
diff --git a/module/spl/spl-proc.c b/module/spl/spl-proc.c index bffbcc607..05c1a5dbc 100644 --- a/module/spl/spl-proc.c +++ b/module/spl/spl-proc.c @@ -244,7 +244,7 @@ taskq_seq_show_impl(struct seq_file *f, void *p, boolean_t allflag) { taskq_t *tq = p; taskq_thread_t *tqt; - wait_queue_t *wq; + spl_wait_queue_entry_t *wq; struct task_struct *tsk; taskq_ent_t *tqe; char name[100]; @@ -261,7 +261,11 @@ taskq_seq_show_impl(struct seq_file *f, void *p, boolean_t allflag) lheads[LHEAD_PEND] = &tq->tq_pend_list; lheads[LHEAD_PRIO] = &tq->tq_prio_list; lheads[LHEAD_DELAY] = &tq->tq_delay_list; +#ifdef HAVE_WAIT_QUEUE_HEAD_ENTRY + lheads[LHEAD_WAIT] = &tq->tq_wait_waitq.head; +#else lheads[LHEAD_WAIT] = &tq->tq_wait_waitq.task_list; +#endif lheads[LHEAD_ACTIVE] = &tq->tq_active_list; for (i = 0; i < LHEAD_SIZE; ++i) { @@ -320,7 +324,13 @@ taskq_seq_show_impl(struct seq_file *f, void *p, boolean_t allflag) } /* show the wait waitq list */ if (i == LHEAD_WAIT) { - wq = list_entry(lh, wait_queue_t, task_list); +#ifdef HAVE_WAIT_QUEUE_HEAD_ENTRY + wq = list_entry(lh, + spl_wait_queue_entry_t, entry); +#else + wq = list_entry(lh, + spl_wait_queue_entry_t, task_list); +#endif if (j == 0) seq_printf(f, "\t%s:", list_names[i]); diff --git a/module/splat/splat-atomic.c b/module/splat/splat-atomic.c index f6ed80fb8..b8759e01f 100644 --- a/module/splat/splat-atomic.c +++ b/module/splat/splat-atomic.c @@ -28,6 +28,7 @@ #include <sys/thread.h> #include <sys/mutex.h> #include <linux/mm_compat.h> +#include <linux/wait_compat.h> #include <linux/slab.h> #include "splat-internal.h" @@ -55,7 +56,7 @@ typedef struct atomic_priv { unsigned long ap_magic; struct file *ap_file; kmutex_t ap_lock; - wait_queue_head_t ap_waitq; + spl_wait_queue_head_t ap_waitq; volatile uint64_t ap_atomic; volatile uint64_t ap_atomic_exited; atomic_op_t ap_op; diff --git a/module/splat/splat-kmem.c b/module/splat/splat-kmem.c index 8946b0671..d0649ad9a 100644 --- a/module/splat/splat-kmem.c +++ b/module/splat/splat-kmem.c @@ -275,8 +275,8 @@ typedef struct kmem_cache_priv { struct file *kcp_file; kmem_cache_t *kcp_cache; spinlock_t kcp_lock; - wait_queue_head_t kcp_ctl_waitq; - wait_queue_head_t kcp_thr_waitq; + spl_wait_queue_head_t kcp_ctl_waitq; + spl_wait_queue_head_t kcp_thr_waitq; int kcp_flags; int kcp_kct_count; kmem_cache_thread_t *kcp_kct[SPLAT_KMEM_THREADS]; diff --git a/module/splat/splat-rwlock.c b/module/splat/splat-rwlock.c index d7626b236..5d3ffb195 100644 --- a/module/splat/splat-rwlock.c +++ b/module/splat/splat-rwlock.c @@ -76,7 +76,7 @@ typedef struct rw_priv { struct file *rw_file; krwlock_t rw_rwlock; spinlock_t rw_lock; - wait_queue_head_t rw_waitq; + spl_wait_queue_head_t rw_waitq; int rw_completed; int rw_holders; int rw_waiters; diff --git a/module/splat/splat-thread.c b/module/splat/splat-thread.c index a043fc74f..e99d69101 100644 --- a/module/splat/splat-thread.c +++ b/module/splat/splat-thread.c @@ -28,6 +28,7 @@ #include <sys/random.h> #include <linux/delay.h> #include <linux/mm_compat.h> +#include <linux/wait_compat.h> #include <linux/slab.h> #include "splat-internal.h" @@ -54,7 +55,7 @@ typedef struct thread_priv { unsigned long tp_magic; struct file *tp_file; spinlock_t tp_lock; - wait_queue_head_t tp_waitq; + spl_wait_queue_head_t tp_waitq; uint_t tp_keys[SPLAT_THREAD_TEST_KEYS]; int tp_rc; int tp_count; |