15 Oct, 2010

1 commit

  • Previously we tracked whether the integrity metadata had been remapped
    using a request flag. This was fine for low-level retries. However, if
    an I/O was redriven by upper layers we would end up remapping again,
    causing the retry to fail.

    Deprecate the REQ_INTEGRITY flag and introduce BIO_MAPPED_INTEGRITY
    which enables filesystems to notify lower layers that the bio in
    question has already been remapped.

    Signed-off-by: Martin K. Petersen
    Signed-off-by: Jens Axboe

    Martin K. Petersen
     

26 Nov, 2009

1 commit


02 Oct, 2009

2 commits

  • So far we have only issued DIF commands if CONFIG_BLK_DEV_INTEGRITY is
    enabled. However, communication between initiator and target should be
    independent of protection information DMA. There are DIF-only host
    adapters coming out that will be able to take advantage of this.

    Move the relevant DIF bits to sd.c.

    Signed-off-by: Martin K. Petersen
    Signed-off-by: James Bottomley

    Martin K. Petersen
     
  • The checksum format is orthogonal to whether the protection information
    is being passed on beyond the HBA or not. It is perfectly valid to use
    a non-T10 CRC with WRITE_STRIP and READ_INSERT.

    Consequently it no longer makes sense to explicitly refer to the
    conversion in the protection operation. Update sd_dif and lpfc
    accordingly.

    Signed-off-by: Martin K. Petersen
    Acked-by: Ihab Hamadi
    Signed-off-by: James Bottomley

    Martin K. Petersen
     

11 May, 2009

1 commit

  • With recent cleanups, there is no place where low level driver
    directly manipulates request fields. This means that the 'hard'
    request fields always equal the !hard fields. Convert all
    rq->sectors, nr_sectors and current_nr_sectors references to
    accessors.

    While at it, drop superflous blk_rq_pos() < 0 test in swim.c.

    [ Impact: use pos and nr_sectors accessors ]

    Signed-off-by: Tejun Heo
    Acked-by: Geert Uytterhoeven
    Tested-by: Grant Likely
    Acked-by: Grant Likely
    Tested-by: Adrian McMenamin
    Acked-by: Adrian McMenamin
    Acked-by: Mike Miller
    Cc: James Bottomley
    Cc: Bartlomiej Zolnierkiewicz
    Cc: Borislav Petkov
    Cc: Sergei Shtylyov
    Cc: Eric Moore
    Cc: Alan Stern
    Cc: FUJITA Tomonori
    Cc: Pete Zaitcev
    Cc: Stephen Rothwell
    Cc: Paul Clements
    Cc: Tim Waugh
    Cc: Jeff Garzik
    Cc: Jeremy Fitzhardinge
    Cc: Alex Dubov
    Cc: David Woodhouse
    Cc: Martin Schwidefsky
    Cc: Dario Ballabio
    Cc: David S. Miller
    Cc: Rusty Russell
    Cc: unsik Kim
    Cc: Laurent Vivier
    Signed-off-by: Jens Axboe

    Tejun Heo
     

05 Jan, 2009

3 commits


13 Oct, 2008

3 commits


27 Jul, 2008

1 commit

  • Support for controllers and disks that implement DIF protection
    information:

    - During command preparation the RDPROTECT/WRPROTECT must be set
    correctly if the target has DIF enabled.

    - READ(6) and WRITE(6) are not supported when DIF is on.

    - The controller must be told how to handle the I/O via the
    protection operation field in scsi_cmnd.

    - Refactor the I/O completion code that extracts failed LBA from the
    returned sense data and handle DIF failures correctly.

    - sd_dif.c implements the functions required to prepare and complete
    requests with protection information attached.

    Signed-off-by: Martin K. Petersen
    Signed-off-by: James Bottomley

    Martin K. Petersen