fs: dlm: retry accept() until -EAGAIN or error returns
JIRA: https://issues.redhat.com/browse/RHELPLAN-137317 Bugzilla: https://bugzilla.redhat.com/show_bug.cgi?id=2136910 Upstream Status: kernel/git/torvalds/linux.git
This patch fixes a race if we get two times an socket data ready event while the listen connection worker is queued. Currently it will be served only once but we need to do it (in this case twice) until we hit -EAGAIN which tells us there is no pending accept going on.
This patch wraps an do while loop until we receive a return value which is different than 0 as it was done before commit d11ccd45 ("fs: dlm: listen socket out of connection hash").
Fixes: d11ccd45 ("fs: dlm: listen socket out of connection hash") Signed-off-by: Alexander Aring aahringo@redhat.com Signed-off-by: David Teigland teigland@redhat.com (cherry picked from commit f0f4bb431bd543ed7bebbaea3ce326cfcd5388bc)