User: Password:
|
|
Subscribe / Log in / New account

Data integrity update

From:  "Martin K. Petersen" <martin.petersen@oracle.com>
To:  axboe@fb.com, nab@daterainc.com, sagig@dev.mellanox.co.il, linux-scsi@vger.kernel.org
Subject:  Data integrity update
Date:  Wed, 28 May 2014 23:28:34 -0400
Message-ID:  <1401334128-15499-1-git-send-email-martin.petersen@oracle.com>
Archive-link:  Article

Here's an update to the block layer and SCSI data integrity code. There
are a whole bunch of cleanups, some as a result of the work that Kent
did to the block layer a while back. A bunch of dead code is removed,
mainly the tagging functionality that nobody ended up using.

There's also some prep work for the copy offload patches (separate
series) that like the integrity code rely on being able to store
additional information in each bio.

The new functionality introduced is:

 - Exposing whether disks are formatted with PI in the bdev integrity
   profile so we can reliably distinguish between DIX Type 0 and DIX
   Type 1

 - Allowing the choice of checksum and tag checking to be specified on a
   per-I/O basis

 - Data integrity specific error numbers

 - Moving the T10 protection information specifics to lib/ so that
   non-sd drivers can benefit from them

 - Adding support for a subset of DIX1.1 to the scsi_cmnd flags. These
   flags instruct the HBA drivers how to set up the protected transfer

 Documentation/ABI/testing/sysfs-block  |    9 
 Documentation/block/data-integrity.txt |   54 -----
 block/Kconfig                          |    1 
 block/bio-integrity.c                  |  273 ++++++--------------------
 block/blk-core.c                       |   12 +
 block/blk-integrity.c                  |  102 ++++++---
 block/blk-merge.c                      |    6 
 drivers/md/dm-mpath.c                  |    9 
 drivers/scsi/Kconfig                   |    2 
 drivers/scsi/scsi_lib.c                |   30 ++
 drivers/scsi/sd.c                      |   56 ++++-
 drivers/scsi/sd.h                      |    4 
 drivers/scsi/sd_dif.c                  |  337 +++++----------------------------
 include/linux/bio.h                    |   62 ++++--
 include/linux/blk_types.h              |   14 -
 include/linux/blkdev.h                 |   54 ++---
 include/linux/crc-t10dif.h             |    5 
 include/linux/t10-pi.h                 |   28 ++
 include/scsi/scsi_cmnd.h               |   29 ++
 include/uapi/asm-generic/errno.h       |   11 +
 lib/Kconfig                            |    7 
 lib/Makefile                           |    2 
 lib/t10-pi.c                           |  164 ++++++++++++++++
 23 files changed, 627 insertions(+), 644 deletions(-)

-- 
Martin K. Petersen	Oracle Linux Engineering
--
To unsubscribe from this list: send the line "unsubscribe linux-scsi" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html



Copyright © 2014, Eklektix, Inc.
Comments and public postings are copyrighted by their creators.
Linux is a registered trademark of Linus Torvalds