Re: [PATCH] PPC64 iSeries: don't share request queues in viocd

Nick Piggin
2004-11-15T11:44:39Z

Christoph Hellwig wrote:
> On Mon, Nov 15, 2004 at 04:53:57PM +1100, Stephen Rothwell wrote:
>
>>Hi Andrew,
>>
>>This patch fixes the virtual cdrom driver to not share a single request
>>queue. Sharing the queue causes an oops if you remove the module and more
>>than one cdrom exists.
>
>
> Maybe you should fix that underlying bug? Queues are supposed to be
> shareable.
>

I think shared queues are actually quite fundamentally broken at the
moment (as pointed out to me by Al). It stems from the refcounting /
conceptual relationship between a gendisk and a queue (I think - been
a while since I looked at the code).

I had something which just about fixed it up except that I couldn't
work out an appropriate place and name for the "queue" in the sysfs
hierarcy (IIRC I just had it as a sequentially increasing number, in
/sys/block/).

It is a relationship that I don't think sysfs can capture very well:
queues are shared between multiple other objects, but they have no
meaning outside the context of one of these objects.