[PATCH] iscsid: Fix double close of mgmt ipc fd

2014-05-14 Thread michaelc
From: Duane Northcutt jdua...@yahoo.com

Ran into a problem where iscsiadm was closing an already closed fd
(returning EBADF. Seems like the close() in line 466 is redundant as
it is done in mgmt_ipc_destroy_queue_task(). Could also assign
qtask-mgmt_ipc_fd to NULL, but it seems better to do it this way.

[Patch forwarded from github to open-iscsi by Mike Christie]

---
 usr/mgmt_ipc.c |1 -
 1 files changed, 0 insertions(+), 1 deletions(-)

diff --git a/usr/mgmt_ipc.c b/usr/mgmt_ipc.c
index a82c063..ee037d9 100644
--- a/usr/mgmt_ipc.c
+++ b/usr/mgmt_ipc.c
@@ -463,7 +463,6 @@ mgmt_ipc_write_rsp(queue_task_t *qtask, int err)
qtask-rsp.err = err;
if (write(qtask-mgmt_ipc_fd, qtask-rsp, sizeof(qtask-rsp))  0)
log_error(IPC qtask write failed: %s, strerror(errno));
-   close(qtask-mgmt_ipc_fd);
mgmt_ipc_destroy_queue_task(qtask);
 }
 
-- 
1.7.1

-- 
You received this message because you are subscribed to the Google Groups 
open-iscsi group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to open-iscsi+unsubscr...@googlegroups.com.
To post to this group, send email to open-iscsi@googlegroups.com.
Visit this group at http://groups.google.com/group/open-iscsi.
For more options, visit https://groups.google.com/d/optout.


[PATCH 1/1] iscsi tools: Bug fix on IPC address copy (version 2)

2013-12-05 Thread michaelc
From: Mike Christie micha...@cs.wisc.edu

This patch merges Yufei Ren's patch with comments from the list
plus what I think is a bug in the addr_len usage.

For the addr_len use, it looks like we were using that as the
arg to memcpy, but that value included the length of the pathname
string and also the offset of sun_path in the sockaddr_un and so
that is too long.

Signed-off-by: Mike Christie micha...@cs.wisc.edu
---
 usr/iscsi_util.c |   12 
 usr/iscsi_util.h |3 +++
 usr/iscsid_req.c |7 +--
 usr/mgmt_ipc.c   |6 +-
 4 files changed, 17 insertions(+), 11 deletions(-)

diff --git a/usr/iscsi_util.c b/usr/iscsi_util.c
index ac86847..9dbfbfd 100644
--- a/usr/iscsi_util.c
+++ b/usr/iscsi_util.c
@@ -25,16 +25,28 @@
 #include string.h
 #include errno.h
 #include ctype.h
+#include sys/socket.h
+#include sys/un.h
 #include sys/types.h
 #include sys/stat.h
 #include sys/resource.h
 
+#include sysdeps.h
 #include log.h
 #include iscsi_settings.h
 #include iface.h
 #include session_info.h
 #include iscsi_util.h
 
