I'm happy to implement SPACE(16) instead. I believe the opcode for SPACE(16) is 0x91, but in include/scsi/scsi_proto.h that value is listed as SYNCHRONIZE_CACHE_16. I couldn't figure out which was wrong, so I proposed this to at least prevent the interface from doing the wrong thing. On Tue, Jan 26, 2021 at 11:26 PM Martin K. Petersen <martin.petersen@xxxxxxxxxx> wrote: > > > Patrick, > > > Values greater than 0x7FFFFF do not fit in the 24 bit big endian two's > > complement integer for the underlying scsi SPACE(6) command. > > I was hoping Kai would chime in. > > However, since SPACE(6) has been deprecated for a while, I am not so > keen on blindly enforcing this in the ioctl interface. I would rather > see SPACE(16) support added and then have the supplied count value be > validated based on whether the 6 or 16 byte command is being issued to > the device. > > -- > Martin K. Petersen Oracle Linux Engineering