diff --git a/fs/nfsd/filecache.c b/fs/nfsd/filecache.c index 4a3796c6bd95..677a8d935ccc 100644 --- a/fs/nfsd/filecache.c +++ b/fs/nfsd/filecache.c @@ -1173,9 +1173,7 @@ open_file: status = nfserr_jukebox; if (status != nfs_ok) nfsd_file_unhash(nf); - clear_bit_unlock(NFSD_FILE_PENDING, &nf->nf_flags); - smp_mb__after_atomic(); - wake_up_bit(&nf->nf_flags, NFSD_FILE_PENDING); + clear_and_wake_up_bit(NFSD_FILE_PENDING, &nf->nf_flags); goto out; }