target: Merge sbc_verify_dif_read|write
authorSagi Grimberg <sagig@mellanox.com>
Sun, 19 Apr 2015 17:27:19 +0000 (20:27 +0300)
committerNicholas Bellinger <nab@linux-iscsi.org>
Sun, 31 May 2015 05:41:41 +0000 (22:41 -0700)
commitf75b6fae1a1d0a79dcbb9cbaed1d06bf3fe57a3c
treeb255e230aa10d9ad6a5e6d9944d7f82eb78bf662
parentb2feda4feb1b0ea74c0916b4a35b038bbfef9c82
target: Merge sbc_verify_dif_read|write

Instead of providing DIF verify routines for read/write
that are almost identical and conditionally copy protection
information, just let the caller do the right thing.

Have a single sbc_dif_verify that handles an sgl (that
does NOT copy any data) and a protection information copy
routine used by rd_mcp and fileio backend.

In the WRITE case, call sbc_dif_verify with cmd->t_prot_sg
and then do the copy from it to local sgl (assuming the verify
succeeded of course). In the READ case, call sbc_dif_verify
with the local sgl and if it succeeds, copy it to t_prot_sg (or
not if we are stripping it).

(Fix apply breakage from commit c836777 - nab)

Tested-by: Akinobu Mita <akinobu.mita@gmail.com>
Signed-off-by: Sagi Grimberg <sagig@mellanox.com>
Signed-off-by: Nicholas Bellinger <nab@linux-iscsi.org>
drivers/target/target_core_file.c
drivers/target/target_core_rd.c
drivers/target/target_core_sbc.c
drivers/target/target_core_transport.c
include/target/target_core_backend.h