__be32 err = nfsd_open(rqstp, fhp, S_IFREG, NFSD_MAY_READ, &file);
        if (!err) {
                err = nfserrno(vfs_test_lock(file, lock));
-               nfsd_close(file);
+               fput(file);
        }
        return err;
 }
 
 
        host_err = ima_file_check(file, may_flags, 0);
        if (host_err) {
-               nfsd_close(file);
+               fput(file);
                goto out_nfserr;
        }
 
        return err;
 }
 
-/*
- * Close a file.
- */
-void
-nfsd_close(struct file *filp)
-{
-       fput(filp);
-}
-
 /*
  * Obtain the readahead parameters for the file
  * specified by (dev, ino).
                ra->p_count--;
                spin_unlock(&rab->pb_lock);
        }
-       nfsd_close(file);
+       fput(file);
 }
 
 /*
                if (cnt)
                        err = nfsd_vfs_write(rqstp, fhp, file, offset, vec, vlen,
                                             cnt, stablep);
-               nfsd_close(file);
+               fput(file);
        }
 out:
        return err;
                        err = nfserr_notsupp;
        }
 
-       nfsd_close(file);
+       fput(file);
 out:
        return err;
 }
        if (err == nfserr_eof || err == nfserr_toosmall)
                err = nfs_ok; /* can still be found in ->err */
 out_close:
-       nfsd_close(file);
+       fput(file);
 out:
        return err;
 }
 
 #endif /* CONFIG_NFSD_V3 */
 __be32         nfsd_open(struct svc_rqst *, struct svc_fh *, umode_t,
                                int, struct file **);
-void           nfsd_close(struct file *);
 struct raparms;
 __be32         nfsd_get_tmp_read_open(struct svc_rqst *, struct svc_fh *,
                                struct file **, struct raparms **);