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 --- |