e3c68b
From 0c996d6c40c625f8a0ee6be2c220c89aaf70c840 Mon Sep 17 00:00:00 2001
e3c68b
From: Mohit Agrawal <moagrawal@redhat.com>
e3c68b
Date: Tue, 10 Dec 2019 08:35:23 +0530
e3c68b
Subject: [PATCH 340/344] rpc: event_slot_alloc converted infinite loop after
e3c68b
 reach slot_used to 1024
e3c68b
e3c68b
Problem: In the commit faf5ac13c4ee00a05e9451bf8da3be2a9043bbf2 missed one
e3c68b
         condition to come out from the loop so after reach the slot_used to
e3c68b
         1024 loop has become infinite loop
e3c68b
e3c68b
Solution: Correct the code path to avoid the infinite loop
e3c68b
e3c68b
> Change-Id: Ia02a109571f0d8cc9902c32db3e9b9282ee5c1db
e3c68b
> Fixes: bz#1781440
e3c68b
> Credits: Xavi Hernandez <xhernandez@redhat.com>
e3c68b
> Signed-off-by: Mohit Agrawal <moagrawal@redhat.com>
e3c68b
> (Cherry picked from commit 8030f9c0f092170ceb50cedf59b9c330022825b7)
e3c68b
> (Reviewed on upstream link https://review.gluster.org/#/c/glusterfs/+/23843/)
e3c68b
e3c68b
Change-Id: Ia02a109571f0d8cc9902c32db3e9b9282ee5c1db
e3c68b
BUG: 1781444
e3c68b
Credits: Xavi Hernandez <xhernandez@redhat.com>
e3c68b
Signed-off-by: Mohit Agrawal <moagrawa@redhat.com>
e3c68b
Reviewed-on: https://code.engineering.redhat.com/gerrit/187460
e3c68b
Tested-by: RHGS Build Bot <nigelb@redhat.com>
e3c68b
Reviewed-by: Xavi Hernandez Juan <xhernandez@redhat.com>
e3c68b
---
e3c68b
 libglusterfs/src/event-epoll.c | 2 +-
e3c68b
 1 file changed, 1 insertion(+), 1 deletion(-)
e3c68b
e3c68b
diff --git a/libglusterfs/src/event-epoll.c b/libglusterfs/src/event-epoll.c
e3c68b
index 65f5efd..5afb2f2 100644
e3c68b
--- a/libglusterfs/src/event-epoll.c
e3c68b
+++ b/libglusterfs/src/event-epoll.c
e3c68b
@@ -92,7 +92,7 @@ retry:
e3c68b
     while (i < EVENT_EPOLL_TABLES) {
e3c68b
         switch (event_pool->slots_used[i]) {
e3c68b
             case EVENT_EPOLL_SLOTS:
e3c68b
-                continue;
e3c68b
+                break;
e3c68b
             case 0:
e3c68b
                 if (!event_pool->ereg[i]) {
e3c68b
                     table = __event_newtable(event_pool, i);
e3c68b
-- 
e3c68b
1.8.3.1
e3c68b