block devices don't work without plugging in 2.4.3

Peter T. Breuer (ptb@it.uc3m.es)
Tue, 17 Apr 2001 18:40:27 +0200 (MET DST)


Well, anyway, as far as I can tell, the following has been lost from
__make_request() in ll_rw_blk.c since the 2.4.0 days:

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

The result appears to be that if a block device 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 wil never be called.

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

Is the policy now supposed to be that we do some more work
in the "no-op"? What am I supposed to do if I don't want
plugging(1)(2)?

(1) goes away and looks ....
(2) actually, I do want plugging, but I like to keep the
no-plug option around so that I can benchmark the difference
and also provide a very conservative option setting.

Peter
-
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/