Mike Christie wrote:
bugme-daemon@xxxxxxxxxxxxxxxxxxx wrote:
Hardware Environment:diskless i386, swap on iscsi device
Software Environment:open-iscsi v 6.2
What is the rest of this version string? With fedora run
rpm -q iscsi-initiator-utils
Ignore that request.
Try the attached patch made over 2.6.27 which was the base for the
kernel I thought you were using. This should also work with 2.6.28-rc*.
Oh yeah for 2.6.27 are you using a fedora kernel? If you are building
your own kernel and you are using F8 then make sure you compile the
kernel with
CONFIG_SYSFS_DEPRECATED=y
CONFIG_SYSFS_DEPRECATED_V2=y
because a lot of tools in F8 may not work right without it. The older
iscsi tools in there will not and you will run into lots of other
problems, because there were some sysfs changes which affected iscsi and
we were not ready for them back then. Newer tools in F9 and F10 and
open-iscsi.org will handle any sysfs layout so if you can you might want
to grab the iscsi-initiator-utils rpm from the F9 repository.
--- linux-2.6.27-rc5.work/drivers/scsi/libiscsi.c 2008-08-28 17:52:02.000000000 -0500
+++ linux-2.6.27-rc5/drivers/scsi/libiscsi.c 2008-11-30 21:46:55.000000000 -0600
@@ -494,12 +494,6 @@ __iscsi_conn_send_pdu(struct iscsi_conn
if (!__kfifo_get(session->cmdpool.queue,
(void*)&task, sizeof(void*)))
return NULL;
-
- if ((hdr->opcode == (ISCSI_OP_NOOP_OUT | ISCSI_OP_IMMEDIATE)) &&
- hdr->ttt == RESERVED_ITT) {
- conn->ping_task = task;
- conn->last_ping = jiffies;
- }
}
/*
* released in complete pdu for task we expect a response for, and
@@ -674,6 +668,11 @@ static void iscsi_send_nopout(struct isc
task = __iscsi_conn_send_pdu(conn, (struct iscsi_hdr *)&hdr, NULL, 0);
if (!task)
iscsi_conn_printk(KERN_ERR, conn, "Could not send nopout\n");
+ else if (!rhdr) {
+ /* only track our nops */
+ conn->ping_task = task;
+ conn->last_ping = jiffies;
+ }
}
static int iscsi_handle_reject(struct iscsi_conn *conn, struct iscsi_hdr *hdr,