Revert "SUNRPC: Use RMW bitops in single-threaded hot paths"
[platform/kernel/linux-starfive.git] / fs / nfsd / filecache.c
index 29a62db..ec3fceb 100644 (file)
@@ -893,9 +893,8 @@ __nfsd_file_cache_purge(struct net *net)
 
                nf = rhashtable_walk_next(&iter);
                while (!IS_ERR_OR_NULL(nf)) {
-                       if (net && nf->nf_net != net)
-                               continue;
-                       nfsd_file_unhash_and_dispose(nf, &dispose);
+                       if (!net || nf->nf_net == net)
+                               nfsd_file_unhash_and_dispose(nf, &dispose);
                        nf = rhashtable_walk_next(&iter);
                }
 
@@ -1077,6 +1076,7 @@ retry:
                goto open_file;
 
        nfsd_file_slab_free(&nf->nf_rcu);
+       nf = NULL;
        if (ret == -EEXIST)
                goto retry;
        trace_nfsd_file_insert_err(rqstp, key.inode, may_flags, ret);