qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [RFC PATCH v2 24/25] job.h: split function pointers in JobDriver


From: Emanuele Giuseppe Esposito
Subject: Re: [RFC PATCH v2 24/25] job.h: split function pointers in JobDriver
Date: Fri, 8 Oct 2021 12:48:26 +0200
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:78.0) Gecko/20100101 Thunderbird/78.10.1



On 07/10/2021 16:54, Stefan Hajnoczi wrote:
On Tue, Oct 05, 2021 at 10:32:14AM -0400, Emanuele Giuseppe Esposito wrote:
The job API will be handled separately in another serie.

Signed-off-by: Emanuele Giuseppe Esposito <eesposit@redhat.com>
---
  include/qemu/job.h | 31 +++++++++++++++++++++++++++++++
  1 file changed, 31 insertions(+)

diff --git a/include/qemu/job.h b/include/qemu/job.h
index 41162ed494..c236c43026 100644
--- a/include/qemu/job.h
+++ b/include/qemu/job.h
@@ -169,12 +169,21 @@ typedef struct Job {
   * Callbacks and other information about a Job driver.
   */
  struct JobDriver {
+
+    /* Fields initialized in struct definition and never changed. */
+
      /** Derived Job struct size */
      size_t instance_size;
/** Enum describing the operation */
      JobType job_type;
+ /*
+     * I/O API functions. These functions are thread-safe, and therefore
+     * can run in any thread as long as they have called
+     * aio_context_acquire/release().
+     */

This comment described the block layer well but job.h is more generic. I
don't think these functions are necessarily thread-safe (they shouldn't
be invoked from multiple threads at the same time). It's just that they
are run without regard to the BQL and may run in an arbitrary thread.

Ok, in this instance I will change it to:

/*
 * Functions run without regard to the BQL and may run in any
 * arbitrary thread.
 */

Thank you,
Emanuele


Other than that:

Reviewed-by: Stefan Hajnoczi <stefanha@redhat.com>





reply via email to

[Prev in Thread] Current Thread [Next in Thread]