• Petr Vandrovec's avatar
    [PATCH] ncpfs fails to correctly retry requests on timeout · d4aecd1a
    Petr Vandrovec authored
    sock_sendmsg() modifies iovec passed to it - it sets all length members of
    iovec array to zero on success transmission (and even on failed if it
    fails after iovec copy, but...) and advances pointers to point at the end
    of buffers used. This has an unfortunate effect that ncpfs's retry on
    failure does not work for IPX/UDP connections - kernel refused to do anything
    because length from iovec was 0 while length passed to sock_sendmsg() was
    correct.
    
    This simple fix gets rid of a problem by creating temporary iovec copy, which can
    sock_sendmsg destroy if it has such wish.
    d4aecd1a
sock.c 22.7 KB