[Gluster-devel] [bug #17355] glusterfsd - all socket operations should be ensured not to block
Anand Avati
INVALID.NOREPLY at gnu.org
Mon Aug 7 12:52:20 UTC 2006
URL:
<http://savannah.nongnu.org/bugs/?func=detailitem&item_id=17355>
Summary: glusterfsd - all socket operations should be
ensured not to block
Project: Gluster
Submitted by: avati
Submitted on: Monday 08/07/2006 at 12:52
Category: GlusterFS
Severity: 4 - Important
Priority: 5 - Normal
Item Group: Improper behaviour
Status: None
Privacy: Public
Assigned to: amarts
Open/Closed: Open
Operating System: GNU/Linux
_______________________________________________________
Details:
all read/write operations on sockets should be ensured not to block.
currently all read()s happen after poll(). But all write() (reply from fops)
happen without check, which can possibly lead to blocking indefinitely.
all socket operations should happen with a poll() check for both write and
read.
all FILE * operations should be changed and should use the transport api's
being added (tracked by #17354) which uses socket fd directly.
the non-blocking write may involve implementing a write queue which is
flushed after poll() indicates write-ready.
Over clogging of the write-queue should be ensured by not read()ing from a
socket which has N write-queue entries. (do not process requests from a
socket which has not accepted the previous replies)
_______________________________________________________
Reply to this item at:
<http://savannah.nongnu.org/bugs/?func=detailitem&item_id=17355>
_______________________________________________
Message sent via/by Savannah
http://savannah.nongnu.org/
More information about the Gluster-devel
mailing list