Re: [PATCH v7 08/14] nvmet-core: allow one host per passthru-ctrl

From: Sagi Grimberg
Date: Thu Aug 22 2019 - 15:17:45 EST



I don't understand why we don't limit a regular ctrl to single access and we do it for the PT ctrl.

I guess the block layer helps to sync between multiple access in parallel but we can do it as well.

Also, let's say you limit the access to this subsystem to 1 user, the bdev is still accessibly for local user and also you can create a different subsystem that will use this device (PT and non-PT ctrl).

Sagi,

can you explain the trouble you meant and how this limitation solve it ?

Its different to emulate the controller with all its admin
commands vs. passing it through to the nvme device.. (think of format nvm)



we don't need to support format command for PT ctrl as we don't support other commands such create_sq/cq.

That is just an example, basically every command that we are not aware
of we simply passthru to the drive without knowing the implications
on a multi-host environment..

If we were to change the logic of nvmet_parse_passthru_admin_cmd to
have the default case do nvmet_parse_admin_cmd, and only have
the vendor-specific space opcodes do nvmet_passthru_execute_cmd
then I could not see at the moment how we can break a multi-host
export...