[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


                 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



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

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:


  Message sent via/by Savannah

More information about the Gluster-devel mailing list