block devices don't work without plugging in 2.4.3

Peter T. Breuer (ptb@it.uc3m.es)
Thu, 19 Apr 2001 12:39:57 +0200 (MET DST)


Sorry to repeat .. I didn't see this go out on the list and I haven't
had any reply. So let's ask again. Is this a new coding error in ll_rw_blk?

-----------------

The following has been lost from __make_request() in ll_rw_blk.c since
2.4.2 (incl):

out:
- if (!q->plugged)
- (q->request_fn)(q);
if (freereq)

The result is that a block device that doesn't do plugging doesn't
work.

If it has called blk_queue_pluggable() to register a no-op plug_fn,
then q->plugged will never be set (it's the duty of the plug_fn), and
the devices registered request function will never be called.

This behaviour is distinct from 2.4.0, where registering a no-op
plug_fn made things work fine.

Is this a coding oversight?

Peter (ptb@it.uc3m.es)
-
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/