• Trond Myklebust's avatar
    NFS: Further optimise nfs_lock_and_join_requests() · 74a6d4b5
    Trond Myklebust authored
    When locking the entire group in order to remove subrequests,
    the locks are always taken in order, and with the page group
    lock being taken after the page head is locked. The intention
    is that:
    
    1) The lock on the group head guarantees that requests may not
       be removed from the group (although new entries could be appended
       if we're not holding the group lock).
    2) It is safe to drop and retake the page group lock while iterating
       through the list, in particular when waiting for a subrequest lock.
    Signed-off-by: default avatarTrond Myklebust <trond.myklebust@primarydata.com>
    74a6d4b5
write.c 55.8 KB