]> git.karo-electronics.de Git - karo-tx-linux.git/blobdiff - fs/nfsd/nfs3proc.c
[XFS] do barrier checks earlier. quota initialization may write to the
[karo-tx-linux.git] / fs / nfsd / nfs3proc.c
index 041380fe667b0fff5a17ee65fd7ebf013660766f..6d2dfed1de087a7a9b53961698bf521a811a51ee 100644 (file)
@@ -56,13 +56,20 @@ static int
 nfsd3_proc_getattr(struct svc_rqst *rqstp, struct nfsd_fhandle  *argp,
                                           struct nfsd3_attrstat *resp)
 {
-       int     nfserr;
+       int     err, nfserr;
 
        dprintk("nfsd: GETATTR(3)  %s\n",
-                               SVCFH_fmt(&argp->fh));
+               SVCFH_fmt(&argp->fh));
 
        fh_copy(&resp->fh, &argp->fh);
        nfserr = fh_verify(rqstp, &resp->fh, 0, MAY_NOP);
+       if (nfserr)
+               RETURN_STATUS(nfserr);
+
+       err = vfs_getattr(resp->fh.fh_export->ex_mnt,
+                         resp->fh.fh_dentry, &resp->stat);
+       nfserr = nfserrno(err);
+
        RETURN_STATUS(nfserr);
 }