Signed-off-by: Christian Ehrhardt <christian.ehrha...@canonical.com>
---
 ...raseReserved-override-driver-queue_p.patch |  74 ++++++++
 ...BlockEraseReserved-skip-unless-iSCSI.patch |  39 ++++
 ...e-Write-override-driver-queue_pdu-ca.patch |  71 ++++++++
 ...e-Write-skip-InvalidDataOutSize-unle.patch |  39 ++++
 ...EraseReserved-override-driver-queue_.patch |  74 ++++++++
 ...ryptoEraseReserved-skip-unless-iSCSI.patch |  39 ++++
 ...iteReserved-override-driver-queue_pd.patch |  68 +++++++
 ...-test-tool-Use-extern-int-in-headers.patch |  58 ++++++
 ...mdSnTooHigh-override-driver-queue_pd.patch |  68 +++++++
 ...mdSnTooLow-override-driver-queue_pdu.patch |  69 ++++++++
 ...ataSnInvalid-override-driver-queue_p.patch | 166 ++++++++++++++++++
 ...-unused-iscsi_queue_pdu-symbol-overl.patch | 104 +++++++++++
 debian/patches/series                         |  12 ++
 13 files changed, 881 insertions(+)
 create mode 100644 
debian/patches/lp-1894129-test-tool-BlockEraseReserved-override-driver-queue_p.patch
 create mode 100644 
debian/patches/lp-1894129-test-tool-BlockEraseReserved-skip-unless-iSCSI.patch
 create mode 100644 
debian/patches/lp-1894129-test-tool-Compare-Write-override-driver-queue_pdu-ca.patch
 create mode 100644 
debian/patches/lp-1894129-test-tool-Compare-Write-skip-InvalidDataOutSize-unle.patch
 create mode 100644 
debian/patches/lp-1894129-test-tool-CryptoEraseReserved-override-driver-queue_.patch
 create mode 100644 
debian/patches/lp-1894129-test-tool-CryptoEraseReserved-skip-unless-iSCSI.patch
 create mode 100644 
debian/patches/lp-1894129-test-tool-OverwriteReserved-override-driver-queue_pd.patch
 create mode 100644 
debian/patches/lp-1894129-test-tool-Use-extern-int-in-headers.patch
 create mode 100644 
debian/patches/lp-1894129-test-tool-iSCSICmdSnTooHigh-override-driver-queue_pd.patch
 create mode 100644 
debian/patches/lp-1894129-test-tool-iSCSICmdSnTooLow-override-driver-queue_pdu.patch
 create mode 100644 
debian/patches/lp-1894129-test-tool-iSCSIDataSnInvalid-override-driver-queue_p.patch
 create mode 100644 
debian/patches/lp-1894129-test-tool-remove-unused-iscsi_queue_pdu-symbol-overl.patch

diff --git 
a/debian/patches/lp-1894129-test-tool-BlockEraseReserved-override-driver-queue_p.patch
 
b/debian/patches/lp-1894129-test-tool-BlockEraseReserved-override-driver-queue_p.patch
new file mode 100644
index 0000000..68def73
--- /dev/null
+++ 
b/debian/patches/lp-1894129-test-tool-BlockEraseReserved-override-driver-queue_p.patch
@@ -0,0 +1,74 @@
+From b705f9e5240583fb862f16d603e5cf2120e5d54c Mon Sep 17 00:00:00 2001
+From: David Disseldorp <dd...@suse.de>
+Date: Mon, 16 Sep 2019 14:46:28 +0200
+Subject: [PATCH] test-tool/BlockEraseReserved: override driver queue_pdu()
+ callback
+
+In preparation for removing the test-tool iscsi_queue_pdu() dlsym
+overload hack, convert this test to use the regular transport driver
+callback for this purpose.
+
+Signed-off-by: David Disseldorp <dd...@suse.de>
+
+Origin: upstream, https://github.com/sahlberg/libiscsi/commit/b705f9e5
+Bug-Ubuntu: https://bugs.launchpad.net/bugs/1894129
+Last-Update: 2020-09-08
+
+---
+ test-tool/test_sanitize_block_erase_reserved.c | 17 +++++++++++------
+ 1 file changed, 11 insertions(+), 6 deletions(-)
+
+diff --git a/test-tool/test_sanitize_block_erase_reserved.c 
b/test-tool/test_sanitize_block_erase_reserved.c
+index fcb862e..4a0d2cb 100644
+--- a/test-tool/test_sanitize_block_erase_reserved.c
++++ b/test-tool/test_sanitize_block_erase_reserved.c
+@@ -25,8 +25,9 @@
+ #include "iscsi-test-cu.h"
+ 
+ static int change_num;
++static struct iscsi_transport iscsi_drv_orig;
+ 
+-static int my_iscsi_queue_pdu(struct iscsi_context *iscsi _U_, struct 
iscsi_pdu *pdu)
++static int my_iscsi_queue_pdu(struct iscsi_context *iscsi, struct iscsi_pdu 
*pdu)
+ {
+         switch (change_num) {
+         case 1:
+@@ -43,12 +44,12 @@ static int my_iscsi_queue_pdu(struct iscsi_context *iscsi 
_U_, struct iscsi_pdu
+                 break;
+         }
+ 
+-        change_num = 0;        
+-        return 0;
++        change_num = 0;
++        return iscsi_drv_orig.queue_pdu(iscsi, pdu);
+ }
+ 
+ void test_sanitize_block_erase_reserved(void)
+-{ 
++{
+         int i;
+ 
+         logging(LOG_VERBOSE, LOG_BLANK_LINE);
+@@ -64,8 +65,9 @@ void test_sanitize_block_erase_reserved(void)
+                 return;
+         }
+ 
+-        local_iscsi_queue_pdu = my_iscsi_queue_pdu;
+-
++        /* override transport queue_pdu callback for PDU manipulation */
++        iscsi_drv_orig = *sd->iscsi_ctx->drv;
++        sd->iscsi_ctx->drv->queue_pdu = my_iscsi_queue_pdu;
+ 
+         logging(LOG_VERBOSE, "Send SANITIZE command with the reserved "
+                 "bit in byte 1 set to 1");
+@@ -81,4 +83,7 @@ void test_sanitize_block_erase_reserved(void)
+                 SANITIZE(sd, 0, 0, SCSI_SANITIZE_BLOCK_ERASE, 0, NULL,
+                          EXPECT_INVALID_FIELD_IN_CDB);
+         }
++
++        /* restore transport callbacks */
++        *(sd->iscsi_ctx->drv) = iscsi_drv_orig;
+ }
+-- 
+2.28.0
+
diff --git 
a/debian/patches/lp-1894129-test-tool-BlockEraseReserved-skip-unless-iSCSI.patch
 
