[kernel] r15579 - in dists/sid/linux-2.6/debian: . patches/bugfix/all patches/series

Maximilian Attems maks at alioth.debian.org
Wed Apr 28 23:41:08 UTC 2010


Author: maks
Date: Wed Apr 28 23:41:05 2010
New Revision: 15579

Log:
add iscsi regression fix

Added:
   dists/sid/linux-2.6/debian/patches/bugfix/all/libiscsi-regression-fix-header-digest-errors.patch
Modified:
   dists/sid/linux-2.6/debian/changelog
   dists/sid/linux-2.6/debian/patches/series/12

Modified: dists/sid/linux-2.6/debian/changelog
==============================================================================
--- dists/sid/linux-2.6/debian/changelog	Wed Apr 28 23:30:49 2010	(r15578)
+++ dists/sid/linux-2.6/debian/changelog	Wed Apr 28 23:41:05 2010	(r15579)
@@ -56,6 +56,7 @@
   * hugetlb: fix infinite loop in get_futex_key() when backed by huge pages
   * ext4: Issue the discard operation *before* releasing the blocks to be
     reused.
+  * libiscsi: regression: fix header digest errors.
 
   [ dann frazier ]
   * Add DRBD backport

Added: dists/sid/linux-2.6/debian/patches/bugfix/all/libiscsi-regression-fix-header-digest-errors.patch
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ dists/sid/linux-2.6/debian/patches/bugfix/all/libiscsi-regression-fix-header-digest-errors.patch	Wed Apr 28 23:41:05 2010	(r15579)
@@ -0,0 +1,49 @@
+From: michaelc at cs.wisc.edu
+To: linux-scsi at vger.kernel.org
+Cc: Mike Christie <michaelc at cs.wisc.edu>
+Subject: [PATCH] libiscsi: regression: fix header digest errors
+Date:	Sat, 24 Apr 2010 16:21:19 -0500
+Message-Id: <1272144079-10494-1-git-send-email-michaelc at cs.wisc.edu>
+
+
+This fixes a regression introduced with this commit:
+d3305f3407fa3e9452079ec6cc8379067456e4aa
+in 2.6.32.
+
+When I moved the hdr->cmdsn after init_task, I added
+a bug when header digests are used. The problem is
+that the LLD may calculate the header digest in init_task,
+so if we then set the cmdsn after the init_task call we
+change what the digest will be calculated by the target.
+
+Signed-off-by: Mike Christie <michaelc at cs.wisc.edu>
+---
+ drivers/scsi/libiscsi.c |    2 +-
+ 1 files changed, 1 insertions(+), 1 deletions(-)
+
+diff --git a/drivers/scsi/libiscsi.c b/drivers/scsi/libiscsi.c
+index 6d5ae44..633e090 100644
+--- a/drivers/scsi/libiscsi.c
++++ b/drivers/scsi/libiscsi.c
+@@ -471,12 +471,12 @@ static int iscsi_prep_scsi_cmd_pdu(struct iscsi_task *task)
+ 
+ 	WARN_ON(hdrlength >= 256);
+ 	hdr->hlength = hdrlength & 0xFF;
++	hdr->cmdsn = task->cmdsn = cpu_to_be32(session->cmdsn);
+ 
+ 	if (session->tt->init_task && session->tt->init_task(task))
+ 		return -EIO;
+ 
+ 	task->state = ISCSI_TASK_RUNNING;
+-	hdr->cmdsn = task->cmdsn = cpu_to_be32(session->cmdsn);
+ 	session->cmdsn++;
+ 
+ 	conn->scsicmd_pdus_cnt++;
+-- 
+1.6.6.1
+
+--
+To unsubscribe from this list: send the line "unsubscribe linux-scsi" in
+the body of a message to majordomo at vger.kernel.org
+More majordomo info at  http://vger.kernel.org/majordomo-info.html
+

Modified: dists/sid/linux-2.6/debian/patches/series/12
==============================================================================
--- dists/sid/linux-2.6/debian/patches/series/12	Wed Apr 28 23:30:49 2010	(r15578)
+++ dists/sid/linux-2.6/debian/patches/series/12	Wed Apr 28 23:41:05 2010	(r15579)
@@ -55,3 +55,4 @@
 + bugfix/all/core-x86-make-list_poison-less-deadly.patch
 + bugfix/all/hugetlb-fix-infinite-loop-in-get_futex_key-when-backed-by-huge-pages.patch
 + bugfix/all/ext4-issue-discard-operation-before-releasing-blocks.patch
++ bugfix/all/libiscsi-regression-fix-header-digest-errors.patch



More information about the Kernel-svn-changes mailing list