public inbox for linux-scsi@vger.kernel.org
 help / color / mirror / Atom feed
From: Harvey Harrison <harvey.harrison@gmail.com>
To: James Bottomley <James.Bottomley@HansenPartnership.com>
Cc: Andrew Morton <akpm@linux-foundation.org>, linux-scsi@vger.kernel.org
Subject: Re: [patch 13/17] scsi: remove private implementation of get_unaligned_be32
Date: Wed, 29 Oct 2008 15:29:28 -0700	[thread overview]
Message-ID: <1225319368.5496.3.camel@brick> (raw)
In-Reply-To: <1225318393.3257.24.camel@localhost.localdomain>

On Wed, 2008-10-29 at 17:13 -0500, James Bottomley wrote:
> > > No ... as I've said several times now, there's a debate going on about
> > > what we're supposed to be doing with all of this (either putting it in
> > > SCSI, pulling it out or just using the inline notation.
> > 
> > If I knew what the terrible word "it" is replacing, I'd know what the
> > above sentence means.
> 
> It being the correct way to handle multibyte SCSI problems.
> 
> > I'm kinda struggling to imagine why there's controversy, really.  scsi
> > has a private implementation of something which core kernel provides. 
> > Zap!
> 
> The main problems with the above are that a lot of people don't
> necessarily think Big Endian when they see SCSI (even though it's a BE
> bus), so the get_unaligned_beXX looks strange, and secondly most of the
> arrays we operate on are simple u8 ones, so sparse gets annoyed about
> sending a non BE quantity through a BE conversion ... I bet it even does
> this for the above patch.

It does not, the get_unaligned_* family is not typesafe (takes a void *)
as lots of people have u8 arrays or similar.  Even though it probably
should be.

> 
> > >  I'm not putting
> > > a patch like this in until we at least get some consensus.
> > 
> > I'll hang onto it, so there's nowhere to hide...
> 
> OK.
> 

Did you ever have some time to think about my suggestion regarding
defining some common packed structs for the different command formats
taht could be endian-annotated, then use the unaligned helpers against
pointers to these structs...so sparse would actually spot endian
mixups in scsi thereafter?

Harvey


  reply	other threads:[~2008-10-29 22:29 UTC|newest]

Thread overview: 7+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2008-10-29 21:24 [patch 13/17] scsi: remove private implementation of get_unaligned_be32 akpm
2008-10-29 21:48 ` James Bottomley
2008-10-29 22:07   ` Andrew Morton
2008-10-29 22:13     ` James Bottomley
2008-10-29 22:29       ` Harvey Harrison [this message]
2008-10-30  1:03         ` Harvey Harrison
2008-10-30 14:17           ` James Bottomley

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=1225319368.5496.3.camel@brick \
    --to=harvey.harrison@gmail.com \
    --cc=James.Bottomley@HansenPartnership.com \
    --cc=akpm@linux-foundation.org \
    --cc=linux-scsi@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