All of lore.kernel.org
 help / color / mirror / Atom feed
From: Alex Elsayed <eternaleye@gmail.com>
To: linux-scsi@vger.kernel.org
Cc: target-devel@vger.kernel.org, linux-kernel@vger.kernel.org
Subject: Re: [PATCH 4/4] target: Add a user-passthrough backstore
Date: Fri, 19 Sep 2014 14:43:14 -0700	[thread overview]
Message-ID: <lvi81j$ud8$2@ger.gmane.org> (raw)
In-Reply-To: 1411161279.23258.26.camel@haakon3.risingtidesystems.com

Nicholas A. Bellinger wrote:

<snip>
> So the idea of allowing the in-kernel CDB emulation to run after
> user-space has returned unsupported opcode is problematic for a couple
> of different reasons.
> 
> First, if the correct feature bits in standard INQUIRY + EVPD INQUIRY,
> etc are not populated by user-space to match what in-kernel CDB
> emulation actually supports, this can result in potentially undefined
> results initiator side.
> 
> Also for example, if user-space decided to emulate only a subset of PR
> operations, and leaves the rest of it up to the in-kernel emulation,
> there's not really a way to sync current state between the two, which
> also can end up with undefined results.
> 
> So that said, I think a saner approach would be two define two modes of
> operation for TCMU:
> 
>    *) Passthrough Mode: All CDBs are passed to user-space, and no
>       in-kernel emulation is done in the event of an unsupported
>       opcode response.
> 
>    *) I/O Mode: I/O related CDBs are passed into user-space, but
>       all control CDBs continue to be processed by in-kernel emulation.
>       This effectively limits operation to TYPE_DISK, but with this mode
>       it's probably OK to assume this.
> 
> This seems like the best trade-off between flexibility when everything
> should be handled by user-space, vs. functionality when only block
> remapping of I/O is occurring in user-space code.

The problem there is that the first case has all the issues of pscsi and 
simply becomes a performance optimization over tgt+iscsi client+pscsi and 
the latter case excludes the main use cases I'm interested in - OSDs, media 
changers, optical discs (the biggest thing for me), and so forth.

One of the main things I want to do with this is hook up a plugin that uses 
libmirage to handle various optical disc image formats.


  reply	other threads:[~2014-09-19 21:43 UTC|newest]

Thread overview: 16+ 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 [this message]
2014-09-19 23:39       ` Nicholas A. Bellinger
2014-09-19 23:51         ` Alex Elsayed
2014-09-19 23:51           ` Alex Elsayed
2014-09-20  0:35           ` Andy Grover
2014-09-20  0:40             ` Alex Elsayed
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='lvi81j$ud8$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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.