mirror of https://lore.kernel.org/lkml/
 help / color / mirror / Atom feed
From: "Nicholas A. Bellinger" <nab@linux-iscsi.org>
To: Christoph Hellwig <hch@infradead.org>
Cc: linux-scsi <linux-scsi@vger.kernel.org>,
	linux-kernel <linux-kernel@vger.kernel.org>,
	FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>,
	Mike Christie <michaelc@cs.wisc.edu>,
	Christoph Hellwig <hch@lst.de>, Hannes Reinecke <hare@suse.de>,
	James Bottomley <James.Bottomley@suse.de>,
	Jens Axboe <axboe@kernel.dk>, Boaz Harrosh <bharrosh@panasas.com>
Subject: Re: [RFCv3 00/21] TCM Core and TCM_Loop patches for v2.6.37
Date: Mon, 08 Nov 2010 13:10:36 -0800	[thread overview]
Message-ID: <1289250636.27226.50.camel@haakon2.linux-iscsi.org> (raw)
In-Reply-To: <20101108143307.GA22121@infradead.org>

On Mon, 2010-11-08 at 09:33 -0500, Christoph Hellwig wrote:
> Hi Nick,
> 
> I promised you and James to get back to a throughout review for more
> than just the backends.  It's still in progress, but here is what I
> think is most important:
> 
>  - Sort of the the namepspace for both the file names and function
>    names.  I think you reluctantly agreed to do that a while ago anyway,
>    but I think it's time to bite the bullet now.  Please agree on a
>    common prefix for both function names and modules.  I think the
>    target name in the directory structure is the best one, but I really
>    don't care too much.  The transport_ prefix used in some code is
>    really misleading, and the se_ in other isn't too helpful either.

Fair enough.  So for the sake on continuity I am happy to rename
functions that are available externally to frontends with a target_*()
prefix and primary data structures to a tcm_* prefix.  

>  - make sure backends, frontends and core/ code under drivers/target/
>    are properly separated

So at this point only the backend code still lives in drivers/target,
while everything related to frontends resides in
drivers/target/$TCM_MODNAME.  Now moving IBLOCK, FILEIO, PSCSI and
RAMDISK .c and .h files into drivers/target/backend/ to resolve this
item..

>  - clean up the exported - both as in EXPORT_SYMBOL and simply global
>    functions.  There's a lot of things that should be static or not
>    exported to modules but is right now.  The scripts/namespace.pl
>    script in the kernel tree is a great helper for that.

<nod>  I will follow up with an audit of this code, most of which is
coming from target_core_transport.c

>  - Similarly the headers could use some re-arrangement.  I've been
>    trying to make sense of what each header does but couldn't find it.
>    In the optimal world you'd have one header for the front-end API,
>    one of the back-end API and one or more for common structures
>    and defintions.  All with a comment explaining what they are there
>    for.
> 

Yes, the documentation that I have been promising will help clear this
up.  target_core_transport.h contains the struct se_subsystem_api that
is used for backend code, and target_core_fabric_ops.h contains the
struct target_core_fabric_ops used by frontend drivers.  There is still
a handful of other includes required for frontend drivers, but I did
spend time on this recently to clean up what is made available in
include/target.  

--nab


  parent reply	other threads:[~2010-11-08 21:15 UTC|newest]

Thread overview: 11+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2010-10-18 22:35 Nicholas A. Bellinger
2010-11-08 14:33 ` Christoph Hellwig
2010-11-08 14:50   ` FUJITA Tomonori
2010-11-08 15:08     ` Christoph Hellwig
2010-11-08 21:10   ` Nicholas A. Bellinger [this message]
2010-11-08 14:39 ` Christoph Hellwig
2010-11-08 21:20   ` Nicholas A. Bellinger
2010-11-08 21:48     ` Christoph Hellwig
2010-11-08 22:04       ` Nicholas A. Bellinger
2010-11-08 22:37         ` Christoph Hellwig
2010-11-08 18:23 ` Christoph Hellwig

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=1289250636.27226.50.camel@haakon2.linux-iscsi.org \
    --to=nab@linux-iscsi.org \
    --cc=James.Bottomley@suse.de \
    --cc=axboe@kernel.dk \
    --cc=bharrosh@panasas.com \
    --cc=fujita.tomonori@lab.ntt.co.jp \
    --cc=hare@suse.de \
    --cc=hch@infradead.org \
    --cc=hch@lst.de \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-scsi@vger.kernel.org \
    --cc=michaelc@cs.wisc.edu \
    /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

all inboxes | Powered by JetHome®