diff mbox series

[v1] job.c: add missing notifier initialization

Message ID 20211103162155.791482-1-eesposit@redhat.com (mailing list archive)
State New, archived
Headers show
Series [v1] job.c: add missing notifier initialization | expand

Commit Message

Emanuele Giuseppe Esposito Nov. 3, 2021, 4:21 p.m. UTC
It seems that on_idle list is not properly initialized like
the other notifiers.

Signed-off-by: Emanuele Giuseppe Esposito <eesposit@redhat.com>
---
 job.c | 1 +
 1 file changed, 1 insertion(+)

Comments

Philippe Mathieu-Daudé Nov. 3, 2021, 4:32 p.m. UTC | #1
On 11/3/21 17:21, Emanuele Giuseppe Esposito wrote:
> It seems that on_idle list is not properly initialized like
> the other notifiers.
> 

Cc: qemu-stable@nongnu.org
Fixes: 34dc97b9a0e ("blockjob: Wake up BDS when job becomes idle")

> Signed-off-by: Emanuele Giuseppe Esposito <eesposit@redhat.com>
> ---
>  job.c | 1 +
>  1 file changed, 1 insertion(+)
> 
> diff --git a/job.c b/job.c
> index dbfa67bb0a..54db80df66 100644
> --- a/job.c
> +++ b/job.c
> @@ -352,6 +352,7 @@ void *job_create(const char *job_id, const JobDriver *driver, JobTxn *txn,
>      notifier_list_init(&job->on_finalize_completed);
>      notifier_list_init(&job->on_pending);
>      notifier_list_init(&job->on_ready);
> +    notifier_list_init(&job->on_idle);
>  
>      job_state_transition(job, JOB_STATUS_CREATED);
>      aio_timer_init(qemu_get_aio_context(), &job->sleep_timer,
> 

Reviewed-by: Philippe Mathieu-Daudé <philmd@redhat.com>
Stefan Hajnoczi Nov. 4, 2021, 10:04 a.m. UTC | #2
On Wed, Nov 03, 2021 at 12:21:55PM -0400, Emanuele Giuseppe Esposito wrote:
> It seems that on_idle list is not properly initialized like
> the other notifiers.
> 
> Signed-off-by: Emanuele Giuseppe Esposito <eesposit@redhat.com>
> ---
>  job.c | 1 +
>  1 file changed, 1 insertion(+)

Reviewed-by: Stefan Hajnoczi <stefanha@redhat.com>
Vladimir Sementsov-Ogievskiy Nov. 12, 2021, 6:04 p.m. UTC | #3
03.11.2021 19:21, Emanuele Giuseppe Esposito wrote:
> It seems that on_idle list is not properly initialized like
> the other notifiers.
> 
> Signed-off-by: Emanuele Giuseppe Esposito <eesposit@redhat.com>
> ---
>   job.c | 1 +
>   1 file changed, 1 insertion(+)
> 
> diff --git a/job.c b/job.c
> index dbfa67bb0a..54db80df66 100644
> --- a/job.c
> +++ b/job.c
> @@ -352,6 +352,7 @@ void *job_create(const char *job_id, const JobDriver *driver, JobTxn *txn,
>       notifier_list_init(&job->on_finalize_completed);
>       notifier_list_init(&job->on_pending);
>       notifier_list_init(&job->on_ready);
> +    notifier_list_init(&job->on_idle);
>   
>       job_state_transition(job, JOB_STATUS_CREATED);
>       aio_timer_init(qemu_get_aio_context(), &job->sleep_timer,
> 

Reviewed-by: Vladimir Sementsov-Ogievskiy <vsementsov@virtuozzo.com>


I don't think it worth applying it now:

job object is alloced with g_malloc0, so job->on_idle is initialized to zero.

notifier_list_init() simply calls QLIST_INIT(), which initializes the only field of QLIST structure to NULL. So, actually these notifier_list_init() calls are no-op in this context.

I queue it in jobs branch, but will not send a pull request until more critical fix comes for 6.2 or 6.3 development starts.

Thanks!
diff mbox series

Patch

diff --git a/job.c b/job.c
index dbfa67bb0a..54db80df66 100644
--- a/job.c
+++ b/job.c
@@ -352,6 +352,7 @@  void *job_create(const char *job_id, const JobDriver *driver, JobTxn *txn,
     notifier_list_init(&job->on_finalize_completed);
     notifier_list_init(&job->on_pending);
     notifier_list_init(&job->on_ready);
+    notifier_list_init(&job->on_idle);
 
     job_state_transition(job, JOB_STATUS_CREATED);
     aio_timer_init(qemu_get_aio_context(), &job->sleep_timer,