diff options
Diffstat (limited to 'include')
| -rw-r--r-- | include/block/block_int.h | 14 |
1 files changed, 14 insertions, 0 deletions
diff --git a/include/block/block_int.h b/include/block/block_int.h index 27008cfb22..31bd788919 100644 --- a/include/block/block_int.h +++ b/include/block/block_int.h @@ -124,6 +124,20 @@ struct BlockDriver { * on those children. */ bool is_format; + + /* + * This function is invoked under BQL before .bdrv_co_amend() + * (which in contrast does not necessarily run under the BQL) + * to allow driver-specific initialization code that requires + * the BQL, like setting up specific permission flags. + */ + int (*bdrv_amend_pre_run)(BlockDriverState *bs, Error **errp); + /* + * This function is invoked under BQL after .bdrv_co_amend() + * to allow cleaning up what was done in .bdrv_amend_pre_run(). + */ + void (*bdrv_amend_clean)(BlockDriverState *bs); + /* * Return true if @to_replace can be replaced by a BDS with the * same data as @bs without it affecting @bs's behavior (that is, |
