[openib-general] ISER fails to build on 2.6.15-rc7-git3 (svn=4654)
Hal Rosenstock
halr at voltaire.com
Fri Dec 30 04:26:34 PST 2005
Hi Nish,
On Fri, 2005-12-30 at 00:04, Nishanth Aravamudan wrote:
> On 29.12.2005 [23:29:10 -0500], Hal Rosenstock wrote:
> > Hi Nish,
> >
> > On Thu, 2005-12-29 at 20:31, Nishanth Aravamudan wrote:
> > > Hi,
> > >
> > > Building 2.6.15-rc7-git3 on ppc64 with svn=4654 kernel components leads
> > > to:
> > >
> > > drivers/infiniband/ulp/iser/iscsi_iser.c: In function `iscsi_iser_conn_set_param':
> > > drivers/infiniband/ulp/iser/iscsi_iser.c:1436: error: `ISCSI_PARAM_RDMAEXTENSIONS' undeclared (first use in this function)
> > > drivers/infiniband/ulp/iser/iscsi_iser.c:1436: error: (Each undeclared identifier is reported only once
> > > drivers/infiniband/ulp/iser/iscsi_iser.c:1436: error: for each function it appears in.)
> > > drivers/infiniband/ulp/iser/iscsi_iser.c: In function `iscsi_iser_conn_get_param':
> > > drivers/infiniband/ulp/iser/iscsi_iser.c:1496: error: `ISCSI_PARAM_RDMAEXTENSIONS' undeclared (first use in this function)
> > > drivers/infiniband/ulp/iser/iscsi_iser.c: At top level:
> > > drivers/infiniband/ulp/iser/iscsi_iser.c:1634: error: unknown field `af' specified in initializer
> > > drivers/infiniband/ulp/iser/iscsi_iser.c:1634: warning: initialization makes pointer from integer without a cast
> > > drivers/infiniband/ulp/iser/iscsi_iser.c:1635: error: unknown field `rdma' specified in initializer
> > > make[3]: *** [drivers/infiniband/ulp/iser/iscsi_iser.o] Error 1
> > > make[2]: *** [drivers/infiniband/ulp/iser] Error 2
> > > make[1]: *** [drivers/infiniband] Error 2
> > > make: *** [drivers] Error 2
> >
> > There is an iscsi patch required for this as iser requires an open-iscsi
> > version which is subsequent to what is in 2.6.15-rc7-git3. I'm not sure
> > the best way to handle this yet as the build is different for 2.6.14
> > which does not contain open-iscsi.
>
> Where can I find this patch? I can temporarily add it to the build-path
> for the svn-based builds, until a better solution is found.
I am attaching the patch for this. Note that this patch is for
2.6.15-rc<n> and not 2.6.14 variants. It has been tested with
2.6.15-rc6. Please let me know if it works for you. Thanks.
-- Hal
diff -ru -x '*.o*' -x '*.ko' linux-2.6.15-rc7/drivers/scsi/iscsi_tcp.c linux-2.6.15-rc7-iser/drivers/scsi/iscsi_tcp.c
--- linux-2.6.15-rc7/drivers/scsi/iscsi_tcp.c 2005-12-28 18:21:13.000000000 +0200
+++ linux-2.6.15-rc7-iser/drivers/scsi/iscsi_tcp.c 2005-12-29 08:55:55.000000000 +0200
@@ -3590,6 +3590,8 @@
.name = "tcp",
.caps = CAP_RECOVERY_L0 | CAP_MULTI_R2T | CAP_HDRDGST
| CAP_DATADGST,
+ .af = AF_INET,
+ .rdma = 0,
.host_template = &iscsi_sht,
.hostdata_size = sizeof(struct iscsi_session),
.max_conn = 1,
diff -ru -x '*.o*' -x '*.ko' linux-2.6.15-rc7/drivers/scsi/scsi_transport_iscsi.c linux-2.6.15-rc7-iser/drivers/scsi/scsi_transport_iscsi.c
--- linux-2.6.15-rc7/drivers/scsi/scsi_transport_iscsi.c 2005-12-28 18:21:13.000000000 +0200
+++ linux-2.6.15-rc7-iser/drivers/scsi/scsi_transport_iscsi.c 2005-12-29 08:57:44.000000000 +0200
@@ -117,6 +117,8 @@
show_transport_attr(max_lun, "%d");
show_transport_attr(max_conn, "%d");
show_transport_attr(max_cmd_len, "%d");
+show_transport_attr(af, "%d");
+show_transport_attr(rdma, "%d");
static struct attribute *iscsi_transport_attrs[] = {
&class_device_attr_handle.attr,
@@ -124,6 +126,8 @@
&class_device_attr_max_lun.attr,
&class_device_attr_max_conn.attr,
&class_device_attr_max_cmd_len.attr,
+ &class_device_attr_af.attr,
+ &class_device_attr_rdma.attr,
NULL,
};
diff -ru -x '*.o*' -x '*.ko' linux-2.6.15-rc7/include/scsi/iscsi_if.h linux-2.6.15-rc7-iser/include/scsi/iscsi_if.h
--- linux-2.6.15-rc7/include/scsi/iscsi_if.h 2005-12-28 18:21:14.000000000 +0200
+++ linux-2.6.15-rc7-iser/include/scsi/iscsi_if.h 2005-12-29 09:02:43.000000000 +0200
@@ -160,8 +160,9 @@
ISCSI_PARAM_ERL = 11,
ISCSI_PARAM_IFMARKER_EN = 12,
ISCSI_PARAM_OFMARKER_EN = 13,
+ ISCSI_PARAM_RDMAEXTENSIONS = 14,
};
-#define ISCSI_PARAM_MAX 14
+#define ISCSI_PARAM_MAX 15
typedef uint64_t iscsi_sessionh_t; /* iSCSI Data-Path session handle */
typedef uint64_t iscsi_connh_t; /* iSCSI Data-Path connection handle */
diff -ru -x '*.o*' -x '*.ko' linux-2.6.15-rc7/include/scsi/scsi_transport_iscsi.h linux-2.6.15-rc7-iser/include/scsi/scsi_transport_iscsi.h
--- linux-2.6.15-rc7/include/scsi/scsi_transport_iscsi.h 2005-12-28 18:21:14.000000000 +0200
+++ linux-2.6.15-rc7-iser/include/scsi/scsi_transport_iscsi.h 2005-12-29 09:00:18.000000000 +0200
@@ -30,6 +30,8 @@
*
* @name: transport name
* @caps: iSCSI Data-Path capabilities
+ * @af socket address family
+ * @rdma indicates if transport supports RDMA operations
* @create_session: create new iSCSI session object
* @destroy_session: destroy existing iSCSI session object
* @create_conn: create new iSCSI connection
@@ -47,6 +49,8 @@
struct module *owner;
char *name;
unsigned int caps;
+ unsigned short af;
+ unsigned short rdma;
struct scsi_host_template *host_template;
int hostdata_size;
int max_lun;
More information about the general
mailing list