b/debian/patches/lp-1894129-test-tool-BlockEraseReserved-skip-unless-iSCSI.patch
new file mode 100644
index 0000000..43ae51b
--- /dev/null
+++ 
b/debian/patches/lp-1894129-test-tool-BlockEraseReserved-skip-unless-iSCSI.patch
@@ -0,0 +1,39 @@
+From fdc45fadfa06f2543a12abe8eefe7f87d5dab0c2 Mon Sep 17 00:00:00 2001
+From: David Disseldorp <dd...@suse.de>
+Date: Mon, 16 Sep 2019 15:40:00 +0200
+Subject: [PATCH] test-tool/BlockEraseReserved: skip unless iSCSI
+
+This test performs PDU manipulation so should only be run against iSCSI
+devices.
+
+Signed-off-by: David Disseldorp <dd...@suse.de>
+
+Origin: upstream, https://github.com/sahlberg/libiscsi/commit/fdc45fad
+Bug-Ubuntu: https://bugs.launchpad.net/bugs/1894129
+Last-Update: 2020-09-08
+
+---
+ test-tool/test_sanitize_block_erase_reserved.c | 7 +++++++
+ 1 file changed, 7 insertions(+)
+
+diff --git a/test-tool/test_sanitize_block_erase_reserved.c 
b/test-tool/test_sanitize_block_erase_reserved.c
+index 55c85d9..fcb862e 100644
+--- a/test-tool/test_sanitize_block_erase_reserved.c
++++ b/test-tool/test_sanitize_block_erase_reserved.c
+@@ -56,6 +56,13 @@ void test_sanitize_block_erase_reserved(void)
+ 
+         CHECK_FOR_SANITIZE;
+         CHECK_FOR_DATALOSS;
++        if (sd->iscsi_ctx == NULL) {
++                const char *err = "[SKIPPED] This test is "
++                        "only supported for iSCSI backends";
++                logging(LOG_NORMAL, "%s", err);
++                CU_PASS(err);
++                return;
++        }
+ 
+         local_iscsi_queue_pdu = my_iscsi_queue_pdu;
+ 
+-- 
+2.28.0
+
diff --git 
a/debian/patches/lp-1894129-test-tool-Compare-Write-override-driver-queue_pdu-ca.patch
 
b/debian/patches/lp-1894129-test-tool-Compare-Write-override-driver-queue_pdu-ca.patch
new file mode 100644
index 0000000..d0433a2
--- /dev/null
+++ 
b/debian/patches/lp-1894129-test-tool-Compare-Write-override-driver-queue_pdu-ca.patch
@@ -0,0 +1,71 @@
+From 310e9ace02bafb78d69bfe20e5c9befe7ed24a10 Mon Sep 17 00:00:00 2001
+From: David Disseldorp <dd...@suse.de>
+Date: Mon, 16 Sep 2019 14:46:28 +0200
+Subject: [PATCH] test-tool/Compare&Write: override driver queue_pdu() callback
+
+In preparation for removing the test-tool iscsi_queue_pdu() dlsym
+overload hack, convert the Compare&Write InvalidDataOutSize test to use
+the regular transport driver callback for this purpose.
+
+Signed-off-by: David Disseldorp <dd...@suse.de>
+
+Origin: upstream, https://github.com/sahlberg/libiscsi/commit/310e9ace
+Bug-Ubuntu: https://bugs.launchpad.net/bugs/1894129
+Last-Update: 2020-09-08
+
+---
+ .../test_compareandwrite_invalid_dataout_size.c  | 16 +++++++++++-----
+ 1 file changed, 11 insertions(+), 5 deletions(-)
+
+diff --git a/test-tool/test_compareandwrite_invalid_dataout_size.c 
b/test-tool/test_compareandwrite_invalid_dataout_size.c
+index eb6a6dd..9fcd739 100644
+--- a/test-tool/test_compareandwrite_invalid_dataout_size.c
++++ b/test-tool/test_compareandwrite_invalid_dataout_size.c
+@@ -27,11 +27,12 @@
+ 
+ 
+ static int new_tl;
++static struct iscsi_transport iscsi_drv_orig;
+ 
+-static int my_iscsi_queue_pdu(struct iscsi_context *iscsi _U_, struct 
iscsi_pdu *pdu _U_)
++static int my_iscsi_queue_pdu(struct iscsi_context *iscsi, struct iscsi_pdu 
*pdu)
+ {
+         if (pdu->outdata.data[0] != ISCSI_PDU_SCSI_REQUEST) {
+-                return 0;
++                goto out;
+         }
+         switch (new_tl) {
+         case 1:
+@@ -43,7 +44,8 @@ static int my_iscsi_queue_pdu(struct iscsi_context *iscsi 
_U_, struct iscsi_pdu
+                 pdu->outdata.data[32 + 13] = 3;
+                 break;
+         }
+-        return 0;
++out:
++        return iscsi_drv_orig.queue_pdu(iscsi, pdu);
+ }
+ 
+ void
+@@ -61,8 +63,10 @@ test_compareandwrite_invalid_dataout_size(void)
+                 return;
+         }
+ 
+-        local_iscsi_queue_pdu = my_iscsi_queue_pdu;
+-        
++        /* override transport queue_pdu callback for PDU manipulation */
++        iscsi_drv_orig = *sd->iscsi_ctx->drv;
++        sd->iscsi_ctx->drv->queue_pdu = my_iscsi_queue_pdu;
++
+         logging(LOG_VERBOSE, LOG_BLANK_LINE);
+         logging(LOG_VERBOSE, "Test that COMPAREANDWRITE fails for invalid "
+                 "(too small/too large) DataOut sizes.");
+@@ -89,4 +93,6 @@ test_compareandwrite_invalid_dataout_size(void)
+                         block_size, 0, 0, 0, 0,
+                         EXPECT_STATUS_GENERIC_BAD);
+ 
++        /* restore transport callbacks */
++        *(sd->iscsi_ctx->drv) = iscsi_drv_orig;
+ }
+-- 
+2.28.0
+
diff --git 
a/debian/patches/lp-1894129-test-tool-Compare-Write-skip-InvalidDataOutSize-unle.patch
 
