• Al Viro's avatar
    orangefs: bufmap rewrite · ea2c9c9f
    Al Viro authored
    new waiting-for-slot logics:
    	* make request for slot wait for bufmap to be set up if it
    comes before it's installed *OR* while it's running down
    	* make closing control device wait for all slots to be freed
    	* waiting itself rewritten to (open-coded) analogues of wait_event_...
    primitives - we would need wait_event_locked() and, pardon an obscenely
    long name, wait_event_interruptible_exclusive_timeout_locked().
    	* we never wait for more than slot_timeout_secs in total and,
    if during the wait the daemon goes away, we only allow
    ORANGEFS_BUFMAP_WAIT_TIMEOUT_SECS for it to come back.
    	* (cosmetical) bitmap is used instead of an array of zeroes and ones
    	* old (and only reached if we are about to corrupt memory) waiting
    for daemon restart in service_operation() removed.
    
    [Martin's fixes folded]
    Signed-off-by: default avatarAl Viro <viro@zeniv.linux.org.uk>
    Signed-off-by: default avatarMike Marshall <hubcap@omnibond.com>
    ea2c9c9f
waitqueue.c 8.59 KB