if (IS_ERR(fp))
SRETURN(-PTR_ERR(fp));
+#ifdef HAVE_2ARGS_VFS_GETATTR
+ rc = vfs_getattr(&fp->f_path, &stat);
+#else
rc = vfs_getattr(fp->f_path.mnt, fp->f_dentry, &stat);
+#endif
if (rc) {
filp_close(fp, 0);
SRETURN(-rc);
fp = vp->v_file;
- rc = vfs_getattr(fp->f_path.mnt, fp->f_dentry, &stat);
+#ifdef HAVE_2ARGS_VFS_GETATTR
+ rc = vfs_getattr(&fp->f_path, &stat);
+#else
+ rc = vfs_getattr(fp->f_path.mnt, fp->f_dentry, &stat);
+#endif
if (rc)
SRETURN(-rc);
if (vp == NULL)
SGOTO(out_fget, rc);
- if (vfs_getattr(lfp->f_path.mnt, lfp->f_dentry, &stat))
+#ifdef HAVE_2ARGS_VFS_GETATTR
+ rc = vfs_getattr(&lfp->f_path, &stat);
+#else
+ rc = vfs_getattr(lfp->f_path.mnt, lfp->f_dentry, &stat);
+#endif
+ if (rc)
SGOTO(out_vnode, rc);
mutex_enter(&vp->v_lock);