linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Mark Wu <dwu@redhat.com>
To: Rusty Russell <rusty@rustcorp.com.au>
Cc: "Michael S. Tsirkin" <mst@redhat.com>,
	virtualization@lists.linux-foundation.org, kvm@vger.kernel.org,
	linux-kernel@vger.kernel.org, Jens Axboe <axboe@kernel.dk>,
	tj@kernel.org
Subject: Re: [PATCH 1/1] [virt] virtio-blk: Use ida to allocate disk index
Date: Wed, 08 Jun 2011 09:08:29 -0400	[thread overview]
Message-ID: <4DEF744D.9040702@redhat.com> (raw)
In-Reply-To: <87mxi1xfz0.fsf@rustcorp.com.au>

On 06/01/2011 07:57 PM, Rusty Russell wrote:
> On Wed,  1 Jun 2011 03:24:29 -0400, Mark Wu <dwu@redhat.com> wrote:
>> Current index allocation in virtio-blk is based on a monotonically
>>  increasing variable "index". It could cause some confusion about 
>> disk name in the case of hot-plugging disks. And it's impossible
>> to find the lowest available index by just maintaining a simple
>> index. So it's changed to use ida to allocate index via referring
>> to the index allocation in scsi disk.
>> 
>> Signed-off-by: Mark Wu <dwu@redhat.com>
> 
> Hi Mark,
> 
> I don't believe that we do disk probes in parallel, so the spinlock 
> is unnecessary.  Otherwise, this looks good.
> 
> Thanks, Rusty.
Hi Rusty,
Yes, I can't figure out an instance of disk probing in parallel either, but as
per the following commit, I think we still need use lock for safety. What's your opinion?

commit 4034cc68157bfa0b6622efe368488d3d3e20f4e6
Author: Tejun Heo <tj@kernel.org>
Date:   Sat Feb 21 11:04:45 2009 +0900

    [SCSI] sd: revive sd_index_lock

    Commit f27bac2761cab5a2e212dea602d22457a9aa6943 which converted sd to
    use ida instead of idr incorrectly removed sd_index_lock around id
    allocation and free.  idr/ida do have internal locks but they protect
    their free object lists not the allocation itself.  The caller is
    responsible for that.  This missing synchronization led to the same id
    being assigned to multiple devices leading to oops.


  reply	other threads:[~2011-06-08 13:08 UTC|newest]

Thread overview: 19+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2011-06-01  7:24 [PATCH 1/1] [virt] virtio-blk: Use ida to allocate disk index Mark Wu
2011-06-01  8:25 ` Mark Wu
2011-06-02 10:34   ` Michael S. Tsirkin
2011-06-08 13:12     ` Mark Wu
2011-06-01 23:57 ` Rusty Russell
2011-06-08 13:08   ` Mark Wu [this message]
2011-06-08 23:21     ` Rusty Russell
2011-06-08 23:45       ` Greg KH
2011-06-09  9:14       ` Tejun Heo
2011-06-09 10:41         ` Mark Wu
2011-06-15  4:51           ` Rusty Russell
2011-06-15  7:06             ` Tejun Heo
2011-06-16  0:05               ` Rusty Russell
2011-06-16  7:46                 ` Tejun Heo
2011-10-19 10:12           ` Michael S. Tsirkin
2011-10-24 10:02             ` Michael S. Tsirkin
2011-10-24 10:02               ` Jens Axboe
2011-10-25  1:07                 ` Rusty Russell
2011-06-02 10:33 ` Michael S. Tsirkin

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=4DEF744D.9040702@redhat.com \
    --to=dwu@redhat.com \
    --cc=axboe@kernel.dk \
    --cc=kvm@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=mst@redhat.com \
    --cc=rusty@rustcorp.com.au \
    --cc=tj@kernel.org \
    --cc=virtualization@lists.linux-foundation.org \
    /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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).