From: "Martin K. Petersen" <martin.petersen@oracle.com>
To: "Sam Bradshaw \(sbradshaw\)" <sbradshaw@micron.com>
Cc: "Martin K. Petersen" <martin.petersen@oracle.com>,
"axboe\@kernel.dk" <axboe@kernel.dk>,
"linux-kernel\@vger.kernel.org" <linux-kernel@vger.kernel.org>
Subject: Re: [PATCH] block: pass correct seed to integrity metadata generation function
Date: Wed, 07 Jan 2015 19:19:04 -0500 [thread overview]
Message-ID: <yq1iogi3z0n.fsf@sermon.lab.mkp.net> (raw)
In-Reply-To: <80B89753B40C5141A3E2D53FE7A2A8A994634DCA@NTXBOIMBX02.micron.com> (Sam Bradshaw's message of "Wed, 7 Jan 2015 23:46:13 +0000")
>>>>> "Sam" == Sam Bradshaw (sbradshaw) <sbradshaw@micron.com> writes:
Sam> Yes.
The seed is just a seed. We happen to set it to the (block layer) sector
number if nothing else is provided but it's essentially just an
incrementing counter starting at an arbitrary value chosen by the
caller.
Since an I/O may get remapped many times as block devices are stacked
(DM, MD, stripe splits, partition offset shifts, etc.) the seed is not
expected to match the LBA on the storage device. That is almost never
the case.
In SCSI we do a remapping pass before submitting a WRITE or upon
completion of a READ. You will have to do the same for NVMe.
It was done this way to avoid remapping the ref tag several times. We
adjust the seed as the I/O gets sliced and diced and only map the PI
pages once to do a single traversal at the bottom of the stack.
For next gen devices we simply pass the seed to the hardware and let it
handle the remapping. This saves us having to map the PI pages and pull
them through the cache.
--
Martin K. Petersen Oracle Linux Engineering
next prev parent reply other threads:[~2015-01-08 0:19 UTC|newest]
Thread overview: 8+ messages / expand[flat|nested] mbox.gz Atom feed top
2014-12-19 0:11 Sam Bradshaw
2015-01-07 23:08 ` Sam Bradshaw
2015-01-07 23:25 ` Martin K. Petersen
2015-01-07 23:30 ` Sam Bradshaw (sbradshaw)
2015-01-07 23:42 ` Martin K. Petersen
2015-01-07 23:46 ` Sam Bradshaw (sbradshaw)
2015-01-08 0:19 ` Martin K. Petersen [this message]
2015-01-08 0:59 ` Sam Bradshaw (sbradshaw)
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=yq1iogi3z0n.fsf@sermon.lab.mkp.net \
--to=martin.petersen@oracle.com \
--cc=axboe@kernel.dk \
--cc=linux-kernel@vger.kernel.org \
--cc=sbradshaw@micron.com \
/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®