Thread (1 message) 1 message, 1 author, 2011-06-08

Re: [PATCH 1/1] [virt] virtio-blk: Use ida to allocate disk index

From: Mark Wu <hidden>
Date: 2011-06-08 13:08:29

On 06/01/2011 07:57 PM, Rusty Russell wrote:
On Wed,  1 Jun 2011 03:24:29 -0400, Mark Wu [off-list ref] wrote:
quoted
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 <redacted>
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 [off-list ref]
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.
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help