+int setup_abstract_addr(struct sockaddr_un *addr, char *unix_sock_name)
+{
+   memset(addr, 0, sizeof(*addr));
+   addr-sun_family = AF_LOCAL;
+   strlcpy(addr-sun_path + 1, unix_sock_name, sizeof(addr-sun_path) - 1);
+   return offsetof(struct sockaddr_un, sun_path) +
+   strlen(addr-sun_path + 1) + 1;
+}
+
 void daemon_init(void)
 {
int fd;
diff --git a/usr/iscsi_util.h b/usr/iscsi_util.h
index 110dfa8..ff725eb 100644
--- a/usr/iscsi_util.h
+++ b/usr/iscsi_util.h
@@ -26,4 +26,7 @@ extern int __iscsi_match_session(struct node_rec *rec, char 
*targetname,
 extern char *strstrip(char *s);
 extern char *cfg_get_string_param(char *pathname, const char *key);
 
+struct sockaddr_un;
+extern int setup_abstract_addr(struct sockaddr_un *addr, char *unix_sock_name);
+
 #endif
diff --git a/usr/iscsid_req.c b/usr/iscsid_req.c
index 715c0aa..0e91dee 100644
--- a/usr/iscsid_req.c
+++ b/usr/iscsid_req.c
@@ -67,12 +67,7 @@ static int ipc_connect(int *fd, char *unix_sock_name, int 
start_iscsid)
return ISCSI_ERR_ISCSID_NOTCONN;
}
 
-   addr_len = offsetof(struct sockaddr_un, sun_path) + 
strlen(unix_sock_name) + 1;
-
-   memset(addr, 0, sizeof(addr));
-   addr.sun_family = AF_LOCAL;
-   memcpy((char *) addr.sun_path + 1, unix_sock_name,
-  strlen(unix_sock_name));
+   addr_len = setup_abstract_addr(addr, unix_sock_name);
 
/*
 * Trying to connect with exponential backoff
diff --git a/usr/mgmt_ipc.c b/usr/mgmt_ipc.c
index 87bd346..a82c063 100644
--- a/usr/mgmt_ipc.c
+++ b/usr/mgmt_ipc.c
@@ -59,11 +59,7 @@ mgmt_ipc_listen(void)
return fd;
}
 
-   addr_len = offsetof(struct sockaddr_un, sun_path) + 
strlen(ISCSIADM_NAMESPACE) + 1;
-
-   memset(addr, 0, sizeof(addr));
-   addr.sun_family = AF_LOCAL;
-   memcpy((char *) addr.sun_path + 1, ISCSIADM_NAMESPACE, addr_len);
+   addr_len = setup_abstract_addr(addr, ISCSIADM_NAMESPACE);
 
if ((err = bind(fd, (struct sockaddr *) addr, addr_len))  0 ) {
log_error(Can not bind IPC socket);
-- 
1.7.1

-- 
You received this message because you are subscribed to the Google Groups 
open-iscsi group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to open-iscsi+unsubscr...@googlegroups.com.
To post to this group, send email to open-iscsi@googlegroups.com.
Visit this group at http://groups.google.com/group/open-iscsi.
For more options, visit https://groups.google.com/groups/opt_out.


[PATCH 3/3] iscsi class: remove unused active variable

2011-01-13 Thread michaelc
From: Mike Christie micha...@cs.wisc.edu

The active variable on the iscsi_cls_conn is not used
so this patch removes it.

Signed-off-by: Mike Christie micha...@cs.wisc.edu
---
 drivers/scsi/scsi_transport_iscsi.c |2 --
 include/scsi/scsi_transport_iscsi.h |1 -
 2 files changed, 0 insertions(+), 3 deletions(-)

diff --git a/drivers/scsi/scsi_transport_iscsi.c 
b/drivers/scsi/scsi_transport_iscsi.c
index 98b5bc9..56d32ef 100644
--- a/drivers/scsi/scsi_transport_iscsi.c
+++ b/drivers/scsi/scsi_transport_iscsi.c
@@ -975,7 +975,6 @@ iscsi_create_conn(struct iscsi_cls_session *session, int 
dd_size, uint32_t cid)
 
spin_lock_irqsave(connlock, flags);
list_add(conn-conn_list, connlist);
-   conn-active = 1;
spin_unlock_irqrestore(connlock, flags);
 
ISCSI_DBG_TRANS_CONN(conn, Completed conn creation\n);
@@ -1001,7 +1000,6 @@ int iscsi_destroy_conn(struct iscsi_cls_conn *conn)
unsigned long flags;
 
spin_lock_irqsave(connlock, flags);
-   conn-active = 0;
list_del(conn-conn_list);
spin_unlock_irqrestore(connlock, flags);
 
diff --git a/include/scsi/scsi_transport_iscsi.h 
b/include/scsi/scsi_transport_iscsi.h
index 45c1329..225fe57 100644
--- a/include/scsi/scsi_transport_iscsi.h
+++ b/include/scsi/scsi_transport_iscsi.h
@@ -162,7 +162,6 @@ struct iscsi_cls_conn {
uint32_t cid;   /* connection id */
struct iscsi_endpoint *ep;
 
-   int active; /* must be accessed with the connlock */
struct device dev;  /* sysfs transport/container device */
 };
 
-- 
1.7.2.3

-- 
You received this message because you are subscribed to the Google Groups 
open-iscsi group.
To post to this group, send email to open-iscsi@googlegroups.com.
To unsubscribe from this group, send email to 
open-iscsi+unsubscr...@googlegroups.com.
For more options, visit this group at 
http://groups.google.com/group/open-iscsi?hl=en.



[PATCH] isns: Fix endless loop when pollhup is returned

2010-08-25 Thread michaelc
From: Mike Christie mchri...@redhat.com

