On 04/16/2018 07:44 AM, Vladimir Sementsov-Ogievskiy wrote: > Clarify first two cases and fix Modify -> Any access in third case. > Also, drop 'only' from third case, as it a bit confuses, when thinking > about case where we modify BdrvDirtyBitmap and access HBitmap. > > Signed-off-by: Vladimir Sementsov-Ogievskiy <vsement...@virtuozzo.com> > --- > include/block/block_int.h | 12 ++++++++---- > 1 file changed, 8 insertions(+), 4 deletions(-) > > diff --git a/include/block/block_int.h b/include/block/block_int.h > index c4dd1d4bb8..189666efa5 100644 > --- a/include/block/block_int.h > +++ b/include/block/block_int.h > @@ -709,10 +709,14 @@ struct BlockDriverState { > uint64_t write_threshold_offset; > NotifierWithReturn write_threshold_notifier; > > - /* Writing to the list requires the BQL _and_ the dirty_bitmap_mutex. > - * Reading from the list can be done with either the BQL or the > - * dirty_bitmap_mutex. Modifying a bitmap only requires > - * dirty_bitmap_mutex. */ > + /* Writing to the list (i.e. to any field of BdrvDirtyBitmap or to the > + * list-head) requires both the BQL _and_ the dirty_bitmap_mutex. > + * > + * Reading from the list (from any field of BdrvDirtyBitmap or from the > + * list-head) can be done with either the BQL or the dirty_bitmap_mutex. > + * > + * Any access to underlying HBitmap requires dirty_bitmap_mutex.
"to the underlying HBitmap," probably. > + */ > QemuMutex dirty_bitmap_mutex; > QLIST_HEAD(, BdrvDirtyBitmap) dirty_bitmaps; > > Reviewed-by: John Snow <js...@redhat.com>