[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [PATCH v5 02/20] job.h: categorize fields in struct Job
From: |
Stefan Hajnoczi |
Subject: |
Re: [PATCH v5 02/20] job.h: categorize fields in struct Job |
Date: |
Thu, 10 Feb 2022 17:35:43 +0000 |
On Thu, Feb 10, 2022 at 05:26:52PM +0100, Emanuele Giuseppe Esposito wrote:
>
>
> On 10/02/2022 16:40, Stefan Hajnoczi wrote:
> > On Tue, Feb 08, 2022 at 09:34:55AM -0500, Emanuele Giuseppe Esposito wrote:
> >> Categorize the fields in struct Job to understand which ones
> >> need to be protected by the job mutex and which don't.
> >>
> >> Signed-off-by: Emanuele Giuseppe Esposito <eesposit@redhat.com>
> >> ---
> >> include/qemu/job.h | 59 ++++++++++++++++++++++++++--------------------
> >> 1 file changed, 34 insertions(+), 25 deletions(-)
> >>
> >> diff --git a/include/qemu/job.h b/include/qemu/job.h
> >> index d1192ffd61..86ec46c09e 100644
> >> --- a/include/qemu/job.h
> >> +++ b/include/qemu/job.h
> >> @@ -40,27 +40,50 @@ typedef struct JobTxn JobTxn;
> >> * Long-running operation.
> >> */
> >> typedef struct Job {
> >> +
> >> + /* Fields set at initialization (job_create), and never modified */
> >
> > Is there a corresponding "Field protected by job_mutex" comment that
> > separates fields that need locking?
> >
>
> That would be the comment
>
> /** Protected by job_mutex */
>
> situated right after the field "ProgressMeter progress;".
>
> Do you want me to change it in "Fields protected by job_mutex"?
I don't see it:
+ /** The opaque value that is passed to the completion function. */
+ void *opaque;
+
+ /* ProgressMeter API is thread-safe */
+ ProgressMeter progress;
+
+
+ /** AioContext to run the job coroutine in */
+ AioContext *aio_context;
+
+ /** Reference count of the block job */
+ int refcnt;
Is it added by a later patch or did I miss it?
Stefan
signature.asc
Description: PGP signature
[PATCH v5 04/20] job.c: move inner aiocontext lock in callbacks, Emanuele Giuseppe Esposito, 2022/02/08
[PATCH v5 07/20] job.h: add _locked duplicates for job API functions called with and without job_mutex, Emanuele Giuseppe Esposito, 2022/02/08
[PATCH v5 17/20] job: detect change of aiocontext within job coroutine, Emanuele Giuseppe Esposito, 2022/02/08
[PATCH v5 03/20] job.c: API functions not used outside should be static, Emanuele Giuseppe Esposito, 2022/02/08