diff options
author | Brian Behlendorf <[email protected]> | 2010-04-23 14:39:47 -0700 |
---|---|---|
committer | Brian Behlendorf <[email protected]> | 2010-04-23 14:39:47 -0700 |
commit | d05ec4b45f77c0f401098d88b5299ef090c73ca9 (patch) | |
tree | 8cbdb69e73809969ae0482f0fed2a6ad00ae75b8 | |
parent | 663e02a135953a432c8497916657a29cbcd93c01 (diff) |
Assume TQ_SLEEP when not explicitly specified.
-rw-r--r-- | module/spl/spl-taskq.c | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/module/spl/spl-taskq.c b/module/spl/spl-taskq.c index 16b1382d9..64719d762 100644 --- a/module/spl/spl-taskq.c +++ b/module/spl/spl-taskq.c @@ -248,6 +248,11 @@ __taskq_dispatch(taskq_t *tq, task_func_t func, void *arg, uint_t flags) ASSERT(tq); ASSERT(func); + + /* Solaris assumes TQ_SLEEP if not passed explicitly */ + if (!(flags & (TQ_SLEEP | TQ_NOSLEEP))) + flags |= TQ_SLEEP; + if (unlikely(in_atomic() && (flags & TQ_SLEEP))) { CERROR("May schedule while atomic: %s/0x%08x/%d\n", current->comm, preempt_count(), current->pid); |