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;
        }
 

Reply via email to