Re: [PATCH 2.5.8-pre1] nbd compile fixes...

Steven Whitehouse (steve@gw.chygwyn.com)
Thu, 4 Apr 2002 14:50:25 +0100 (BST)


Hi,

>
> On Thu, Apr 04, 2002 at 03:58:26PM +0200, Stelian Pop wrote:
> > In fact, since nbd.c still reference 'queue_lock' I suspect that
> > the actual modifications to nbd.c were lost somewhere in etherspace
> > between Dave and Linus.
>
> Correct, there's a missing part, that came from 2.4
>
Which I wrote and submitted with Pavel's approval a little while ago.

> > Either provide the right fix for nbd.c or apply the attached patch,
> > which reverts the patch to nbd.h.
>
> 2.4 simply does a s/queue_lock/tx_lock/ on drivers/block/nbd.c
> I'll push that to Linus later today
>
Not quite. They cover different things. The queue_lock originally covered the
queue and the request sending function. There was an obscure deadlock which
could occur in this case hence the split to a spin lock to cover the queue
and a semaphore to cover only the request sending function (hence tx_lock
rather than queue lock).

I've got a 2.5 version of that patch on my patches page at the moment, but
due to the block layer changes (if I've understood them correctly) the
fix should be done in a slightly different way. The reason that I've not
submitted the patch for 2.5 is that it doesn't yet work and I've not had
a chance to investigate properly yet (it hangs on writes sometimes). I'm
sure its probably something silly that I've done but I just don't see it
at the moment. Any hints or clues are welcome :-)

Steve.
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/