b/debian/patches/lp-1894129-test-tool-Compare-Write-skip-InvalidDataOutSize-unle.patch
new file mode 100644
index 0000000..179a622
--- /dev/null
+++ 
b/debian/patches/lp-1894129-test-tool-Compare-Write-skip-InvalidDataOutSize-unle.patch
@@ -0,0 +1,39 @@
+From 60a5856f00731be578a57bfbf68b2e9858680f07 Mon Sep 17 00:00:00 2001
+From: David Disseldorp <dd...@suse.de>
+Date: Mon, 16 Sep 2019 14:33:50 +0200
+Subject: [PATCH] test-tool/Compare&Write: skip InvalidDataOutSize unless iSCSI
+
+This test performs PDU manipulation so should only be run against iSCSI
+devices.
+
+Signed-off-by: David Disseldorp <dd...@suse.de>
+
+Origin: upstream, https://github.com/sahlberg/libiscsi/commit/60a5856f
+Bug-Ubuntu: https://bugs.launchpad.net/bugs/1894129
+Last-Update: 2020-09-08
+
+---
+ test-tool/test_compareandwrite_invalid_dataout_size.c | 7 +++++++
+ 1 file changed, 7 insertions(+)
+
+diff --git a/test-tool/test_compareandwrite_invalid_dataout_size.c 
b/test-tool/test_compareandwrite_invalid_dataout_size.c
+index 4abd501..eb6a6dd 100644
+--- a/test-tool/test_compareandwrite_invalid_dataout_size.c
++++ b/test-tool/test_compareandwrite_invalid_dataout_size.c
+@@ -53,6 +53,13 @@ test_compareandwrite_invalid_dataout_size(void)
+         CHECK_FOR_THIN_PROVISIONING;
+         CHECK_FOR_LBPPB_GT_1;
+         CHECK_FOR_SBC;
++        if (sd->iscsi_ctx == NULL) {
++                const char *err = "[SKIPPED] This test is "
++                        "only supported for iSCSI backends";
++                logging(LOG_NORMAL, "%s", err);
++                CU_PASS(err);
++                return;
++        }
+ 
+         local_iscsi_queue_pdu = my_iscsi_queue_pdu;
+         
+-- 
+2.28.0
+
diff --git 
a/debian/patches/lp-1894129-test-tool-CryptoEraseReserved-override-driver-queue_.patch
 
b/debian/patches/lp-1894129-test-tool-CryptoEraseReserved-override-driver-queue_.patch
new file mode 100644
index 0000000..0c4a300
--- /dev/null
+++ 
b/debian/patches/lp-1894129-test-tool-CryptoEraseReserved-override-driver-queue_.patch
@@ -0,0 +1,74 @@
+From 77279dd44fd19167c22cfada2eec377058e1bde9 Mon Sep 17 00:00:00 2001
+From: David Disseldorp <dd...@suse.de>
+Date: Mon, 16 Sep 2019 14:46:28 +0200
+Subject: [PATCH] test-tool/CryptoEraseReserved: override driver queue_pdu()
+ callback
+
+In preparation for removing the test-tool iscsi_queue_pdu() dlsym
+overload hack, convert this test to use the regular transport driver
+callback for this purpose.
+
+Signed-off-by: David Disseldorp <dd...@suse.de>
+
+Origin: upstream, https://github.com/sahlberg/libiscsi/commit/77279dd4
+Bug-Ubuntu: https://bugs.launchpad.net/bugs/1894129
+Last-Update: 2020-09-08
+
+---
+ test-tool/test_sanitize_crypto_erase_reserved.c | 17 +++++++++++------
+ 1 file changed, 11 insertions(+), 6 deletions(-)
+
+diff --git a/test-tool/test_sanitize_crypto_erase_reserved.c 
b/test-tool/test_sanitize_crypto_erase_reserved.c
+index 00bbf34..646cbea 100644
+--- a/test-tool/test_sanitize_crypto_erase_reserved.c
++++ b/test-tool/test_sanitize_crypto_erase_reserved.c
+@@ -25,8 +25,9 @@
+ #include "iscsi-test-cu.h"
+ 
+ static int change_num;
++static struct iscsi_transport iscsi_drv_orig;
+ 
+-static int my_iscsi_queue_pdu(struct iscsi_context *iscsi _U_, struct 
iscsi_pdu *pdu)
++static int my_iscsi_queue_pdu(struct iscsi_context *iscsi, struct iscsi_pdu 
*pdu)
+ {
+         switch (change_num) {
+         case 1:
+@@ -43,12 +44,12 @@ static int my_iscsi_queue_pdu(struct iscsi_context *iscsi 
_U_, struct iscsi_pdu
+                 break;
+         }
+ 
+-        change_num = 0;        
+-        return 0;
++        change_num = 0;
++        return iscsi_drv_orig.queue_pdu(iscsi, pdu);
+ }
+ 
+ void test_sanitize_crypto_erase_reserved(void)
+-{ 
++{
+         int i;
+ 
+         logging(LOG_VERBOSE, LOG_BLANK_LINE);
+@@ -64,8 +65,9 @@ void test_sanitize_crypto_erase_reserved(void)
+                 return;
+         }
+ 
+-        local_iscsi_queue_pdu = my_iscsi_queue_pdu;
+-
++        /* override transport queue_pdu callback for PDU manipulation */
++        iscsi_drv_orig = *sd->iscsi_ctx->drv;
++        sd->iscsi_ctx->drv->queue_pdu = my_iscsi_queue_pdu;
+ 
+         logging(LOG_VERBOSE, "Send SANITIZE command with the reserved "
+                 "bit in byte 1 set to 1");
+@@ -81,4 +83,7 @@ void test_sanitize_crypto_erase_reserved(void)
+                 SANITIZE(sd, 0, 0, SCSI_SANITIZE_CRYPTO_ERASE, 0, NULL,
+                          EXPECT_INVALID_FIELD_IN_CDB);
+         }
++
++        /* restore transport callbacks */
++        *(sd->iscsi_ctx->drv) = iscsi_drv_orig;
+ }
+-- 
+2.28.0
+
diff --git 
a/debian/patches/lp-1894129-test-tool-CryptoEraseReserved-skip-unless-iSCSI.patch
 
