| /openbmc/qemu/ |
| H A D | job.c | 28 #include "qemu/job.h" 33 #include "qapi/qapi-events-job.h" 36 * The job API is composed of two categories of functions. 39 * peculiar in that it accesses the job list with job_get, and 45 * The second includes functions used by the job drivers and sometimes 51 * struct job fields thread-safe. 56 static QLIST_HEAD(, Job) jobs = QLIST_HEAD_INITIALIZER(jobs); 58 /* Job State Transition Table */ 93 QLIST_HEAD(, Job) jobs; 143 * @job: Job to add to the transaction [all …]
|
| H A D | blockjob.c | 39 static bool is_block_job(Job *job) in is_block_job() argument 41 return job_type(job) == JOB_TYPE_BACKUP || in is_block_job() 42 job_type(job) == JOB_TYPE_COMMIT || in is_block_job() 43 job_type(job) == JOB_TYPE_MIRROR || in is_block_job() 44 job_type(job) == JOB_TYPE_STREAM; in is_block_job() 49 Job *job = bjob ? &bjob->job : NULL; in block_job_next_locked() local 53 job = job_next_locked(job); in block_job_next_locked() 54 } while (job && !is_block_job(job)); in block_job_next_locked() 56 return job ? container_of(job, BlockJob, job) : NULL; in block_job_next_locked() 61 Job *job = job_get_locked(id); in block_job_get_locked() local [all …]
|
| H A D | job-qmp.c | 27 #include "qemu/job.h" 28 #include "qapi/qapi-commands-job.h" 33 * Get a job using its ID. Called with job_mutex held. 35 static Job *find_job_locked(const char *id, Error **errp) in find_job_locked() 37 Job *job; in find_job_locked() local 39 job = job_get_locked(id); in find_job_locked() 40 if (!job) { in find_job_locked() 41 error_setg(errp, "Job not found"); in find_job_locked() 45 return job; in find_job_locked() 50 Job *job; in qmp_job_cancel() local [all …]
|
| H A D | trace-events | 33 # job.c 34 job_state_transition(void *job, int ret, const char *legal, const char *s0, const char *s1) "job %… 35 job_apply_verb(void *job, const char *state, const char *verb, const char *legal) "job %p in state … 36 job_completed(void *job, int ret) "job %p ret %d" 38 # job-qmp.c 39 qmp_job_cancel(void *job) "job %p" 40 qmp_job_pause(void *job) "job %p" 41 qmp_job_resume(void *job) "job %p" 42 qmp_job_complete(void *job) "job %p" 43 qmp_job_finalize(void *job) "job %p" [all …]
|
| /openbmc/qemu/include/qemu/ |
| H A D | job.h | 29 #include "qapi/qapi-types-job.h" 42 typedef struct Job { struct 46 /** The ID of the job. May be NULL for internal jobs. */ 50 * The type of this job. 56 * The coroutine that executes the job. If not NULL, it is reentered when 57 * busy is false and the job is cancelled. 62 /** True if this job should automatically finalize itself */ 65 /** True if this job should automatically dismiss itself */ 69 * The completion function that will be called when the job completes. 80 * AioContext to run the job coroutine in. [all …]
|
| /openbmc/qemu/tests/unit/ |
| H A D | test-blockjob.c | 37 BlockJob *job; in mk_job() local 40 job = block_job_create(id, drv, NULL, blk_bs(blk), in mk_job() 45 g_assert_nonnull(job); in mk_job() 47 g_assert_cmpstr(job->job.id, ==, id); in mk_job() 49 g_assert_cmpstr(job->job.id, ==, blk_name(blk)); in mk_job() 53 g_assert_null(job); in mk_job() 56 return job; in mk_job() 105 BlockJob *job[3]; in test_job_ids() local 111 /* No job ID provided and the block backend has no name */ in test_job_ids() 112 job[0] = do_test_id(blk[0], NULL, false); in test_job_ids() [all …]
|
| H A D | test-blockjob-txn.c | 28 static int coroutine_fn test_block_job_run(Job *job, Error **errp) in test_block_job_run() argument 30 TestBlockJob *s = container_of(job, TestBlockJob, common.job); in test_block_job_run() 34 job_sleep_ns(job, 0); in test_block_job_run() 36 job_yield(job); in test_block_job_run() 39 if (job_is_cancelled(job)) { in test_block_job_run() 48 TestBlockJob *job; member 55 if (!ret && job_is_cancelled(&data->job->common.job)) { in test_block_job_cb() 71 /* Create a block job that completes with a given return code after a given 95 snprintf(job_id, sizeof(job_id), "job%u", counter++); in test_block_job_start() 99 bdrv_unref(bs); /* referenced by job now */ in test_block_job_start() [all …]
|
| /openbmc/qemu/include/block/ |
| H A D | blockjob.h | 30 #include "qemu/job.h" 44 * Data belonging to the generic Job infrastructure. 45 * Protected by job mutex. 47 Job job; member 51 * Protected by job mutex. 68 * Block other operations when block job is running. 75 /** Called when a cancelled job is finalised. */ 78 /** Called when a successfully completed job is finalised. */ 81 /** Called when the job transitions to PENDING */ 84 /** Called when the job transitions to READY */ [all …]
|
| H A D | blockjob_int.h | 34 * A class type for block job driver. 48 * Returns whether the job has pending requests for the child or will 50 * in the context of draining a job node after requesting that the job be 53 bool (*drained_poll)(BlockJob *job); 63 * If the callback is not NULL, it will be invoked before the job is 65 * besides job->blk to the new AioContext. 67 void (*attached_aio_context)(BlockJob *job, AioContext *new_context); 69 void (*set_speed)(BlockJob *job, int64_t speed); 72 * Change the @job's options according to @opts. 74 * Note that this can already be called before the job coroutine is running. [all …]
|
| /openbmc/qemu/qapi/ |
| H A D | job.json | 13 # Type of a background job. 15 # @commit: block commit job type, see `block-commit` 17 # @stream: block stream job type, see `block-stream` 19 # @mirror: drive mirror job type, see `drive-mirror` 21 # @backup: drive backup job type, see `drive-backup` 23 # @create: image creation job type, see `blockdev-create` (since 3.0) 25 # @amend: image options amend job type, see `x-blockdev-amend` 28 # @snapshot-load: snapshot load job type, see `snapshot-load` 31 # @snapshot-save: snapshot save job type, see `snapshot-save` 34 # @snapshot-delete: snapshot delete job type, see `snapshot-delete` [all …]
|
| /openbmc/qemu/block/ |
| H A D | backup.c | 56 static void backup_cleanup_sync_bitmap(BackupBlockJob *job, int ret) in backup_cleanup_sync_bitmap() argument 59 bool sync = (((ret == 0) || (job->bitmap_mode == BITMAP_SYNC_MODE_ALWAYS)) \ in backup_cleanup_sync_bitmap() 60 && (job->bitmap_mode != BITMAP_SYNC_MODE_NEVER)); in backup_cleanup_sync_bitmap() 67 bm = bdrv_dirty_bitmap_abdicate(job->sync_bitmap, NULL); in backup_cleanup_sync_bitmap() 73 bm = bdrv_reclaim_dirty_bitmap(job->sync_bitmap, NULL); in backup_cleanup_sync_bitmap() 78 if (ret < 0 && job->bitmap_mode == BITMAP_SYNC_MODE_ALWAYS) { in backup_cleanup_sync_bitmap() 80 bdrv_dirty_bitmap_merge_internal(bm, block_copy_dirty_bitmap(job->bcs), in backup_cleanup_sync_bitmap() 85 static void backup_commit(Job *job) in backup_commit() argument 87 BackupBlockJob *s = container_of(job, BackupBlockJob, common.job); in backup_commit() 93 static void backup_abort(Job *job) in backup_abort() argument [all …]
|
| /openbmc/bmcweb/redfish-core/schema/dmtf/csdl/ |
| H A D | Job_v1.xml | 4 <!--# Redfish Schema: Job v1.3.0 --> 49 <Schema xmlns="http://docs.oasis-open.org/odata/ns/edm" Namespace="Job"> 53 <EntityType Name="Job" BaseType="Resource.v1_0_0.Resource" Abstract="true"> 54 …tation Term="OData.Description" String="The `Job` schema contains information about a job that a R… 55 …<Annotation Term="OData.LongDescription" String="This resource shall contain a job in a Redfish im… 82 <Annotation Term="OData.Description" String="Cancels the job."/> 83 …ring="This action shall cancel the job if it is currently in the `Running`, `Invalid`, or `Suspend… 84 <Parameter Name="Job" Type="Job.v1_0_0.Actions"/> 95 <Annotation Term="OData.Description" String="Invalidates the job."/> 96 …Description" String="This action shall invalidate the job if it is in the `Pending` state. The jo… [all …]
|
| /openbmc/bmcweb/redfish-core/schema/dmtf/json-schema/ |
| H A D | Job.v1_3_0.json | 2 "$id": "http://redfish.dmtf.org/schemas/v1/Job.v1_3_0.json", 3 "$ref": "#/definitions/Job", 26 "#Job.Cancel": { 29 "#Job.ForceStart": { 32 "#Job.Invalidate": { 35 "#Job.Resubmit": { 38 "#Job.Resume": { 41 "#Job.Suspend": { 44 "#Job.Validate": { 57 "description": "Cancels the job.", [all …]
|
| /openbmc/qemu/tests/qemu-iotests/ |
| H A D | 212.out | 3 {"execute": "blockdev-create", "arguments": {"job-id": "job0", "options": {"driver": "file", "filen… 5 {"execute": "job-dismiss", "arguments": {"id": "job0"}} 10 {"execute": "blockdev-create", "arguments": {"job-id": "job0", "options": {"driver": "parallels", "… 12 {"execute": "job-dismiss", "arguments": {"id": "job0"}} 21 {"execute": "blockdev-create", "arguments": {"job-id": "job0", "options": {"driver": "file", "filen… 23 {"execute": "job-dismiss", "arguments": {"id": "job0"}} 26 {"execute": "blockdev-create", "arguments": {"job-id": "job0", "options": {"cluster-size": 1048576,… 28 {"execute": "job-dismiss", "arguments": {"id": "job0"}} 37 {"execute": "blockdev-create", "arguments": {"job-id": "job0", "options": {"driver": "file", "filen… 39 {"execute": "job-dismiss", "arguments": {"id": "job0"}} [all …]
|
| H A D | 213.out | 3 {"execute": "blockdev-create", "arguments": {"job-id": "job0", "options": {"driver": "file", "filen… 5 {"execute": "job-dismiss", "arguments": {"id": "job0"}} 10 {"execute": "blockdev-create", "arguments": {"job-id": "job0", "options": {"driver": "vhdx", "file"… 12 {"execute": "job-dismiss", "arguments": {"id": "job0"}} 22 {"execute": "blockdev-create", "arguments": {"job-id": "job0", "options": {"driver": "file", "filen… 24 {"execute": "job-dismiss", "arguments": {"id": "job0"}} 27 {"execute": "blockdev-create", "arguments": {"job-id": "job0", "options": {"block-size": 8388608, "… 29 {"execute": "job-dismiss", "arguments": {"id": "job0"}} 39 {"execute": "blockdev-create", "arguments": {"job-id": "job0", "options": {"driver": "file", "filen… 41 {"execute": "job-dismiss", "arguments": {"id": "job0"}} [all …]
|
| H A D | 206.out | 3 {"execute": "blockdev-create", "arguments": {"job-id": "job0", "options": {"driver": "file", "filen… 5 {"execute": "job-dismiss", "arguments": {"id": "job0"}} 10 {"execute": "blockdev-create", "arguments": {"job-id": "job0", "options": {"driver": "qcow2", "file… 12 {"execute": "job-dismiss", "arguments": {"id": "job0"}} 29 {"execute": "blockdev-create", "arguments": {"job-id": "job0", "options": {"driver": "file", "filen… 31 {"execute": "job-dismiss", "arguments": {"id": "job0"}} 34 {"execute": "blockdev-create", "arguments": {"job-id": "job0", "options": {"cluster-size": 65536, "… 36 {"execute": "job-dismiss", "arguments": {"id": "job0"}} 53 {"execute": "blockdev-create", "arguments": {"job-id": "job0", "options": {"driver": "file", "filen… 55 {"execute": "job-dismiss", "arguments": {"id": "job0"}} [all …]
|
| H A D | 295.out | 1 {"execute": "job-dismiss", "arguments": {"id": "job_add_key"}} 3 {"execute": "job-dismiss", "arguments": {"id": "job_add_key"}} 5 {"execute": "job-dismiss", "arguments": {"id": "job_erase_key"}} 7 .{"execute": "job-dismiss", "arguments": {"id": "job_add_key"}} 9 {"execute": "job-dismiss", "arguments": {"id": "job_erase_key"}} 11 Job failed: Invalid password, cannot unlock any keyslot 12 {"execute": "job-dismiss", "arguments": {"id": "job_add_key"}} 14 {"execute": "job-dismiss", "arguments": {"id": "job_add_key"}} 16 .{"execute": "job-dismiss", "arguments": {"id": "job_add_key"}} 18 {"execute": "job-dismiss", "arguments": {"id": "job_add_key"}} [all …]
|
| H A D | 219 | 21 # Check using the job-* QMP commands with block jobs 30 with iotests.Timeout(3, "Timeout waiting for job to pause"): 33 for job in result['return']: 34 if job['id'] == job_id and job['status'] in ['paused', 'standby']: 35 return job 37 # Test that block-job-pause/resume and job-pause/resume can be mixed 39 for pause_cmd, pause_arg in [('block-job-pause', 'device'), 40 ('job-pause', 'id')]: 41 for resume_cmd, resume_arg in [('block-job-resume', 'device'), 42 ('job-resume', 'id')]: [all …]
|
| H A D | 219.out | 4 Starting block job: drive-mirror (auto-finalize: True; auto-dismiss: True) 11 === Testing block-job-pause/block-job-resume === 18 === Testing block-job-pause/job-resume === 25 === Testing job-pause/block-job-resume === 32 === Testing job-pause/job-resume === 39 {"error": {"class": "GenericError", "desc": "Job 'job0' in state 'running' cannot accept command ve… 40 {"error": {"class": "GenericError", "desc": "Job 'job0' in state 'running' cannot accept command ve… 41 {"error": {"class": "GenericError", "desc": "Job 'job0' in state 'running' cannot accept command ve… 42 {"error": {"class": "GenericError", "desc": "Job 'job0' in state 'running' cannot accept command ve… 43 {"error": {"class": "GenericError", "desc": "Job 'job0' in state 'running' cannot accept command ve… [all …]
|
| H A D | 211.out | 3 {"execute": "blockdev-create", "arguments": {"job-id": "job0", "options": {"driver": "file", "filen… 5 {"execute": "job-dismiss", "arguments": {"id": "job0"}} 10 {"execute": "blockdev-create", "arguments": {"job-id": "job0", "options": {"driver": "vdi", "file":… 12 {"execute": "job-dismiss", "arguments": {"id": "job0"}} 23 {"execute": "blockdev-create", "arguments": {"job-id": "job0", "options": {"driver": "file", "filen… 25 {"execute": "job-dismiss", "arguments": {"id": "job0"}} 28 {"execute": "blockdev-create", "arguments": {"job-id": "job0", "options": {"driver": "vdi", "file":… 30 {"execute": "job-dismiss", "arguments": {"id": "job0"}} 41 {"execute": "blockdev-create", "arguments": {"job-id": "job0", "options": {"driver": "file", "filen… 43 {"execute": "job-dismiss", "arguments": {"id": "job0"}} [all …]
|
| H A D | 237.out | 3 {"execute": "blockdev-create", "arguments": {"job-id": "job0", "options": {"driver": "file", "filen… 5 {"execute": "job-dismiss", "arguments": {"id": "job0"}} 10 {"execute": "blockdev-create", "arguments": {"job-id": "job0", "options": {"driver": "vmdk", "file"… 12 {"execute": "job-dismiss", "arguments": {"id": "job0"}} 32 {"execute": "blockdev-create", "arguments": {"job-id": "job0", "options": {"driver": "file", "filen… 34 {"execute": "job-dismiss", "arguments": {"id": "job0"}} 37 {"execute": "blockdev-create", "arguments": {"job-id": "job0", "options": {"adapter-type": "ide", "… 39 {"execute": "job-dismiss", "arguments": {"id": "job0"}} 59 {"execute": "blockdev-create", "arguments": {"job-id": "job0", "options": {"driver": "file", "filen… 61 {"execute": "job-dismiss", "arguments": {"id": "job0"}} [all …]
|
| H A D | 257.out | 26 {"execute": "job-dismiss", "arguments": {"id": "bdc-file-job"}} 30 {"execute": "job-dismiss", "arguments": {"id": "bdc-fmt-job"}} 33 …kup", "arguments": {"device": "drive0", "filter-node-name": "backup-top", "job-id": "ref_backup_0"… 73 {"execute": "job-dismiss", "arguments": {"id": "bdc-file-job"}} 77 {"execute": "job-dismiss", "arguments": {"id": "bdc-fmt-job"}} 80 …kup", "arguments": {"device": "drive0", "filter-node-name": "backup-top", "job-id": "ref_backup_1"… 87 {"execute": "job-dismiss", "arguments": {"id": "bdc-file-job"}} 91 {"execute": "job-dismiss", "arguments": {"id": "bdc-fmt-job"}} 94 …map-mode": "never", "device": "drive0", "filter-node-name": "backup-top", "job-id": "backup_1", "s… 158 {"execute": "job-cancel", "arguments": {"id": "backup_1"}} [all …]
|
| /openbmc/qemu/migration/ |
| H A D | multifd-qpl.c | 21 /* Maximum number of retries to resubmit a job if IAA work queues are full */ 25 /* the QPL hardware path job */ 26 qpl_job *job; member 38 /* the QPL software job for the slow path and software fallback */ 54 * the QPL hardware job initialization will fail. 58 * @job_size: indicates the hardware job size if hardware is available 64 qpl_job *job; in check_hw_avail() local 70 job = g_malloc0(size); in check_hw_avail() 71 if (qpl_init_job(path, job) != QPL_STS_OK) { in check_hw_avail() 72 g_free(job); in check_hw_avail() [all …]
|
| /openbmc/qemu/ui/ |
| H A D | vnc-jobs.c | 52 * When the encoding job is done, the worker thread will hold the output lock 84 VncJob *job = g_new0(VncJob, 1); in vnc_job_new() local 87 job->vs = vs; in vnc_job_new() 89 QLIST_INIT(&job->rectangles); in vnc_job_new() 91 return job; in vnc_job_new() 94 int vnc_job_add_rect(VncJob *job, int x, int y, int w, int h) in vnc_job_add_rect() argument 98 trace_vnc_job_add_rect(job->vs, job, x, y, w, h); in vnc_job_add_rect() 106 QLIST_INSERT_HEAD(&job->rectangles, entry, next); in vnc_job_add_rect() 111 void vnc_job_push(VncJob *job) in vnc_job_push() argument 114 if (queue->exit || QLIST_EMPTY(&job->rectangles)) { in vnc_job_push() [all …]
|
| /openbmc/qemu/.gitlab-ci.d/ |
| H A D | crossbuilds.yml | 7 job: armhf-debian-cross-container 14 job: arm64-debian-cross-container 21 job: arm64-debian-cross-container 28 job: arm64-debian-cross-container 38 job: i686-debian-cross-container 49 job: i686-debian-cross-container 60 job: i686-debian-cross-container 66 # reduces the flakiness of this CI job. The CI 74 job: mipsel-debian-cross-container 81 job: mipsel-debian-cross-container [all …]
|