Hi Julian, Thanks for the reply. Could you try the patch I posted? I attached it in this mail too. It should fix the recv context problem without having to modify the POOL MAX setting.
On 07/18/2013 11:40 AM, Julian Freed wrote: > Hi, you need to increase MAX in the source file > open-iscsi<version>/usr/initiator.h #define CONTEXT_POOL_MAX 32 > Obviously you need to download sources and compile. > It solves this problem. > This problem happens when you have many devices or high loasd of io > I use it in with ISCSI-SCST and still have other problems, when using > many devices, and high io load > > > > On Saturday, July 6, 2013 6:34:08 PM UTC+3, myk...@gmail.com wrote: > > Exactly. I can log in but I do not see any LUNs. > > -- > 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. > > -- 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.
diff --git a/usr/event_poll.c b/usr/event_poll.c index f36fec1..939f1a2 100644 --- a/usr/event_poll.c +++ b/usr/event_poll.c @@ -165,8 +165,11 @@ void event_loop(struct iscsi_ipc *ipc, int control_fd, int mgmt_ipc_fd) "exiting", res, errno); break; } - } else + } + + if (res >= 0) actor_poll(); + reap_proc(); /* * flush sysfs cache since kernel objs may diff --git a/usr/netlink.c b/usr/netlink.c index c07fe3c..754c3ea 100644 --- a/usr/netlink.c +++ b/usr/netlink.c @@ -1545,8 +1545,8 @@ static int ctldev_handle(void) ev_context = ipc_ev_clbk->get_ev_context(conn, ev_size); if (!ev_context) { - /* retry later */ log_error("Can not allocate memory for receive context."); + drop_data(nlh); return -ENOMEM; }