Generally, to learn anything, Google is best. But to use google well, you must also know some basic words commonly used - in your specific context. In this case, SCSI combined with words like FAQ, whitepaper, filetype:pdf, cheatsheet, howto, protocol, specification, wiki etc, just go along with your creativity. Important concepts is SCSI protocol and state-transition. Understand the concepts first, and requirements, before reading others' implementation. And when you start reading other's work, try to identify standard functions used, the coding styles and pattern of design. Stick to that standard, so as to enable others to comprehend your work. When I see scsi_debug.c, my mind goes blank, I guessed because the concept is not there yet. Here are some of the URLs from Google: http://en.wikipedia.org/wiki/SCSI http://en.wikipedia.org/wiki/ISCSI http://www.ibm.com/developerworks/power/library/pa-spec8.html?S_TACT=105AGX16&S_CMP=EDU http://www.t10.org/ --> lots of documentation here. http://www.bitpipe.com/rlist/term/SCSI-Protocol.html http://www.t10.org/scsi-3.htm http://www.awardone.com.au/menu/frame.htm?/tech/scsi_faq.htm http://www-128.ibm.com/developerworks/power/library/pa-spec8.html http://searchstorage.techtarget.com/sDefinition/0,,sid5_gci212949,00.html -- To unsubscribe from this list: send an email with "unsubscribe kernelnewbies" to ecartis@xxxxxxxxxxxx Please read the FAQ at http://kernelnewbies.org/FAQ