b/debian/patches/lp-1894129-test-tool-CryptoEraseReserved-skip-unless-iSCSI.patch
new file mode 100644
index 0000000..95ca3a3
--- /dev/null
+++ 
b/debian/patches/lp-1894129-test-tool-CryptoEraseReserved-skip-unless-iSCSI.patch
@@ -0,0 +1,39 @@
+From c830a3b55e91fe8b1cb97e6899ef872691c8804e Mon Sep 17 00:00:00 2001
+From: David Disseldorp <dd...@suse.de>
+Date: Mon, 16 Sep 2019 15:40:00 +0200
+Subject: [PATCH] test-tool/CryptoEraseReserved: skip unless iSCSI
+
+This test performs PDU manipulation so should only be run against iSCSI
+devices.
+
+Signed-off-by: David Disseldorp <dd...@suse.de>
+
+Origin: upstream, https://github.com/sahlberg/libiscsi/commit/c830a3b5
+Bug-Ubuntu: https://bugs.launchpad.net/bugs/1894129
+Last-Update: 2020-09-08
+
+---
+ test-tool/test_sanitize_crypto_erase_reserved.c | 7 +++++++
+ 1 file changed, 7 insertions(+)
+
+diff --git a/test-tool/test_sanitize_crypto_erase_reserved.c 
b/test-tool/test_sanitize_crypto_erase_reserved.c
+index c713ab5..00bbf34 100644
+--- a/test-tool/test_sanitize_crypto_erase_reserved.c
++++ b/test-tool/test_sanitize_crypto_erase_reserved.c
+@@ -56,6 +56,13 @@ void test_sanitize_crypto_erase_reserved(void)
+ 
+         CHECK_FOR_SANITIZE;
+         CHECK_FOR_DATALOSS;
++        if (sd->iscsi_ctx == NULL) {
++                const char *err = "[SKIPPED] This test is "
++                        "only supported for iSCSI backends";
++                logging(LOG_NORMAL, "%s", err);
++                CU_PASS(err);
++                return;
++        }
+ 
+         local_iscsi_queue_pdu = my_iscsi_queue_pdu;
+ 
+-- 
+2.28.0
+
diff --git 
a/debian/patches/lp-1894129-test-tool-OverwriteReserved-override-driver-queue_pd.patch
 