If we are trying to send data, but get a POLLHUP we get
stuck in a endless loop. The problem is that the isns
socket handling for POLLHUP only clears the POLLIN bit, so
when we do this check:

/* No more input and output means closeddead */
if (sock-is_state == ISNS_SOCK_IDLE
  !(sock-is_poll_mask  (POLLIN|POLLOUT))) {
isns_debug_socket(connection closed by peer,
killing socket\n);
isns_net_close(sock, ISNS_SOCK_FAILED);
}

the POLLOUT bit is still set and we never are able to close the old
socket and reconnect a new one or fail or pass the status to the
caller.

This patch has the pollhup callout clear the POLLOUT bit.

Signed-off-by: Mike Christie mchri...@redhat.com
---
 socket.c |2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)

diff --git a/socket.c b/socket.c
index baed13c..7a5dfd4 100644
--- a/socket.c
+++ b/socket.c
@@ -805,7 +805,7 @@ isns_net_stream_xmit(isns_socket_t *sock)
 void
 isns_net_stream_hup(isns_socket_t *sock)
 {
-   sock-is_poll_mask = ~POLLIN;
+   sock-is_poll_mask = ~(POLLIN|POLLOUT);
/* POLLHUP while connecting means we failed */
if (sock-is_state == ISNS_SOCK_CONNECTING)
isns_net_stream_error(sock, ECONNREFUSED);
-- 
1.7.2.1

-- 
You received this message because you are subscribed to the Google Groups 
open-iscsi group.
To post to this group, send email to open-is...@googlegroups.com.
To unsubscribe from this group, send email to 
open-iscsi+unsubscr...@googlegroups.com.
For more options, visit this group at 
http://groups.google.com/group/open-iscsi?hl=en.



[PATCH 2/2] RFC: iscsi ibft: convert iscsi_ibft module to iscsi boot lib

2010-04-12 Thread michaelc
From: Mike Christie micha...@cs.wisc.edu

This patch just converts the iscsi_ibft module to the
iscsi boot sysfs lib module.

This patch was made over the ibft-2.6 tree's ibft-1.03 branch:
http://git.kernel.org/?p=linux/kernel/git/konrad/ibft-2.6.git;a=shortlog;h=refs/heads/ibft-1.03

Signed-off-by: Mike Christie micha...@cs.wisc.edu
---
 drivers/firmware/Kconfig  |1 +
 drivers/firmware/iscsi_ibft.c |  698 +++--
 2 files changed, 248 insertions(+), 451 deletions(-)

diff --git a/drivers/firmware/Kconfig b/drivers/firmware/Kconfig
index 571d218..a6c670b 100644
--- a/drivers/firmware/Kconfig
+++ b/drivers/firmware/Kconfig
@@ -132,6 +132,7 @@ config ISCSI_BOOT_SYSFS
 
 config ISCSI_IBFT
tristate iSCSI Boot Firmware Table Attributes module
+   select ISCSI_BOOT_SYSFS
depends on ISCSI_IBFT_FIND
default n
help
diff --git a/drivers/firmware/iscsi_ibft.c b/drivers/firmware/iscsi_ibft.c
index b3ab24f..6d262be 100644
--- a/drivers/firmware/iscsi_ibft.c
+++ b/drivers/firmware/iscsi_ibft.c
@@ -82,6 +82,7 @@
 #include linux/string.h
 #include linux/types.h
 #include linux/acpi.h
+#include linux/iscsi_boot_sysfs.h
 
 #define IBFT_ISCSI_VERSION 0.5.0
 #define IBFT_ISCSI_DATE 2010-Feb-25
@@ -170,74 +171,6 @@ enum ibft_id {
 };
 
 /*
- * We do not support the other types, hence the usage of NULL.
- * This maps to the enum ibft_id.
- */
-static const char *ibft_id_names[] =
-   {NULL, NULL, initiator, ethernet%d, target%d, NULL, NULL};
-
-/*
- * The text attributes names for each of the kobjects.
-*/
-enum ibft_eth_properties_enum {
-   ibft_eth_index,
-   ibft_eth_flags,
-   ibft_eth_ip_addr,
-   ibft_eth_subnet_mask,
-   ibft_eth_origin,
-   ibft_eth_gateway,
-   ibft_eth_primary_dns,
-   ibft_eth_secondary_dns,
-   ibft_eth_dhcp,
-   ibft_eth_vlan,
-   ibft_eth_mac,
-   /* ibft_eth_pci_bdf - this is replaced by link to the device itself. */
-   ibft_eth_hostname,
-   ibft_eth_end_marker,
-};
-
-static const char *ibft_eth_properties[] =
-   {index, flags, ip-addr, subnet-mask, origin, gateway,
-   primary-dns, secondary-dns, dhcp, vlan, mac, hostname,
-   NULL};
-
-enum ibft_tgt_properties_enum {
-   ibft_tgt_index,
-   ibft_tgt_flags,
-   ibft_tgt_ip_addr,
-   ibft_tgt_port,
-   ibft_tgt_lun,
-   ibft_tgt_chap_type,
-   ibft_tgt_nic_assoc,
-   ibft_tgt_name,
-   ibft_tgt_chap_name,
-   ibft_tgt_chap_secret,
-   ibft_tgt_rev_chap_name,
-   ibft_tgt_rev_chap_secret,
-   ibft_tgt_end_marker,
-};
-
-static const char *ibft_tgt_properties[] =
-   {index, flags, ip-addr, port, lun, chap-type, nic-assoc,
-   target-name, chap-name, chap-secret, rev-chap-name,
-   rev-chap-name-secret, NULL};
-
-enum ibft_initiator_properties_enum {
-   ibft_init_index,
-   ibft_init_flags,
-   ibft_init_isns_server,
-   ibft_init_slp_server,
-   ibft_init_pri_radius_server,
-   ibft_init_sec_radius_server,
-   ibft_init_initiator_name,
-   ibft_init_end_marker,
-};
-
-static const char *ibft_initiator_properties[] =
-   {index, flags, isns-server, slp-server, pri-radius-server,
-   sec-radius-server, initiator-name, NULL};
-
-/*
  * The kobject and attribute structures.
  */
 
@@ -249,29 +182,9 @@ struct ibft_kobject {
struct ibft_tgt *tgt;
struct ibft_hdr *hdr;
};
-   struct kobject kobj;
-   struct list_head node;
 };
 
-struct ibft_attribute {
-   struct attribute attr;
-   ssize_t (*show) (struct  ibft_kobject *entry,
-struct ibft_attribute *attr, char *buf);
-   union {
-   struct ibft_initiator *initiator;
-   struct ibft_nic *nic;
-   struct ibft_tgt *tgt;
-   struct ibft_hdr *hdr;
-   };
-   struct kobject *kobj;
-   int type; /* The enum of the type. This can be any value of:
-   ibft_eth_properties_enum, ibft_tgt_properties_enum,
-   or ibft_initiator_properties_enum. */
-   struct list_head node;
-};
-
-static LIST_HEAD(ibft_attr_list);
-static LIST_HEAD(ibft_kobject_list);
+static struct iscsi_boot_kset *boot_kset;
 
 static const char nulls[16];
 
@@ -310,35 +223,27 @@ static ssize_t sprintf_string(char *str, int len, char 
*buf)
 static int ibft_verify_hdr(char *t, struct ibft_hdr *hdr, int id, int length)
 {
if (hdr-id != id) {
-   printk(KERN_ERR iBFT error: We expected the  \
+   printk(KERN_ERR iBFT error: We expected the %s  \
field header.id to have %d but  \
-   found %d instead!\n, id, hdr-id);
+   found %d instead!\n, t, id, hdr-id);
return -ENODEV;
}
if (hdr-length != length) {
-   printk(KERN_ERR iBFT error: We expected the  \
+  

[PATCH 1/2] RFC: iscsi ibft: separate ibft parsing from sysfs interface

2010-04-12 Thread michaelc
From: Mike Christie micha...@cs.wisc.edu

Not all iscsi drivers support ibft. For drivers like be2iscsi
that do not but are bootable through a vendor firmware specific
format/process this patch moves the sysfs interface from the ibft code
to a lib module. This then allows userspace tools to search for iscsi boot
info in a common place and in a common format.

ibft iscsi boot info is exported in the same place as it was
before: /sys/firmware/ibft.

vendor/fw boot info gets export in /sys/firmware/iscsi_bootX, where X is the
scsi host number of the HBA. Underneath these parent dirs, the
target, ethernet, and initiator dirs are the same as they were before.

This patch was made over the ibft-2.6 tree's ibft-1.03 branch:
http://git.kernel.org/?p=linux/kernel/git/konrad/ibft-2.6.git;a=shortlog;h=refs/heads/ibft-1.03


Signed-off-by: Mike Christie micha...@cs.wisc.edu
---
 drivers/firmware/Kconfig|8 +
 drivers/firmware/Makefile   |1 +
 drivers/firmware/iscsi_boot_sysfs.c |  481 +++
 include/linux/iscsi_boot_sysfs.h|  123 +
 4 files changed, 613 insertions(+), 0 deletions(-)
 create mode 100644 drivers/firmware/iscsi_boot_sysfs.c
 create mode 100644 include/linux/iscsi_boot_sysfs.h

diff --git a/drivers/firmware/Kconfig b/drivers/firmware/Kconfig
index 1b03ba1..571d218 100644
--- a/drivers/firmware/Kconfig
+++ b/drivers/firmware/Kconfig
@@ -122,6 +122,14 @@ config ISCSI_IBFT_FIND
  is necessary for iSCSI Boot Firmware Table Attributes module to work
  properly.
 
+config ISCSI_BOOT_SYSFS
+   tristate iSCSI Boot Sysfs Interface
+   default n
+   help
+ This option enables support for exposing iSCSI boot information
+ via sysfs to userspace. If you wish to export this information,
+ say Y. Otherwise, say N.
+
 config ISCSI_IBFT
tristate iSCSI Boot Firmware Table Attributes module
depends on ISCSI_IBFT_FIND
diff --git a/drivers/firmware/Makefile b/drivers/firmware/Makefile
index 1c3c173..5fe7e16 100644
--- a/drivers/firmware/Makefile
+++ b/drivers/firmware/Makefile
@@ -10,4 +10,5 @@ obj-$(CONFIG_DCDBAS)  += dcdbas.o
 obj-$(CONFIG_DMIID)+= dmi-id.o
 obj-$(CONFIG_ISCSI_IBFT_FIND)  += iscsi_ibft_find.o
 obj-$(CONFIG_ISCSI_IBFT)   += iscsi_ibft.o
+obj-$(CONFIG_ISCSI_BOOT_SYSFS) += iscsi_boot_sysfs.o
 obj-$(CONFIG_FIRMWARE_MEMMAP)  += memmap.o
diff --git a/drivers/firmware/iscsi_boot_sysfs.c 
b/drivers/firmware/iscsi_boot_sysfs.c
new file mode 100644
index 000..df6bff7
--- /dev/null
+++ b/drivers/firmware/iscsi_boot_sysfs.c
@@ -0,0 +1,481 @@
+/*
+ * Export the iSCSI boot info to userland via sysfs.
+ *
+ * Copyright (C) 2010 Red Hat, Inc.  All rights reserved.
+ * Copyright (C) 2010 Mike Christie
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License v2.0 as published by
+ * the Free Software Foundation
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ */
+
+#include linux/module.h
+#include linux/string.h
+#include linux/slab.h
+#include linux/sysfs.h
+#include linux/capability.h
+#include linux/iscsi_boot_sysfs.h
+
+
+MODULE_AUTHOR(Mike Christie micha...@cs.wisc.edu);
+MODULE_DESCRIPTION(sysfs interface and helpers to export iSCSI boot 
information);
+MODULE_LICENSE(GPL);
+/*
+ * The kobject and attribute structures.
+ */
+struct iscsi_boot_attr {
+   struct attribute attr;
+   int type;
+   ssize_t (*show) (void *data, int type, char *buf);
+};
+
+/*
+ * The routine called for all sysfs attributes.
+ */
+static ssize_t iscsi_boot_show_attribute(struct kobject *kobj,
+struct attribute *attr, char *buf)
+{
+   struct iscsi_boot_kobj *boot_kobj =
+   container_of(kobj, struct iscsi_boot_kobj, kobj);
+   struct iscsi_boot_attr *boot_attr =
+   container_of(attr, struct iscsi_boot_attr, attr);
+   ssize_t ret = -EIO;
+   char *str = buf;
+
+   if (!capable(CAP_SYS_ADMIN))
+   return -EACCES;
+
+   if (boot_kobj-show)
+   ret = boot_kobj-show(boot_kobj-data, boot_attr-type, str);
+   return ret;
+}
+
+static const struct sysfs_ops iscsi_boot_attr_ops = {
+   .show = iscsi_boot_show_attribute,
+};
+
+static void iscsi_boot_kobj_release(struct kobject *kobj)
+{
+   struct iscsi_boot_kobj *boot_kobj =
+   container_of(kobj, struct iscsi_boot_kobj, kobj);
+
+   kfree(boot_kobj-data);
+   kfree(boot_kobj);
+}
+
+static struct kobj_type iscsi_boot_ktype = {
+   .release = iscsi_boot_kobj_release,
+   .sysfs_ops = iscsi_boot_attr_ops,
+};
+
+#define iscsi_boot_rd_attr(fnname, sysfs_name, attr_type)

Re: Specify SCSI ID

2008-09-29 Thread michaelc



On Sep 28, 8:58 am, Nick [EMAIL PROTECTED] wrote:
 I'm trying to use open-iscsi to connect to an iSCSI-based tape
 library.  The library has two drives, so there are three IDs.
 Unfortunately, the library is picky about having the same SCSI IDs as
 are configured directly on the library, which means on the iSCSI
 client end I need to make sure that the devices show up with those
 same IDs.  This presents two problems:
 1) Each of the devices is presented as a separate iSCSI target.  This
 means that when open-iscsi connects to these three targets, they each
 get put on a different SCSI bus.  Any way to force all three targets
 onto the same bus?
 2) open-iscsi starts ID numbering at 0.  Is there any way to configure
 an iSCSI target to show up at a certain ID?  So, my tape library is
 SCSI ID 8, my first drive is 9, and my second drive is 10.  Is there
 any way to configure these targets to show up at IDs 8, 9, and 10?



Are you familar with udev? Each target has a unique name right? Since
each target has one device, you could write a udev rule that grabs the
target name and for target X creates a special /dev/my_device_name for
the tape device accessed through it.
--~--~-~--~~~---~--~~
You received this message because you are subscribed to the Google Groups 
open-iscsi group.
To post to this group, send email to open-iscsi@googlegroups.com
To unsubscribe from this group, send email to [EMAIL PROTECTED]
For more options, visit this group at http://groups.google.com/group/open-iscsi
-~--~~~~--~~--~--~---



Re: OpenSuse 10sp3 conn error

2008-09-29 Thread michaelc

On Sep 27, 9:26 am, iscsiFans [EMAIL PROTECTED] wrote:
 Hi,all,
I have install Opensuse 10sp3 (x86_64)+ Open-iscsi 2.865(iscsid) +
 Multipath-tools-0.4.7-80, Config and login is ok but I find /var/log/
 messages have many conne error, so multipath is change-link many
 times, sometime when conn error, the server is hang, such as:
 iscsid v2.0.866
Sep 26 11:49:34 linux-j2cx iscsid: can not send nopin response



  I try to change the noop_timeout parameter, But it's no use:

I do not think changing that value will help in this case, because
above the target is sending us a nop and we are trying to respond to
it. For some reason we are failing on sending a response the targets
nop.

What target are you using btw?

If you could run iscsid by hand with debugging by doing

# iscsid -d 8 -f 

we can see why it is failing. You might need to stop the iscsi
service, then run

# iscsiad -d 8 -f 
# iscsiadm -m node -L automatic

or instead of the last command you can log into a specific target by
doing

iscsiadm -m node -T target -p ip -l

Send all the out put from the iscsid.

--~--~-~--~~~---~--~~
You received this message because you are subscribed to the Google Groups 
open-iscsi group.
To post to this group, send email to open-iscsi@googlegroups.com
To unsubscribe from this group, send email to [EMAIL PROTECTED]
For more options, visit this group at http://groups.google.com/group/open-iscsi
-~--~~~~--~~--~--~---



Re: iSNS not broadcasting a new target

2008-09-29 Thread michaelc

On Sep 29, 11:59 am, [EMAIL PROTECTED] wrote:
 its client interacts with open-iscsi. For upstream we are still
 waiting to hook into open-isns (the oracle one) or linux-isns (it
 still needs a lib last I looked) to really do isns properly.


Sorry to go offtopic, but if open solaris had a good isns library that
initiators can hook into I would not be against using that. If you
guys are interested let me know.
--~--~-~--~~~---~--~~
You received this message because you are subscribed to the Google Groups 
open-iscsi group.
To post to this group, send email to open-iscsi@googlegroups.com
To unsubscribe from this group, send email to [EMAIL PROTECTED]
For more options, visit this group at http://groups.google.com/group/open-iscsi
-~--~~~~--~~--~--~---