Hi all,

while testing PSCSI I noticed that even requests for a smallish amount
of data (approximately 700 KB) failed due to an excessive number of
segments in the request.  In fact, using alloc_page resulted in a
completely fragmented request, with no merging of consecutive pages
at all.

This patch series fixes this problem by using higher-order allocations
to build the data scatterlist.  The problem is that iscsi assumes that the
scatterlist consists of single pages, which is not true anymore.  So
patch 2 has to introduce some relatively complicated changes to
iscsi_map_iovec and iscsi_unmap_iovec.

While doing this, I noticed something strange in iscsit_do_crypto_hash_sg.
Patch 1 adds a warning about it.

The approach may be completely wrong and it needs more testing anyway.
Please review!

Paolo

Paolo Bonzini (3):
  tcm_iscsi: warn on incorrect precondition for iscsit_do_crypto_hash_sg
  tcm_iscsi: support multiple sizes in the scatterlist
  target: try satisfying memory requests with contiguous blocks

 drivers/target/iscsi/iscsi_target.c      |  106 +++++++++++++++++++++++++-----
 drivers/target/iscsi/iscsi_target_core.h |    2 +-
 drivers/target/target_core_transport.c   |   58 ++++++++++++++---
 3 files changed, 138 insertions(+), 28 deletions(-)

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Reply via email to