All of lore.kernel.org
 help / color / mirror / Atom feed
From: Vladimir Sementsov-Ogievskiy <vsementsov@virtuozzo.com>
To: Eric Blake <eblake@redhat.com>,
	qemu-devel@nongnu.org, qemu-block@nongnu.org
Cc: mreitz@redhat.com, kwolf@redhat.com, jsnow@redhat.com,
	famz@redhat.com, stefanha@redhat.com, armbru@redhat.com,
	pbonzini@redhat.com, den@openvz.org, nshirokovskiy@virtuozzo.com,
	mnestratov@virtuozzo.com
Subject: Re: [Qemu-devel] [PATCH 1/4 for-2.11?] block/dirty-bitmap: add lock to bdrv_enable/disable_dirty_bitmap
Date: Thu, 16 Nov 2017 10:59:58 +0300	[thread overview]
Message-ID: <80297062-eb79-e3ac-7188-dcefe93e0f3e@virtuozzo.com> (raw)
In-Reply-To: <12463b01-41eb-4d17-65c0-a94de499e753@redhat.com>

13.11.2017 20:50, Eric Blake wrote:
> On 11/13/2017 10:20 AM, Vladimir Sementsov-Ogievskiy wrote:
>> Like other setters here these functions should take a lock.
>>
>> Signed-off-by: Vladimir Sementsov-Ogievskiy <vsementsov@virtuozzo.com>
>> ---
>>   block/dirty-bitmap.c | 4 ++++
>>   1 file changed, 4 insertions(+)
> Should this patch be in 2.11?


these functions are unused now, so, no, it's not necessary

>
>> diff --git a/block/dirty-bitmap.c b/block/dirty-bitmap.c
>> index bd04e991b1..2a0bcd9e51 100644
>> --- a/block/dirty-bitmap.c
>> +++ b/block/dirty-bitmap.c
>> @@ -397,15 +397,19 @@ void bdrv_remove_persistent_dirty_bitmap(BlockDriverState *bs,
>>   /* Called with BQL taken.  */
>>   void bdrv_disable_dirty_bitmap(BdrvDirtyBitmap *bitmap)
>>   {
>> +    bdrv_dirty_bitmap_lock(bitmap);
>>       assert(!bdrv_dirty_bitmap_frozen(bitmap));
>>       bitmap->disabled = true;
>> +    bdrv_dirty_bitmap_unlock(bitmap);
> Why do we need this lock in addition to BQL?
>
>>   }
>>   
>>   /* Called with BQL taken.  */
>>   void bdrv_enable_dirty_bitmap(BdrvDirtyBitmap *bitmap)
>>   {
>> +    bdrv_dirty_bitmap_lock(bitmap);
>>       assert(!bdrv_dirty_bitmap_frozen(bitmap));
>>       bitmap->disabled = false;
>> +    bdrv_dirty_bitmap_unlock(bitmap);
> Again, why do we need this in addition to BQL?
>
> The commit message needs more details about a scenario where our
> existing BQL lock is insufficient to prevent misuse of bitmap->disabled.
>


-- 
Best regards,
Vladimir

  parent reply	other threads:[~2017-11-16  8:00 UTC|newest]

Thread overview: 44+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2017-11-13 16:20 [Qemu-devel] [PATCH for-2.12 0/4] qmp dirty bitmap API Vladimir Sementsov-Ogievskiy
2017-11-13 16:20 ` [Qemu-devel] [PATCH 1/4] block/dirty-bitmap: add lock to bdrv_enable/disable_dirty_bitmap Vladimir Sementsov-Ogievskiy
2017-11-13 17:50   ` [Qemu-devel] [PATCH 1/4 for-2.11?] " Eric Blake
2017-11-16  7:56     ` Vladimir Sementsov-Ogievskiy
2017-11-16  7:59     ` Vladimir Sementsov-Ogievskiy [this message]
2017-11-13 16:20 ` [Qemu-devel] [PATCH 2/4] qapi: add block-dirty-bitmap-enable/disable Vladimir Sementsov-Ogievskiy
2017-11-13 16:20 ` [Qemu-devel] [PATCH 3/4] qmp: transaction support for block-dirty-bitmap-enable/disable Vladimir Sementsov-Ogievskiy
2017-11-13 16:20 ` [Qemu-devel] [PATCH 4/4] qapi: add block-dirty-bitmap-merge Vladimir Sementsov-Ogievskiy
2017-12-26  8:41   ` Vladimir Sementsov-Ogievskiy
2017-11-15 21:20 ` [Qemu-devel] [PATCH for-2.12 0/4] qmp dirty bitmap API John Snow
2017-11-16  8:17   ` Vladimir Sementsov-Ogievskiy
2017-11-17  3:10     ` John Snow
2017-11-17  8:22       ` Vladimir Sementsov-Ogievskiy
2017-11-17 21:35         ` John Snow
2017-11-21 17:23           ` Kevin Wolf
2017-11-22  0:10             ` John Snow
2017-11-22  8:40               ` Vladimir Sementsov-Ogievskiy
2017-12-07 11:56               ` [Qemu-devel] [Qemu-block] " Kashyap Chamarthy
2017-12-07 17:33                 ` Kevin Wolf
2017-12-08  9:35                   ` Kashyap Chamarthy
2017-12-07 22:47                 ` John Snow
2017-12-08 14:24                   ` Max Reitz
2017-11-30 12:10           ` [Qemu-devel] " Vladimir Sementsov-Ogievskiy
2017-12-07  0:38             ` John Snow
2017-12-07  9:39               ` Vladimir Sementsov-Ogievskiy
2017-12-09  0:57                 ` John Snow
2017-12-11  9:14                   ` Denis V. Lunev
2017-12-11 11:15                   ` Kevin Wolf
2017-12-11 12:18                     ` Vladimir Sementsov-Ogievskiy
2017-12-12 22:15                       ` John Snow
2017-12-11 18:40                     ` John Snow
2017-12-12 11:16                       ` Kevin Wolf
2017-11-20 16:00       ` Denis V. Lunev
2017-11-24 15:01         ` Vladimir Sementsov-Ogievskiy
2017-11-27 12:04           ` Kevin Wolf
2017-12-13  4:12 ` Fam Zheng
2017-12-19 16:07   ` Vladimir Sementsov-Ogievskiy
2017-12-20  1:06     ` John Snow
2017-12-20  8:05       ` Nikolay Shirokovskiy
2017-12-20  8:20       ` Vladimir Sementsov-Ogievskiy
2017-12-20 10:29         ` Kirill Korotaev
2017-12-26  7:07         ` Fam Zheng
2017-12-26  8:57           ` Vladimir Sementsov-Ogievskiy
2017-12-26  9:45             ` Fam Zheng

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=80297062-eb79-e3ac-7188-dcefe93e0f3e@virtuozzo.com \
    --to=vsementsov@virtuozzo.com \
    --cc=armbru@redhat.com \
    --cc=den@openvz.org \
    --cc=eblake@redhat.com \
    --cc=famz@redhat.com \
    --cc=jsnow@redhat.com \
    --cc=kwolf@redhat.com \
    --cc=mnestratov@virtuozzo.com \
    --cc=mreitz@redhat.com \
    --cc=nshirokovskiy@virtuozzo.com \
    --cc=pbonzini@redhat.com \
    --cc=qemu-block@nongnu.org \
    --cc=qemu-devel@nongnu.org \
    --cc=stefanha@redhat.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.