The subject is a bit confusing - it's not the full request parsing but just some helpers.
> +static int scsi_req_length(SCSIRequest *req, uint8_t *cmd) > +{ > + switch (cmd[0] >> 5) { I know qemu code tends to be very uncommented and the code this is lifted from too, but some comments on how transfer and command length related to the group in the higher bit of the command would be pretty useful for the casual observer of this code.