linux-kernelscsi

What is the meaning of se_*** prefix in LIO SCSI Target code base


LIO code base is scattered w/ a lot of constructs prefixed w/ se (e.g. se_cmd, se_session etc.)

What is the meaning of this se prefix ? (I've failed to find some comment about it in LIO kernel code base)


Solution

  • It came from "Storage Engine" term which is used widely in LIO.

    In addition to modularizing the transport protocol used for carrying SCSI commands ("fabrics"), the Linux kernel target, LIO, also modularizes the actual data storage as well. These are referred to as "backstores" or "storage engines". The target comes with backstores that allow a file, a block device, RAM, or another SCSI device to be used for the local storage needed for the exported SCSI LUN. Like the rest of LIO, these are implemented entirely as kernel code.