b/debian/patches/lp-1894129-test-tool-OverwriteReserved-override-driver-queue_pd.patch
new file mode 100644
index 0000000..0b6e27b
--- /dev/null
+++ 
b/debian/patches/lp-1894129-test-tool-OverwriteReserved-override-driver-queue_pd.patch
@@ -0,0 +1,68 @@
+From 2ae45ac15d8c1d4a4f68a085dadb7f43e2f2e280 Mon Sep 17 00:00:00 2001
+From: David Disseldorp <dd...@suse.de>
+Date: Mon, 16 Sep 2019 14:46:28 +0200
+Subject: [PATCH] test-tool/OverwriteReserved: override driver queue_pdu()
+ callback
+
+In preparation for removing the test-tool iscsi_queue_pdu() dlsym
+overload hack, convert this test to use the regular transport driver
+callback for this purpose.
+
+Signed-off-by: David Disseldorp <dd...@suse.de>
+
+Origin: backport, https://github.com/sahlberg/libiscsi/commit/2ae45ac1
+Bug-Ubuntu: https://bugs.launchpad.net/bugs/1894129
+Last-Update: 2020-09-08
+
+---
+ test-tool/test_sanitize_overwrite_reserved.c | 16 +++++++++++-----
+ 1 file changed, 11 insertions(+), 5 deletions(-)
+
+--- a/test-tool/test_sanitize_overwrite_reserved.c
++++ b/test-tool/test_sanitize_overwrite_reserved.c
+@@ -26,8 +26,9 @@
+ #include "iscsi-test-cu.h"
+ 
+ static int change_num;
++static struct iscsi_transport iscsi_drv_orig;
+ 
+-static int my_iscsi_queue_pdu(struct iscsi_context *iscsi _U_, struct 
iscsi_pdu *pdu)
++static int my_iscsi_queue_pdu(struct iscsi_context *iscsi, struct iscsi_pdu 
*pdu)
+ {
+         switch (change_num) {
+         case 1:
+@@ -44,12 +45,12 @@ static int my_iscsi_queue_pdu(struct isc
+                 break;
+         }
+ 
+-        change_num = 0;        
+-        return 0;
++        change_num = 0;
++        return iscsi_drv_orig.queue_pdu(iscsi, pdu);
+ }
+ 
+ void test_sanitize_overwrite_reserved(void)
+-{ 
++{
+         int i;
+         struct iscsi_data data;
+ 
+@@ -68,7 +69,9 @@ void test_sanitize_overwrite_reserved(vo
+         CHECK_FOR_SANITIZE;
+         CHECK_FOR_DATALOSS;
+ 
+-        local_iscsi_queue_pdu = my_iscsi_queue_pdu;
++        /* override transport queue_pdu callback for PDU manipulation */
++        iscsi_drv_orig = *sd->iscsi_ctx->drv;
++        sd->iscsi_ctx->drv->queue_pdu = my_iscsi_queue_pdu;
+ 
+         logging(LOG_VERBOSE, "Send SANITIZE command with the reserved "
+                 "bit in byte 1 set to 1");
+@@ -84,4 +87,7 @@ void test_sanitize_overwrite_reserved(vo
+                 SANITIZE(sd, 0, 0, SCSI_SANITIZE_OVERWRITE, data.size, &data,
+                          EXPECT_INVALID_FIELD_IN_CDB);
+         }
++
++        /* restore transport callbacks */
++        *(sd->iscsi_ctx->drv) = iscsi_drv_orig;
+ }
diff --git 
a/debian/patches/lp-1894129-test-tool-Use-extern-int-in-headers.patch 
b/debian/patches/lp-1894129-test-tool-Use-extern-int-in-headers.patch
new file mode 100644
index 0000000..f10a7a4
--- /dev/null
+++ b/debian/patches/lp-1894129-test-tool-Use-extern-int-in-headers.patch
@@ -0,0 +1,58 @@
+From ea89dcdbf167acd634300296172926c2e8d85804 Mon Sep 17 00:00:00 2001
+From: Cole Robinson <crobi...@redhat.com>
+Date: Sat, 15 Feb 2020 18:03:11 -0500
+Subject: [PATCH] test-tool: Use 'extern int' in headers
+
+Without this, linking fails on Fedora rawhide. Example:
+
+...
+/usr/bin/ld: 
test_async_lu_reset_simple.o:/root/libiscsi/libiscsi.git/test-tool/iscsi-support.h:59:
 multiple definition of `param_list_len_err_ascqs'; 
iscsi-test-cu.o:/root/libiscsi/libiscsi.git/test-tool/iscsi-support.h:59: first 
defined here
+/usr/bin/ld: 
test_async_lu_reset_simple.o:/root/libiscsi/libiscsi.git/test-tool/iscsi-support.h:58:
 multiple definition of `invalid_cdb_ascqs'; 
iscsi-test-cu.o:/root/libiscsi/libiscsi.git/test-tool/iscsi-support.h:58: first 
defined here
+...
+
+Signed-off-by: Cole Robinson <crobi...@redhat.com>
+
+Origin: upstream, https://github.com/sahlberg/libiscsi/commit/ea89dcdb
+Bug-Ubuntu: https://bugs.launchpad.net/bugs/1894129
+Last-Update: 2020-09-08
+
+---
+ test-tool/iscsi-support.h | 22 +++++++++++-----------
+ 1 file changed, 11 insertions(+), 11 deletions(-)
+
+diff --git a/test-tool/iscsi-support.h b/test-tool/iscsi-support.h
+index 7aa9e45..9c3a461 100644
+--- a/test-tool/iscsi-support.h
++++ b/test-tool/iscsi-support.h
+@@ -53,17 +53,17 @@ extern const char *initiatorname2;
+ #define EXPECT_RESERVATION_CONFLICT SCSI_STATUS_RESERVATION_CONFLICT, 0, 
NULL, 0
+ #define EXPECT_COPY_ABORTED SCSI_STATUS_CHECK_CONDITION, 
SCSI_SENSE_COPY_ABORTED, copy_aborted_ascqs, 3
+ 
+-int no_medium_ascqs[3];
+-int lba_oob_ascqs[1];
+-int invalid_cdb_ascqs[2];
+-int param_list_len_err_ascqs[1];
+-int too_many_desc_ascqs[2];
+-int unsupp_desc_code_ascqs[2];
+-int write_protect_ascqs[3];
+-int sanitize_ascqs[1];
+-int removal_ascqs[1];
+-int miscompare_ascqs[1];
+-int copy_aborted_ascqs[3];
++extern int no_medium_ascqs[3];
++extern int lba_oob_ascqs[1];
++extern int invalid_cdb_ascqs[2];
++extern int param_list_len_err_ascqs[1];
++extern int too_many_desc_ascqs[2];
++extern int unsupp_desc_code_ascqs[2];
++extern int write_protect_ascqs[3];
++extern int sanitize_ascqs[1];
++extern int removal_ascqs[1];
++extern int miscompare_ascqs[1];
++extern int copy_aborted_ascqs[3];
+ 
+ extern int loglevel;
+ #define LOG_SILENT  0
+-- 
+2.28.0
+
diff --git 
a/debian/patches/lp-1894129-test-tool-iSCSICmdSnTooHigh-override-driver-queue_pd.patch
 
b/debian/patches/lp-1894129-test-tool-iSCSICmdSnTooHigh-override-driver-queue_pd.patch
new file mode 100644
index 0000000..5df90d9
--- /dev/null
+++ 
b/debian/patches/lp-1894129-test-tool-iSCSICmdSnTooHigh-override-driver-queue_pd.patch
@@ -0,0 +1,68 @@
+From 575ba2244c5db240bc29fa493404eee39f693a2d Mon Sep 17 00:00:00 2001
+From: David Disseldorp <dd...@suse.de>
+Date: Mon, 16 Sep 2019 14:46:28 +0200
+Subject: [PATCH] test-tool/iSCSICmdSnTooHigh: override driver queue_pdu()
+ callback
+
+In preparation for removing the test-tool iscsi_queue_pdu() dlsym
+overload hack, convert this test to use the regular transport driver
+callback for this purpose.
+
+Signed-off-by: David Disseldorp <dd...@suse.de>
+
+Origin: upstream, https://github.com/sahlberg/libiscsi/commit/575ba224
+Bug-Ubuntu: https://bugs.launchpad.net/bugs/1894129
+Last-Update: 2020-09-08
+
+---
+ test-tool/test_iscsi_cmdsn_toohigh.c | 11 ++++++++---
+ 1 file changed, 8 insertions(+), 3 deletions(-)
+
+diff --git a/test-tool/test_iscsi_cmdsn_toohigh.c 
b/test-tool/test_iscsi_cmdsn_toohigh.c
+index 59ce0ab..19c8b91 100644
+--- a/test-tool/test_iscsi_cmdsn_toohigh.c
++++ b/test-tool/test_iscsi_cmdsn_toohigh.c
+@@ -25,6 +25,7 @@
+ #include "iscsi-test-cu.h"
+ 
+ static int change_cmdsn;
++static struct iscsi_transport iscsi_drv_orig;
+ 
+ static int my_iscsi_queue_pdu(struct iscsi_context *iscsi, struct iscsi_pdu 
*pdu)
+ {
+@@ -40,7 +41,7 @@ static int my_iscsi_queue_pdu(struct iscsi_context *iscsi, 
struct iscsi_pdu *pdu
+         }
+ 
+         change_cmdsn = 0;        
+-        return 0;
++        return iscsi_drv_orig.queue_pdu(iscsi, pdu);
+ }
+ 
+ void test_iscsi_cmdsn_toohigh(void)
+@@ -64,7 +65,9 @@ void test_iscsi_cmdsn_toohigh(void)
+ 
+         sd->iscsi_ctx->use_immediate_data = ISCSI_IMMEDIATE_DATA_NO;
+         sd->iscsi_ctx->target_max_recv_data_segment_length = block_size;
+-        local_iscsi_queue_pdu = my_iscsi_queue_pdu;
++        /* override transport queue_pdu callback for PDU manipulation */
++        iscsi_drv_orig = *sd->iscsi_ctx->drv;
++        sd->iscsi_ctx->drv->queue_pdu = my_iscsi_queue_pdu;
+         change_cmdsn = 1;
+         /* we don't want autoreconnect since some targets will incorrectly
+          * drop the connection on this condition.
+@@ -81,9 +84,11 @@ void test_iscsi_cmdsn_toohigh(void)
+                 logging(LOG_VERBOSE, "[FAILURE] We got a response from the 
target but SMDSN was outside of the window.");
+         }
+ 
+-        
+         iscsi_set_noautoreconnect(sd->iscsi_ctx, 0);
+         logging(LOG_VERBOSE, "Send a TESTUNITREADY with CMDSN == EXPCMDSN. 
should work again");
+         TESTUNITREADY(sd,
+                       EXPECT_STATUS_GOOD);
++
++        /* restore transport callbacks */
++        *(sd->iscsi_ctx->drv) = iscsi_drv_orig;
+ }
+-- 
+2.28.0
+
diff --git 
a/debian/patches/lp-1894129-test-tool-iSCSICmdSnTooLow-override-driver-queue_pdu.patch
 
b/debian/patches/lp-1894129-test-tool-iSCSICmdSnTooLow-override-driver-queue_pdu.patch
new file mode 100644
index 0000000..4dcd73d
--- /dev/null
+++ 
b/debian/patches/lp-1894129-test-tool-iSCSICmdSnTooLow-override-driver-queue_pdu.patch
@@ -0,0 +1,69 @@
+From c067eef9c10c17b8a9be83ee4f71d4c8d0d238e4 Mon Sep 17 00:00:00 2001
+From: David Disseldorp <dd...@suse.de>
+Date: Mon, 16 Sep 2019 14:46:28 +0200
+Subject: [PATCH] test-tool/iSCSICmdSnTooLow: override driver queue_pdu()
+ callback
+
+In preparation for removing the test-tool iscsi_queue_pdu() dlsym
+overload hack, convert this test to use the regular transport driver
+callback for this purpose.
+
+Signed-off-by: David Disseldorp <dd...@suse.de>
+
+Origin: upstream, https://github.com/sahlberg/libiscsi/commit/c067eef9
+Bug-Ubuntu: https://bugs.launchpad.net/bugs/1894129
+Last-Update: 2020-09-08
+
+---
+ test-tool/test_iscsi_cmdsn_toolow.c | 12 ++++++++----
+ 1 file changed, 8 insertions(+), 4 deletions(-)
+
+diff --git a/test-tool/test_iscsi_cmdsn_toolow.c 
b/test-tool/test_iscsi_cmdsn_toolow.c
+index 0b980b3..23b93c3 100644
+--- a/test-tool/test_iscsi_cmdsn_toolow.c
++++ b/test-tool/test_iscsi_cmdsn_toolow.c
+@@ -25,6 +25,7 @@
+ #include "iscsi-test-cu.h"
+ 
+ static int change_cmdsn;
++static struct iscsi_transport iscsi_drv_orig;
+ 
+ static int my_iscsi_queue_pdu(struct iscsi_context *iscsi, struct iscsi_pdu 
*pdu)
+ {
+@@ -40,7 +41,7 @@ static int my_iscsi_queue_pdu(struct iscsi_context *iscsi, 
struct iscsi_pdu *pdu
+         }
+ 
+         change_cmdsn = 0;        
+-        return 0;
++        return iscsi_drv_orig.queue_pdu(iscsi, pdu);
+ }
+ 
+ void test_iscsi_cmdsn_toolow(void)
+@@ -64,7 +65,9 @@ void test_iscsi_cmdsn_toolow(void)
+ 
+         sd->iscsi_ctx->use_immediate_data = ISCSI_IMMEDIATE_DATA_NO;
+         sd->iscsi_ctx->target_max_recv_data_segment_length = block_size;
+-        local_iscsi_queue_pdu = my_iscsi_queue_pdu;
++        /* override transport queue_pdu callback for PDU manipulation */
++        iscsi_drv_orig = *sd->iscsi_ctx->drv;
++        sd->iscsi_ctx->drv->queue_pdu = my_iscsi_queue_pdu;
+         change_cmdsn = 1;
+         /* we don't want autoreconnect since some targets will incorrectly
+          * drop the connection on this condition.
+@@ -81,10 +84,11 @@ void test_iscsi_cmdsn_toolow(void)
+                 logging(LOG_VERBOSE, "[FAILURE] We got a response from the 
target but SMDSN was outside of the window.");
+         }
+ 
+-        
+-
+         iscsi_set_noautoreconnect(sd->iscsi_ctx, 0);
+         logging(LOG_VERBOSE, "Send a TESTUNITREADY with CMDSN == EXPCMDSN. 
should work again");
+         TESTUNITREADY(sd,
+                       EXPECT_STATUS_GOOD);
++
++        /* restore transport callbacks */
++        *(sd->iscsi_ctx->drv) = iscsi_drv_orig;
+ }
+-- 
+2.28.0
+
diff --git 
a/debian/patches/lp-1894129-test-tool-iSCSIDataSnInvalid-override-driver-queue_p.patch
 
b/debian/patches/lp-1894129-test-tool-iSCSIDataSnInvalid-override-driver-queue_p.patch
new file mode 100644
index 0000000..4a253a1
--- /dev/null
+++ 
b/debian/patches/lp-1894129-test-tool-iSCSIDataSnInvalid-override-driver-queue_p.patch
@@ -0,0 +1,166 @@
+From 153ca193fa61be8c2c26d8736119e7dc873d1242 Mon Sep 17 00:00:00 2001
+From: David Disseldorp <dd...@suse.de>
+Date: Mon, 16 Sep 2019 14:46:28 +0200
+Subject: [PATCH] test-tool/iSCSIDataSnInvalid: override driver queue_pdu()
+ callback
+
+In preparation for removing the test-tool iscsi_queue_pdu() dlsym
+overload hack, convert this test to use the regular transport driver
+callback for this purpose.
+This commit also removes a number of unnecessary "WRITE10 is not
+implemented" checks, which should all be caught by the first check.
+
+Signed-off-by: David Disseldorp <dd...@suse.de>
+
+Origin: upstream, https://github.com/sahlberg/libiscsi/commit/153ca193
+Bug-Ubuntu: https://bugs.launchpad.net/bugs/1894129
+Last-Update: 2020-09-08
+
+---
+ test-tool/test_iscsi_datasn_invalid.c | 56 ++++++++++-----------------
+ 1 file changed, 21 insertions(+), 35 deletions(-)
+
+diff --git a/test-tool/test_iscsi_datasn_invalid.c 
b/test-tool/test_iscsi_datasn_invalid.c
+index 14deb7a..c25631a 100644
+--- a/test-tool/test_iscsi_datasn_invalid.c
++++ b/test-tool/test_iscsi_datasn_invalid.c
+@@ -25,13 +25,14 @@
+ #include "iscsi-test-cu.h"
+ 
+ static int change_datasn;
++static struct iscsi_transport iscsi_drv_orig;
+ 
+-static int my_iscsi_queue_pdu(struct iscsi_context *iscsi _U_, struct 
iscsi_pdu *pdu _U_)
++static int my_iscsi_queue_pdu(struct iscsi_context *iscsi, struct iscsi_pdu 
*pdu)
+ {
+         uint32_t datasn;
+ 
+         if (pdu->outdata.data[0] != ISCSI_PDU_DATA_OUT) {
+-                return 0;
++                goto out;
+         }
+         switch (change_datasn) {
+         case 1:
+@@ -52,11 +53,12 @@ static int my_iscsi_queue_pdu(struct iscsi_context *iscsi 
_U_, struct iscsi_pdu
+                 scsi_set_uint32(&pdu->outdata.data[36], 1 - datasn);
+                 break;
+         }
+-        return 0;
++out:
++        return iscsi_drv_orig.queue_pdu(iscsi, pdu);
+ }
+ 
+ void test_iscsi_datasn_invalid(void)
+-{ 
++{
+         int ret;
+ 
+         CHECK_FOR_DATALOSS;
+@@ -77,7 +79,9 @@ void test_iscsi_datasn_invalid(void)
+ 
+         sd->iscsi_ctx->use_immediate_data = ISCSI_IMMEDIATE_DATA_NO;
+         sd->iscsi_ctx->target_max_recv_data_segment_length = block_size;
+-        local_iscsi_queue_pdu = my_iscsi_queue_pdu;
++        /* override transport queue_pdu callback for PDU manipulation */
++        iscsi_drv_orig = *sd->iscsi_ctx->drv;
++        sd->iscsi_ctx->drv->queue_pdu = my_iscsi_queue_pdu;
+         iscsi_set_noautoreconnect(sd->iscsi_ctx, 1);
+         iscsi_set_timeout(sd->iscsi_ctx, 3);
+ 
+@@ -89,81 +93,63 @@ void test_iscsi_datasn_invalid(void)
+         if (ret == -2) {
+                 logging(LOG_NORMAL, "[SKIPPED] WRITE10 is not implemented.");
+                 CU_PASS("WRITE10 is not implemented.");
+-                local_iscsi_queue_pdu = NULL;
+-                return;
+-        }        
++                goto out_ctx_restore;
++        }
+         CU_ASSERT_NOT_EQUAL(ret, 0);
+ 
++        /* avoid changing DataSN during reconnect */
++        *(sd->iscsi_ctx->drv) = iscsi_drv_orig;
+         iscsi_set_noautoreconnect(sd->iscsi_ctx, 0);
+ 
+-
+         logging(LOG_VERBOSE, "Send Data-Out PDU with DataSN==27. Should 
fail");
+         change_datasn = 2;
+ 
+         sd->iscsi_ctx->use_immediate_data = ISCSI_IMMEDIATE_DATA_NO;
+         sd->iscsi_ctx->target_max_recv_data_segment_length = block_size;
+-        local_iscsi_queue_pdu = my_iscsi_queue_pdu;
++        sd->iscsi_ctx->drv->queue_pdu = my_iscsi_queue_pdu;
+         iscsi_set_noautoreconnect(sd->iscsi_ctx, 1);
+         iscsi_set_timeout(sd->iscsi_ctx, 3);
+ 
+         ret = write10(sd, 100, block_size,
+                       block_size, 0, 0, 0, 0, 0, scratch,
+                       EXPECT_STATUS_GOOD);
+-        if (ret == -2) {
+-                logging(LOG_NORMAL, "[SKIPPED] WRITE10 is not implemented.");
+-                CU_PASS("WRITE10 is not implemented.");
+-                local_iscsi_queue_pdu = NULL;
+-                return;
+-        }        
+         CU_ASSERT_NOT_EQUAL(ret, 0);
+ 
++        *(sd->iscsi_ctx->drv) = iscsi_drv_orig;
+         iscsi_set_noautoreconnect(sd->iscsi_ctx, 0);
+ 
+-
+         logging(LOG_VERBOSE, "Send Data-Out PDU with DataSN==-1. Should 
fail");
+         change_datasn = 3;
+ 
+         sd->iscsi_ctx->use_immediate_data = ISCSI_IMMEDIATE_DATA_NO;
+         sd->iscsi_ctx->target_max_recv_data_segment_length = block_size;
+-        local_iscsi_queue_pdu = my_iscsi_queue_pdu;
++        sd->iscsi_ctx->drv->queue_pdu = my_iscsi_queue_pdu;
+         iscsi_set_noautoreconnect(sd->iscsi_ctx, 1);
+         iscsi_set_timeout(sd->iscsi_ctx, 3);
+ 
+         ret = write10(sd, 100, block_size,
+                       block_size, 0, 0, 0, 0, 0, scratch,
+                       EXPECT_STATUS_GOOD);
+-        if (ret == -2) {
+-                logging(LOG_NORMAL, "[SKIPPED] WRITE10 is not implemented.");
+-                CU_PASS("WRITE10 is not implemented.");
+-                local_iscsi_queue_pdu = NULL;
+-                return;
+-        }        
+         CU_ASSERT_NOT_EQUAL(ret, 0);
+ 
++        *(sd->iscsi_ctx->drv) = iscsi_drv_orig;
+         iscsi_set_noautoreconnect(sd->iscsi_ctx, 0);
+ 
+-
+-
+         logging(LOG_VERBOSE, "Send Data-Out PDU's in reverse order (DataSN == 
1,0). Should fail");
+         change_datasn = 4;
+ 
+         sd->iscsi_ctx->use_immediate_data = ISCSI_IMMEDIATE_DATA_NO;
+         sd->iscsi_ctx->target_max_recv_data_segment_length = block_size;
+-        local_iscsi_queue_pdu = my_iscsi_queue_pdu;
++        sd->iscsi_ctx->drv->queue_pdu = my_iscsi_queue_pdu;
+         iscsi_set_noautoreconnect(sd->iscsi_ctx, 1);
+         iscsi_set_timeout(sd->iscsi_ctx, 3);
+ 
+         ret = write10(sd, 100, 2 * block_size,
+                       block_size, 0, 0, 0, 0, 0, scratch,
+                       EXPECT_STATUS_GOOD);
+-        if (ret == -2) {
+-                logging(LOG_NORMAL, "[SKIPPED] WRITE10 is not implemented.");
+-                CU_PASS("WRITE10 is not implemented.");
+-                local_iscsi_queue_pdu = NULL;
+-                return;
+-        }        
+         CU_ASSERT_NOT_EQUAL(ret, 0);
+-
+-        local_iscsi_queue_pdu = NULL;
++out_ctx_restore:
++        /* restore transport callbacks and autoreconnect */
++        *(sd->iscsi_ctx->drv) = iscsi_drv_orig;
+         iscsi_set_noautoreconnect(sd->iscsi_ctx, 0);
+ }
+-- 
+2.28.0
+
diff --git 
a/debian/patches/lp-1894129-test-tool-remove-unused-iscsi_queue_pdu-symbol-overl.patch
 
b/debian/patches/lp-1894129-test-tool-remove-unused-iscsi_queue_pdu-symbol-overl.patch
new file mode 100644
index 0000000..6cd1a9f
--- /dev/null
+++ 
b/debian/patches/lp-1894129-test-tool-remove-unused-iscsi_queue_pdu-symbol-overl.patch
@@ -0,0 +1,104 @@
+From dd17293bcc188dbefc420ee23b77bc9bb7c5e9a2 Mon Sep 17 00:00:00 2001
+From: David Disseldorp <dd...@suse.de>
+Date: Mon, 16 Sep 2019 16:02:36 +0200
+Subject: [PATCH] test-tool: remove unused iscsi_queue_pdu() symbol overload
+
+All users have now been changed to overload via the iscsi_ctx transport
+callback, so the dlsym based overloading can now be dropped.
+
+Signed-off-by: David Disseldorp <dd...@suse.de>
+
+Origin: upstream, https://github.com/sahlberg/libiscsi/commit/dd17293b
+Bug-Ubuntu: https://bugs.launchpad.net/bugs/1894129
+Last-Update: 2020-09-08
+
+---
+ test-tool/iscsi-support.c | 11 -----------
+ test-tool/iscsi-support.h |  1 -
+ test-tool/iscsi-test-cu.c | 15 ---------------
+ 3 files changed, 27 deletions(-)
+
+diff --git a/test-tool/iscsi-support.c b/test-tool/iscsi-support.c
+index 4b49478..169d2b0 100644
+--- a/test-tool/iscsi-support.c
++++ b/test-tool/iscsi-support.c
+@@ -119,8 +119,6 @@ int readonly;
+ int sbc3_support;
+ int maximum_transfer_length;
+ 
+-int (*real_iscsi_queue_pdu)(struct iscsi_context *iscsi, struct iscsi_pdu 
*pdu);
+-
+ static const unsigned char zeroBlock[4096];
+ 
+ /**
+@@ -569,15 +567,6 @@ wait_until_test_finished(struct iscsi_context *iscsi, 
struct iscsi_async_state *
+         }
+ }
+ 
+-int
+-iscsi_queue_pdu(struct iscsi_context *iscsi, struct iscsi_pdu *pdu)
+-{
+-        if (local_iscsi_queue_pdu != NULL) {
+-                local_iscsi_queue_pdu(iscsi, pdu);
+-        }
+-        return real_iscsi_queue_pdu(iscsi, pdu);
+-}
+-
+ int
+ orwrite(struct scsi_device *sdev, uint64_t lba,
+         uint32_t datalen, int blocksize, int wrprotect,
+diff --git a/test-tool/iscsi-support.h b/test-tool/iscsi-support.h
+index aee00ca..2b20a1f 100644
+--- a/test-tool/iscsi-support.h
++++ b/test-tool/iscsi-support.h
+@@ -782,7 +782,6 @@ struct iscsi_async_state {
+ void wait_until_test_finished(struct iscsi_context *iscsi, struct 
iscsi_async_state *test_state);
+ 
+ struct iscsi_pdu;
+-int (*local_iscsi_queue_pdu)(struct iscsi_context *iscsi, struct iscsi_pdu 
*pdu);
+ 
+ struct scsi_command_descriptor *get_command_descriptor(int opcode, int sa);
+ 
+diff --git a/test-tool/iscsi-test-cu.c b/test-tool/iscsi-test-cu.c
+index eafda39..26e1b05 100644
+--- a/test-tool/iscsi-test-cu.c
++++ b/test-tool/iscsi-test-cu.c
+@@ -59,12 +59,6 @@ int loglevel = LOG_NORMAL;
+ struct scsi_device *sd = NULL;        /* mp_sds[0] alias */
+ static unsigned int maxsectors;
+ 
+-/*
+- * this allows us to redefine how PDU are queued, at times, for
+- * testing purposes
+- */
+-int (*real_iscsi_queue_pdu)(struct iscsi_context *iscsi, struct iscsi_pdu 
*pdu);
+-
+ /*****************************************************************
+  *
+  * list of tests and test suites
+@@ -805,7 +799,6 @@ test_setup(void)
+ {
+         task = NULL;
+         read_write_buf = NULL;
+-        local_iscsi_queue_pdu = NULL;
+ }
+ 
+ void
+@@ -1214,14 +1207,6 @@ main(int argc, char *argv[])
+                 mp_num_sds++;
+         }
+ 
+-        /* So that we can override iscsi_queue_pdu in tests
+-         * and replace or mutate the blob that we are about to write to the
+-         * wire.
+-         * This allows such tests to do their mutates and then call out
+-         * to the real queueing function once they have modified the data.
+-         */
+-        real_iscsi_queue_pdu = dlsym(RTLD_NEXT, "iscsi_queue_pdu");
+-
+         if ((mp_num_sds == 0) || (mp_sds[0]->iscsi_url == NULL
+                                         && mp_sds[0]->sgio_dev == NULL)) {
+ #ifdef HAVE_SG_IO
+-- 
+2.28.0
+
diff --git a/debian/patches/series b/debian/patches/series
index de65f63..36e1d44 100644
--- a/debian/patches/series
+++ b/debian/patches/series
@@ -3,3 +3,15 @@ soversion.diff
 libpthread.diff
 attribute_packed.patch
 spelling.patch
+lp-1894129-test-tool-Compare-Write-skip-InvalidDataOutSize-unle.patch
+lp-1894129-test-tool-Compare-Write-override-driver-queue_pdu-ca.patch
+lp-1894129-test-tool-iSCSICmdSnTooLow-override-driver-queue_pdu.patch
+lp-1894129-test-tool-iSCSICmdSnTooHigh-override-driver-queue_pd.patch
+lp-1894129-test-tool-iSCSIDataSnInvalid-override-driver-queue_p.patch
+lp-1894129-test-tool-BlockEraseReserved-skip-unless-iSCSI.patch
+lp-1894129-test-tool-CryptoEraseReserved-skip-unless-iSCSI.patch
+lp-1894129-test-tool-CryptoEraseReserved-override-driver-queue_.patch
+lp-1894129-test-tool-OverwriteReserved-override-driver-queue_pd.patch
+lp-1894129-test-tool-remove-unused-iscsi_queue_pdu-symbol-overl.patch
+lp-1894129-test-tool-BlockEraseReserved-override-driver-queue_p.patch
+lp-1894129-test-tool-Use-extern-int-in-headers.patch
-- 
2.28.0

Reply via email to