aboutsummaryrefslogtreecommitdiff
path: root/job.c
diff options
context:
space:
mode:
authorEmanuele Giuseppe Esposito <eesposit@redhat.com>2022-09-26 05:31:59 -0400
committerKevin Wolf <kwolf@redhat.com>2022-10-07 12:11:41 +0200
commitbf61c583fc04b7fcfeeccec9be0044c85daac796 (patch)
tree0a1efea15baf5e1c9492a3740b292837ebdfd054 /job.c
parentafe1e8a7b3e671993cf55e2321408650c7620999 (diff)
job: move and update comments from blockjob.c
This comment applies more on job, it was left in blockjob as in the past the whole job logic was implemented there. Note: at this stage, job_{lock/unlock} and job lock guard macros are *nop*. No functional change intended. Signed-off-by: Emanuele Giuseppe Esposito <eesposit@redhat.com> Reviewed-by: Vladimir Sementsov-Ogievskiy <vsementsov@yandex-team.ru> Reviewed-by: Stefan Hajnoczi <stefanha@redhat.com> Message-Id: <20220926093214.506243-7-eesposit@redhat.com> Reviewed-by: Kevin Wolf <kwolf@redhat.com> Signed-off-by: Kevin Wolf <kwolf@redhat.com>
Diffstat (limited to 'job.c')
-rw-r--r--job.c16
1 files changed, 16 insertions, 0 deletions
diff --git a/job.c b/job.c
index 87564979cb..926e385ac2 100644
--- a/job.c
+++ b/job.c
@@ -33,6 +33,22 @@
#include "qapi/qapi-events-job.h"
/*
+ * The job API is composed of two categories of functions.
+ *
+ * The first includes functions used by the monitor. The monitor is
+ * peculiar in that it accesses the job list with job_get, and
+ * therefore needs consistency across job_get and the actual operation
+ * (e.g. job_user_cancel). To achieve this consistency, the caller
+ * calls job_lock/job_unlock itself around the whole operation.
+ *
+ *
+ * The second includes functions used by the job drivers and sometimes
+ * by the core block layer. These delegate the locking to the callee instead.
+ *
+ * TODO Actually make this true
+ */
+
+/*
* job_mutex protects the jobs list, but also makes the
* struct job fields thread-safe.
*/