block devices don't work without plugging in 2.4.3

From: Peter T. Breuer (ptb@it.uc3m.es)
Date: Tue Apr 17 2001 - 11:40:27 EST


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/



This archive was generated by hypermail 2b29 : Mon Apr 23 2001 - 21:00:23 EST