The main change is the addition of a new interface structure called "sg_io_hdr". The existing interface structure (called "sg_header") was found to be inflexible requiring the concatenation of raw data together with meta-data in the read() and write() commands.
sg_io_hdr {new interface structure} SG_IO {new ioctl} direct IO {present but commented out, see ALLOW_DIO} procfs output {new information in /proc/scsi/sg directory} boot/module parameters {new}
Up to 64 bytes of sense data can be obtained from the sg_io_hdr interface structure. Also a residual count associated with the data transfer is available (if the lower level driver supports it, if not the residual count will be 0).