From: Alex Elsayed <eternaleye@gmail.com>
To: target-devel@vger.kernel.org
Cc: linux-scsi@vger.kernel.org, linux-kernel@vger.kernel.org
Subject: Re: [PATCH 4/4] target: Add a user-passthrough backstore
Date: Fri, 19 Sep 2014 17:40:32 -0700 [thread overview]
Message-ID: <lviie0$bh5$2@ger.gmane.org> (raw)
In-Reply-To: 541CCBD1.8050606@redhat.com
Andy Grover wrote:
> On 09/19/2014 04:51 PM, Alex Elsayed wrote:
>
>>> Not sure I follow.. How does the proposed passthrough mode prevent
>>> someone from emulating OSDs, media changers, optical disks or anything
>>> else in userspace with TCMU..?
>>>
>>> The main thing that the above comments highlight is why attempting to
>>> combine the existing in-kernel emulation with a userspace backend
>>> providing it's own emulation can open up a number of problems with
>>> mismatched state between the two.
>>
>> It doesn't prevent it, but it _does_ put it in the exact same place as
>> PSCSI regarding the warnings on the wiki. It means that if someone wants
>> to implement (say) the optical disc or OSD CDBs, they then lose out on
>> ALUA &co unless they implement it themselves - which seems unnecessary
>> and painful, since those should really be disjoint. In particular, an OSD
>> backed by RADOS objects could be a very nice thing indeed, _and_ could
>> really benefit from ALUA.
>
> Some possible solutions:
>
> 1) The first time TCMU sees an opcode it passes it up and notes whether
> it is handled or not. If it was handled then future cmds with that
> opcode are passed up but not retried in the kernel. If it was not
> handled then it and all future commands with that opcode are handled by
> the kernel and not passed up.
>
> 2) Same as #1 but TCMU operates on SCSI spec granularity - e.g. handling
> any SSC opcode means userspace must handle all SSC commands.
>
> 3) Like #2 but define opcode groupings that must all be implemented
> together, independent of the specifications.
>
> 4) Have passthrough mode set at creation, but with more than two modes,
> either grouped by SCSI spec or our own groupings.
>
> 5) Never pass up certain opcodes, like the ALUA ones or whatever.
>
>
> Have a good weekend -- Andy
I think 4 would probably be best, and if defining more modes is backwards-
compatible then we don't really even have to decide between 2 and 3. I do
think 3 is the more useful one, but it's likely also more effort to figure
out a usable set than 2 would be.
Also, it might be good to allow more than one grouping, and just union them.
next prev parent reply other threads:[~2014-09-20 0:40 UTC|newest]
Thread overview: 15+ messages / expand[flat|nested] mbox.gz Atom feed top
2014-09-15 23:12 [PATCH 0/4] Userspace Passthrough backstore for LIO Andy Grover
2014-09-15 23:12 ` [PATCH 1/4] target: Remove unneeded check in sbc_parse_cdb Andy Grover
2014-09-15 23:12 ` [PATCH 2/4] uio: Export definition of struct uio_device Andy Grover
2014-09-15 23:12 ` [PATCH 3/4] target: Add documentation on the target userspace pass-through driver Andy Grover
2014-09-15 23:12 ` [PATCH 4/4] target: Add a user-passthrough backstore Andy Grover
2014-09-19 21:14 ` Nicholas A. Bellinger
2014-09-19 21:43 ` Alex Elsayed
2014-09-19 23:39 ` Nicholas A. Bellinger
2014-09-19 23:51 ` Alex Elsayed
2014-09-20 0:35 ` Andy Grover
2014-09-20 0:40 ` Alex Elsayed [this message]
2014-09-22 20:58 ` Nicholas A. Bellinger
2014-09-22 21:00 ` Andy Grover
2014-09-22 21:03 ` Nicholas A. Bellinger
2014-09-22 20:36 ` Nicholas A. Bellinger
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to='lviie0$bh5$2@ger.gmane.org' \
--to=eternaleye@gmail.com \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-scsi@vger.kernel.org \
--cc=target-devel@vger.kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox