[bug #17355] glusterfsd - all socket operations should be ensured not to block

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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/





[Index of Archives]     [Gluster Users]     [Ceph Users]     [Linux ARM Kernel]     [Linux ARM]     [Linux Omap]     [Fedora ARM]     [IETF Annouce]     [Security]     [Bugtraq]     [Linux]     [Linux OMAP]     [Linux MIPS]     [eCos]     [Asterisk Internet PBX]     [Linux API]

  Powered by Linux