[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[PATCH v6 29/33] job.h: assertions in the callers of JobDriver funcion p
From: |
Emanuele Giuseppe Esposito |
Subject: |
[PATCH v6 29/33] job.h: assertions in the callers of JobDriver funcion pointers |
Date: |
Fri, 21 Jan 2022 12:05:40 -0500 |
Signed-off-by: Emanuele Giuseppe Esposito <eesposit@redhat.com>
---
job.c | 9 +++++++++
1 file changed, 9 insertions(+)
diff --git a/job.c b/job.c
index 54db80df66..39bf511949 100644
--- a/job.c
+++ b/job.c
@@ -381,6 +381,8 @@ void job_ref(Job *job)
void job_unref(Job *job)
{
+ assert(qemu_in_main_thread());
+
if (--job->refcnt == 0) {
assert(job->status == JOB_STATUS_NULL);
assert(!timer_pending(&job->sleep_timer));
@@ -602,6 +604,7 @@ bool job_user_paused(Job *job)
void job_user_resume(Job *job, Error **errp)
{
assert(job);
+ assert(qemu_in_main_thread());
if (!job->user_paused || job->pause_count <= 0) {
error_setg(errp, "Can't resume a job that was not paused");
return;
@@ -672,6 +675,7 @@ static void job_update_rc(Job *job)
static void job_commit(Job *job)
{
assert(!job->ret);
+ assert(qemu_in_main_thread());
if (job->driver->commit) {
job->driver->commit(job);
}
@@ -680,6 +684,7 @@ static void job_commit(Job *job)
static void job_abort(Job *job)
{
assert(job->ret);
+ assert(qemu_in_main_thread());
if (job->driver->abort) {
job->driver->abort(job);
}
@@ -687,6 +692,7 @@ static void job_abort(Job *job)
static void job_clean(Job *job)
{
+ assert(qemu_in_main_thread());
if (job->driver->clean) {
job->driver->clean(job);
}
@@ -726,6 +732,7 @@ static int job_finalize_single(Job *job)
static void job_cancel_async(Job *job, bool force)
{
+ assert(qemu_in_main_thread());
if (job->driver->cancel) {
force = job->driver->cancel(job, force);
} else {
@@ -825,6 +832,7 @@ static void job_completed_txn_abort(Job *job)
static int job_prepare(Job *job)
{
+ assert(qemu_in_main_thread());
if (job->ret == 0 && job->driver->prepare) {
job->ret = job->driver->prepare(job);
job_update_rc(job);
@@ -1054,6 +1062,7 @@ void job_complete(Job *job, Error **errp)
{
/* Should not be reachable via external interface for internal jobs */
assert(job->id);
+ assert(qemu_in_main_thread());
if (job_apply_verb(job, JOB_VERB_COMPLETE, errp)) {
return;
}
--
2.31.1
- [PATCH v6 05/33] include/sysemu/block-backend: split header into I/O and global state (GS) API, (continued)
- [PATCH v6 05/33] include/sysemu/block-backend: split header into I/O and global state (GS) API, Emanuele Giuseppe Esposito, 2022/01/21
- [PATCH v6 08/33] assertions for block_int global state API, Emanuele Giuseppe Esposito, 2022/01/21
- [PATCH v6 10/33] include/block/blockjob_int.h: split header into I/O and GS API, Emanuele Giuseppe Esposito, 2022/01/21
- [PATCH v6 13/33] include/block/blockjob.h: global state API, Emanuele Giuseppe Esposito, 2022/01/21
- [PATCH v6 07/33] include/block/block_int: split header into I/O and global state API, Emanuele Giuseppe Esposito, 2022/01/21
- [PATCH v6 15/33] include/sysemu/blockdev.h: global state API, Emanuele Giuseppe Esposito, 2022/01/21
- [PATCH v6 12/33] block.c: add assertions to static functions, Emanuele Giuseppe Esposito, 2022/01/21
- [PATCH v6 14/33] assertions for blockjob.h global state API, Emanuele Giuseppe Esposito, 2022/01/21
- [PATCH v6 09/33] block: introduce assert_bdrv_graph_writable, Emanuele Giuseppe Esposito, 2022/01/21
- [PATCH v6 11/33] assertions for blockjob_int.h, Emanuele Giuseppe Esposito, 2022/01/21
- [PATCH v6 29/33] job.h: assertions in the callers of JobDriver funcion pointers,
Emanuele Giuseppe Esposito <=
- [PATCH v6 18/33] block/copy-before-write.h: global state API + assertions, Emanuele Giuseppe Esposito, 2022/01/21
- [PATCH v6 24/33] block_int-common.h: assertions in the callers of BlockDriver function pointers, Emanuele Giuseppe Esposito, 2022/01/21
- [PATCH v6 16/33] assertions for blockdev.h global state API, Emanuele Giuseppe Esposito, 2022/01/21
- [PATCH v6 23/33] block_int-common.h: split function pointers in BlockDriver, Emanuele Giuseppe Esposito, 2022/01/21
- [PATCH v6 22/33] block/coroutines: I/O API, Emanuele Giuseppe Esposito, 2022/01/21
- [PATCH v6 20/33] block: rename bdrv_invalidate_cache_all, blk_invalidate_cache and test_sync_op_invalidate_cache, Emanuele Giuseppe Esposito, 2022/01/21