- 追加された行はこの色です。
- 削除された行はこの色です。
*参照元 [#xa191693]
#backlinks
*説明 [#a2ed564d]
-パス: [[linux-2.6.25/block/blk-core.c]]
-指定したリクエストキューの plug(栓をすること)を解除する。
--blk_stop_queue で停止させたリクエストキューは unplug_device では
再開しない。blk_start_queue を使うこと。
--リクエストキューへのロックを保持し、カレント CPU の割り込みを
禁止した状態で呼び出すこと。
**引数 [#v015586b]
-struct request_queue *q
--unplug(栓を取り去ること)するリクエストキューを指定する。
--[[linux-2.6.25/request_queue]]
**返り値 [#z99a05f1]
-なし
**参考 [#s71ac17c]
-なし
*実装 [#ia660202]
/*
* remove the plug and let it rip..
*/
void __generic_unplug_device(struct request_queue *q)
{
if (unlikely(blk_queue_stopped(q)))
return;
-キューが停止状態ならば何もしない。
--[[linux-2.6.25/blk_queue_stopped()]]
if (!blk_remove_plug(q))
return;
-plug フラグをクリアする。既にクリアされていたら何もせず終了する。
--[[linux-2.6.25/blk_remove_plug()]]
q->request_fn(q);
-リクエスト関数(デバイスドライバの実装者が登録する)を呼び出す。
--blk_init_queue_node で初期化される。
---[[linux-2.6.25/blk_init_queue_node()]]
}
EXPORT_SYMBOL(__generic_unplug_device);
-関数をエクスポートする。
--[[linux-2.6.25/EXPORT_SYMBOL()]]
*コメント [#x21436e5]