public inbox for linux-scsi@vger.kernel.org
 help / color / mirror / Atom feed
From: "Martin K. Petersen" <martin.petersen@oracle.com>
To: "Moore, Eric" <Eric.Moore@lsi.com>
Cc: "Martin K. Petersen" <martin.petersen@oracle.com>,
	"linux-scsi@vger.kernel.org" <linux-scsi@vger.kernel.org>
Subject: Re: [PATCH 9/13] mpt2sas: T10 DIF Support - EEDP
Date: Wed, 15 Apr 2009 22:54:31 -0400	[thread overview]
Message-ID: <yq14owpxq8o.fsf@sermon.lab.mkp.net> (raw)
In-Reply-To: <660360F4F2570145BD872F298951B17A76B5F27C@cosmail03.lsi.com> (Eric Moore's message of "Wed, 15 Apr 2009 15:53:35 -0700")

>>>>> "Eric" == Moore, Eric <Eric.Moore@lsi.com> writes:

Eric,

Eric> So what I did is good for type1, which is set the ref tag to the
Eric> lower 32bit of the lba, and the app tag to zero.

That's fine.


Eric> For type 3, I asked others for suggestions from a number of
Eric> co-workers and the software archetic, and they said to set the
Eric> tags the same way I did for type 1.  Due to my limitations with
Eric> controller firmware, what do you suggest for type 3?

Well, so technically you are not supposed to set the reference tag to
the LBA in Type 3.  The 16 bits of the app tag + the 32 bits of the ref
tag are considered opaque storage.

The storage device has no way of checking neither app, nor ref with Type
3.  It can only check the guard tag.

My main concern is if you always expect the ref to be lower 32 bits of
LBA and have the HBA firmware verify that on READ.  Because the ref tag
could conceivably contain anything and the I/O might fail.

I realize this is a bit academic given that with the current setup your
HBA will be doing both writing and reading.  But in a multi-initiator
setup or for future compatibility it might throw a wrench in the
machinery to have the HBA check the ref tag on Type 3.

For Type 1 I expect you to check guard + match ref tag to CDB LBA +
offset.

For Type 2 I expect you to check guard + match ref tag to E.I.LBA in
32-byte CDB + offset.

For Type 3 I expect you to check guard only.

-- 
Martin K. Petersen	Oracle Linux Engineering

  reply	other threads:[~2009-04-16  2:54 UTC|newest]

Thread overview: 8+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2009-04-14  4:35 [PATCH 9/13] mpt2sas: T10 DIF Support - EEDP Eric Moore
2009-04-15 19:31 ` Martin K. Petersen
2009-04-15 20:07   ` Moore, Eric
2009-04-15 22:26     ` Martin K. Petersen
2009-04-15 22:53       ` Moore, Eric
2009-04-16  2:54         ` Martin K. Petersen [this message]
  -- strict thread matches above, loose matches on Subject: below --
2009-04-16 16:45 Eric Moore
2009-04-17  0:49 ` Martin K. Petersen

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=yq14owpxq8o.fsf@sermon.lab.mkp.net \
    --to=martin.petersen@oracle.com \
    --cc=Eric.Moore@lsi.com \
    --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