Thanks Jan. Works for me. Eddie, please review too, and then I will merge if ok with you too.
On 06/26/2013 08:55 AM, Jan Vesely wrote: > From: Jan Vesely <jves...@redhat.com> > > Without this patch connections to iscsiuio fail, and strace prints: > > connect(8, {sa_family=AF_FILE, path=@"ISCSID_UIP_ABSTRACT_NAMESPACE"}, 32) = > -1 ECONNREFUSED (Connection refused) > > Note that updating mgmt_ipc_listen and ipc_connect to use sizeof(addr) instead > of the precomputed values also fixes the issue. > Looks like "(Null bytes in the name have no special significance.)" [man 7 > unix] is the culprit here. > > Signed-off-by: Jan Vesely <jves...@redhat.com> > --- > iscsiuio/src/unix/iscsid_ipc.c | 6 ++++-- > 1 file changed, 4 insertions(+), 2 deletions(-) > > diff --git a/iscsiuio/src/unix/iscsid_ipc.c b/iscsiuio/src/unix/iscsid_ipc.c > index 5c097e6..e22de0d 100644 > --- a/iscsiuio/src/unix/iscsid_ipc.c > +++ b/iscsiuio/src/unix/iscsid_ipc.c > @@ -958,7 +958,7 @@ static void *iscsid_loop(void *arg) > */ > int iscsid_init() > { > - int rc; > + int rc, addr_len; > struct sockaddr_un addr; > > iscsid_opts.fd = socket(AF_LOCAL, SOCK_STREAM, 0); > @@ -967,12 +967,14 @@ int iscsid_init() > return iscsid_opts.fd; > } > > + addr_len = offsetof(struct sockaddr_un, sun_path) + > strlen(ISCSID_UIP_NAMESPACE) + 1; > + > memset(&addr, 0, sizeof(addr)); > addr.sun_family = AF_LOCAL; > memcpy((char *)&addr.sun_path + 1, ISCSID_UIP_NAMESPACE, > strlen(ISCSID_UIP_NAMESPACE)); > > - rc = bind(iscsid_opts.fd, (struct sockaddr *)&addr, sizeof(addr)); > + rc = bind(iscsid_opts.fd, (struct sockaddr *)&addr, addr_len); > if (rc < 0) { > LOG_ERR(PFX "Can not bind IPC socket: %s", strerror(errno)); > goto error; > -- 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.