From: "Martin K. Petersen" <martin.petersen@oracle.com>
To: Mikulas Patocka <mpatocka@redhat.com>
Cc: "Martin K. Petersen" <martin.petersen@oracle.com>,
Christoph Hellwig <hch@lst.de>, Milan Broz <gmazyland@gmail.com>,
linux-block@vger.kernel.org, axboe@kernel.dk,
dm-devel@redhat.com
Subject: Re: [PATCH] bio-integrity: revert "stop abusing bi_end_io"
Date: Mon, 07 Aug 2017 11:48:55 -0400 [thread overview]
Message-ID: <yq1valzbcpk.fsf@oracle.com> (raw)
In-Reply-To: <alpine.LRH.2.02.1708061441120.9109@file01.intranet.prod.int.rdu2.redhat.com> (Mikulas Patocka's message of "Sun, 6 Aug 2017 14:49:23 -0400 (EDT)")
Mikulas,
> If you create the integrity tag at or above device mapper level, you
> will run into problems because the same device can be accessed using
> device mapper and using physical volume /dev/sd*. If you create
> integrity tags at device mapper level, they will contain device
> mapper's logical sector number and the sector number won't match if
> you access the device directly using /dev/sd*.
For writes, the bip seed value is adjusted every time a bio is cloned,
sliced and diced as it traverses partitioning/MD/DM. And then at the
bottom of the stack, the ref tag values in the protection information
buffer are verified against the adjusted seed value and remapped
according to the starting logical block number. The reverse is taking
place for reads.
This is much faster than doing a remapping of the actual protection
buffer values every time the I/O transitions from one address space to
the other. In addition, some HBA hardware allows us to program the PI
engine with the seed value. So the submitter value to LBA conversion can
be done on the fly in hardware.
--
Martin K. Petersen Oracle Linux Engineering
next prev parent reply other threads:[~2017-08-07 15:48 UTC|newest]
Thread overview: 15+ messages / expand[flat|nested] mbox.gz Atom feed top
2017-08-02 12:27 [RFC PATCH] bio-integrity: Fix regression if profile verify_fn is NULL Milan Broz
2017-08-02 12:55 ` Christoph Hellwig
2017-08-02 13:15 ` Milan Broz
2017-08-02 14:11 ` Martin K. Petersen
2017-08-02 15:24 ` Milan Broz
2017-08-03 14:10 ` [PATCH] bio-integrity: revert "stop abusing bi_end_io" Mikulas Patocka
2017-08-05 13:44 ` Christoph Hellwig
2017-08-05 14:46 ` Mikulas Patocka
2017-08-05 20:25 ` Martin K. Petersen
2017-08-06 18:49 ` Mikulas Patocka
2017-08-07 15:48 ` Martin K. Petersen [this message]
2017-08-08 6:47 ` Milan Broz
2017-08-05 20:19 ` Martin K. Petersen
2017-08-09 14:07 ` Christoph Hellwig
2017-08-06 13:30 ` [RFC PATCH] bio-integrity: Fix regression if profile verify_fn is NULL Thorsten Leemhuis
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=yq1valzbcpk.fsf@oracle.com \
--to=martin.petersen@oracle.com \
--cc=axboe@kernel.dk \
--cc=dm-devel@redhat.com \
--cc=gmazyland@gmail.com \
--cc=hch@lst.de \
--cc=linux-block@vger.kernel.org \
--cc=mpatocka@redhat.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;
as well as URLs for NNTP newsgroup(s).