blockjob.c (d5ab9490cdf3ebcd97793982d4664f951816f6db) blockjob.c (d5f8d79c2f1f22cb883ae404abff1ee8276d47f1)
1/*
2 * QEMU System Emulator block driver
3 *
4 * Copyright (c) 2011 IBM Corp.
5 * Copyright (c) 2012 Red Hat, Inc.
6 *
7 * Permission is hereby granted, free of charge, to any person obtaining a copy
8 * of this software and associated documentation files (the "Software"), to deal

--- 159 unchanged lines hidden (view full) ---

168
169 tran_add(tran, &change_child_job_context, s);
170 return true;
171}
172
173static AioContext *child_job_get_parent_aio_context(BdrvChild *c)
174{
175 BlockJob *job = c->opaque;
1/*
2 * QEMU System Emulator block driver
3 *
4 * Copyright (c) 2011 IBM Corp.
5 * Copyright (c) 2012 Red Hat, Inc.
6 *
7 * Permission is hereby granted, free of charge, to any person obtaining a copy
8 * of this software and associated documentation files (the "Software"), to deal

--- 159 unchanged lines hidden (view full) ---

168
169 tran_add(tran, &change_child_job_context, s);
170 return true;
171}
172
173static AioContext *child_job_get_parent_aio_context(BdrvChild *c)
174{
175 BlockJob *job = c->opaque;
176 GLOBAL_STATE_CODE();
176 IO_CODE();
177 JOB_LOCK_GUARD();
177
178 return job->job.aio_context;
179}
180
181static const BdrvChildClass child_job = {
182 .get_parent_desc = child_job_get_parent_desc,
183 .drained_begin = child_job_drained_begin,
184 .drained_poll = child_job_drained_poll,

--- 405 unchanged lines hidden ---
178
179 return job->job.aio_context;
180}
181
182static const BdrvChildClass child_job = {
183 .get_parent_desc = child_job_get_parent_desc,
184 .drained_begin = child_job_drained_begin,
185 .drained_poll = child_job_drained_poll,

--- 405 unchanged lines hidden ---