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

From: Steven Whitehouse (steve@gw.chygwyn.com)
Date: Thu Apr 04 2002 - 09:12:27 EST


Hi,

>
> On Thu, Apr 04, 2002 at 02:50:25PM +0100, Steven Whitehouse wrote:
> > > 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).
>
> *nod* I wussed out and just took the easy bits when I forward ported
> those changes from 2.4
> http://www.codemonkey.org.uk/linux-2.5_drivers_block_nbd.c.diff
>
> I dropped the actual fix because it was incompatible with the bio
> changes iirc.
>
That was my conclusion too. Since its now possible to mark requests
REQ_STARTED my current 2.5 patch does that (and leaves requests on the
request queue) rather than maintaining a separate internal queue like the
2.4 version does, but its fairly similar other than that.

> > 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 :-)
>
> URL ?
>
Sorry, I should have mentioned that earlier:
http://www.chygwyn.com/~steve/kpatch/nbd-2.5.7-deadlock.diff

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/



This archive was generated by hypermail 2b29 : Sun Apr 07 2002 - 22:00:14 EST