]> git.karo-electronics.de Git - karo-tx-linux.git/blobdiff - fs/nfsd/nfs3xdr.c
Merge remote-tracking branch 'thermal/next'
[karo-tx-linux.git] / fs / nfsd / nfs3xdr.c
index 925c944bc0bc4182eb382547e13cb1a10d59123c..14d9ecb96cff0ba476549467fbc321f94ea55ff3 100644 (file)
@@ -11,6 +11,7 @@
 #include "xdr3.h"
 #include "auth.h"
 #include "netns.h"
+#include "vfs.h"
 
 #define NFSDDBG_FACILITY               NFSDDBG_XDR
 
@@ -206,10 +207,10 @@ encode_post_op_attr(struct svc_rqst *rqstp, __be32 *p, struct svc_fh *fhp)
 {
        struct dentry *dentry = fhp->fh_dentry;
        if (dentry && dentry->d_inode) {
-               int err;
+               __be32 err;
                struct kstat stat;
 
-               err = vfs_getattr(fhp->fh_export->ex_path.mnt, dentry, &stat);
+               err = fh_getattr(fhp, &stat);
                if (!err) {
                        *p++ = xdr_one;         /* attributes follow */
                        lease_get_mtime(dentry->d_inode, &stat.mtime);
@@ -256,13 +257,12 @@ encode_wcc_data(struct svc_rqst *rqstp, __be32 *p, struct svc_fh *fhp)
  */
 void fill_post_wcc(struct svc_fh *fhp)
 {
-       int err;
+       __be32 err;
 
        if (fhp->fh_post_saved)
                printk("nfsd: inode locked twice during operation.\n");
 
-       err = vfs_getattr(fhp->fh_export->ex_path.mnt, fhp->fh_dentry,
-                       &fhp->fh_post_attr);
+       err = fh_getattr(fhp, &fhp->fh_post_attr);
        fhp->fh_post_change = fhp->fh_dentry->d_inode->i_version;
        if (err) {
                fhp->fh_post_saved = 0;