Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
* Now we are all set to call the retry method in async
* context.
*/
+ BUG_ON(current->io_wait != NULL);
+ current->io_wait = &iocb->ki_wait;
ret = retry(iocb);
+ current->io_wait = NULL;
if (ret != -EIOCBRETRY && ret != -EIOCBQUEUED) {
BUG_ON(!list_empty(&iocb->ki_wait.task_list));
[PIDTYPE_SID] = INIT_PID_LINK(PIDTYPE_SID), \
}, \
.dirties = INIT_PROP_LOCAL_SINGLE(dirties), \
+ .io_wait = NULL, \
INIT_IDS \
INIT_PERF_EVENTS(tsk) \
INIT_TRACE_IRQFLAGS \
struct backing_dev_info *backing_dev_info;
struct io_context *io_context;
+ wait_queue_t *io_wait;
unsigned long ptrace_message;
siginfo_t *last_siginfo; /* For ptrace use. */
p->real_start_time = p->start_time;
monotonic_to_bootbased(&p->real_start_time);
p->io_context = NULL;
+ p->io_wait = NULL;
p->audit_context = NULL;
cgroup_fork(p);
#ifdef CONFIG_NUMA