generic_make_request fucntion for scsi_disk

From: Ravish Tayal
Date: Sat Jun 20 2009 - 10:05:33 EST


I am debugging Filesystem code for USB mass storage devices. I need
help to figure out after generic_make_request how the request is
placed to scsi disk (sd) requeset queue and than how sd qeueuecommand
to usb_storeage thread. (in which context, is it system call context)

inside generic_make_request

1. q = bdev_get_queue(bio->bi_bdev); [is sd.c register queue this
queue or any other scsi file?]
2. ret = q->make_request_fn(q, bio); [which file contain this
make_request_fn for scsi disk driver (generic)]

As per my unsderanding flow is like
Fat_writepage ->_block_write_full_page --> blkdev_writepage-->
block_write_full_page-->submit_bh-->generic_make_request ??? (sd ??)
----> queuecommand

Please suggest any sorce file, link or document.

with thanks
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at
Please read the FAQ at