• J. Bruce Fields's avatar
    nfsd: use i_wrlock instead of rcu for nfsdfs i_private · dc46bba7
    J. Bruce Fields authored
    synchronize_rcu() gets called multiple times each time a client is
    destroyed.  If the laundromat thread has a lot of clients to destroy,
    the delay can be noticeable.  This was causing pynfs test RENEW3 to
    fail.
    
    We could embed an rcu_head in each inode and do the kref_put in an rcu
    callback.  But simplest is just to take a lock here.
    
    (I also wonder if the laundromat thread would be better replaced by a
    bunch of scheduled work or timers or something.)
    Signed-off-by: default avatarJ. Bruce Fields <bfields@redhat.com>
    dc46bba7
nfsctl.c 39 KB