Skip to content

Commit

Permalink
block-backend-common.h: split function pointers in BlockDevOps
Browse files Browse the repository at this point in the history
Assertions in the callers of the function pointrs are already
added by previous patches.

Signed-off-by: Emanuele Giuseppe Esposito <eesposit@redhat.com>
Reviewed-by: Stefan Hajnoczi <stefanha@redhat.com>
Reviewed-by: Philippe Mathieu-Daudé <philmd@redhat.com>
Message-Id: <20220303151616.325444-30-eesposit@redhat.com>
Signed-off-by: Kevin Wolf <kwolf@redhat.com>
  • Loading branch information
esposem authored and kevmw committed Mar 4, 2022
1 parent f0c2832 commit dc2b15b
Showing 1 changed file with 23 additions and 5 deletions.
28 changes: 23 additions & 5 deletions include/sysemu/block-backend-common.h
Expand Up @@ -27,6 +27,14 @@

/* Callbacks for block device models */
typedef struct BlockDevOps {

/*
* Global state (GS) API. These functions run under the BQL.
*
* See include/block/block-global-state.h for more information about
* the GS API.
*/

/*
* Runs when virtual media changed (monitor commands eject, change)
* Argument load is true on load and false on eject.
Expand All @@ -44,16 +52,26 @@ typedef struct BlockDevOps {
* true, even if they do not support eject requests.
*/
void (*eject_request_cb)(void *opaque, bool force);
/*
* Is the virtual tray open?
* Device models implement this only when the device has a tray.
*/
bool (*is_tray_open)(void *opaque);

/*
* Is the virtual medium locked into the device?
* Device models implement this only when device has such a lock.
*/
bool (*is_medium_locked)(void *opaque);

/*
* I/O API functions. These functions are thread-safe.
*
* See include/block/block-io.h for more information about
* the I/O API.
*/

/*
* Is the virtual tray open?
* Device models implement this only when the device has a tray.
*/
bool (*is_tray_open)(void *opaque);

/*
* Runs when the size changed (e.g. monitor command block_resize)
*/
Expand Down

0 comments on commit dc2b15b

Please sign in to comment.