• Jeff Layton's avatar
    cifs: convert cifs_writepages to use async writes · c3d17b63
    Jeff Layton authored
    Have cifs_writepages issue asynchronous writes instead of waiting on
    each write call to complete before issuing another. This also allows us
    to return more quickly from writepages. It can just send out all of the
    I/Os and not wait around for the replies.
    
    In the WB_SYNC_ALL case, if the write completes with a retryable error,
    then the completion workqueue job will resend the write.
    
    This also changes the page locking semantics a little bit. Instead of
    holding the page lock until the response is received, release it after
    doing the send. This will reduce contention for the page lock and should
    prevent processes that have the file mmap'ed from being blocked
    unnecessarily.
    Signed-off-by: default avatarJeff Layton <jlayton@redhat.com>
    Reviewed-and-Tested-by: default avatarPavel Shilovsky <piastry@etersoft.ru>
    Signed-off-by: default avatarSteve French <sfrench@us.ibm.com>
    c3d17b63
file.c 61.6 KB