storage - SCSI to NVME Translation -
we developing application manage nvme
devices in windows 10. not supposed use our own driver talk drives, sending of commands, have rely on whatever available windows 10.
for commands security receive
, security send
, using support of scsi-nvme
translation, in scsi command sent host , translated nvme
command scsi kernel stack, , sent drive.
we can see commands reaching drive, translation not able send correct namespace identifier drive in case of security receive
command, , therefore, scsi returning error in sense data access denied, invalid lu identifier
.
scsi-nvme translation not allow setting namespace identifier field in cdb. there other way setting namespace identifier in scsi command sending host side? or driver error sending incorrect data drive?
other apis of microsoft (like storage query property) set namespace id themselves, , don't have set user side.
if has worked in similar kind of environment, can out, helpful.
this interesting question, i'm not entirely sure how windows 10 driver works on inside in terms of how specification intends translation work, shouldn't need explicitly specify nsid in userspace.
on windows nvme drivers i've worked with, controller exposed it's adapter handle , namespaces exposed physical drive handles. intention scsi commands go physical drive handles , native nvme commands go adapter. if send scsi command physical drive handle, intended namespace implicit each 1 of handles directly connected namespace , therefore should set driver during translation. how works on ofa (openfabrics alliance) driver , on derivatives.
if sending scsi command physical drive , namespace isn't filled in, sounds driver bug. if sending scsi command adapter, (and doesn't rejected os/driver), try sending physical drive corresponding desired namespace id.
Comments
Post a Comment