[dm-devel] [PATCH] bio-integrity: revert "stop abusing bi_end_io"
Mikulas Patocka
mpatocka at redhat.com
Sun Aug 6 18:49:23 UTC 2017
On Sat, 5 Aug 2017, Martin K. Petersen wrote:
> Mikulas,
>
> > The sector number in the integrity tag must match the physical sector
> > number. So, it must be verified at the bottom.
>
> The ref tag seed matches the submitter block number (typically block
> layer sector for the top device) and is remapped to and from the LBA by
> the SCSI disk driver or HBA firmware.
>
> So the verification is designed to be done by the top level entity that
> attaches the protection information to the bio. In this case
> bio_integrity_prep().
bio_integrity_prep is called by blk_queue_bio - that is the lowest level
physical disk, not the top level. It is not called by device mapper.
Documentation/block/data-integrity.txt says that bio_integrity_prep() can
be called by integrity-aware filesystem, but it seems that no such
filesystem exists.
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*.
> --
> Martin K. Petersen Oracle Linux Engineering
Mikulas
More information about the dm-devel
mailing list