Create a vp->v_object in VFS_FHTOVP() if we want to be exportable

with NFS.

We are moving responsibility for creating the vnode_pager object into
the filesystems which own the vnode, and this is one of the places
we have to cover.

We call vnode_create_vobject() directly because we own the vnode.

If we can get the size easily, pass it as an argument to save the
call to VOP_GETATTR() in vnode_create_vobject()
This commit is contained in:
Poul-Henning Kamp 2005-01-24 21:51:19 +00:00
parent d07a6d3f61
commit 625d4bc03a
Notes: svn2git 2020-12-20 02:59:44 +00:00
svn path=/head/; revision=140768
8 changed files with 8 additions and 1 deletions

View File

@ -616,6 +616,7 @@ cd9660_fhtovp(mp, fhp, vpp)
return (ESTALE);
}
*vpp = nvp;
vnode_create_vobject(*vpp, 0, curthread);
return (0);
}

View File

@ -940,6 +940,7 @@ msdosfs_fhtovp(mp, fhp, vpp)
return (error);
}
*vpp = DETOV(dep);
vnode_create_vobject(*vpp, dep->de_FileSize, curthread);
return (0);
}

View File

@ -608,7 +608,7 @@ ntfs_fhtovp(
/* XXX as unlink/rmdir/mkdir/creat are not currently possible
* with NTFS, we don't need to check anything else for now */
*vpp = nvp;
vnode_create_vobject(nvp, VTOF(nvp)->f_size, curthread);
return (0);
}

View File

@ -705,6 +705,7 @@ udf_fhtovp(struct mount *mp, struct fid *fhp, struct vnode **vpp)
}
*vpp = nvp;
vnode_create_vobject(*vpp, 0, curthread);
return (0);
}

View File

@ -1093,6 +1093,7 @@ ext2_fhtovp(mp, fhp, vpp)
return (ESTALE);
}
*vpp = nvp;
vnode_create_vobject(*vpp, 0, curthread);
return (0);
}

View File

@ -1093,6 +1093,7 @@ ext2_fhtovp(mp, fhp, vpp)
return (ESTALE);
}
*vpp = nvp;
vnode_create_vobject(*vpp, 0, curthread);
return (0);
}

View File

@ -616,6 +616,7 @@ cd9660_fhtovp(mp, fhp, vpp)
return (ESTALE);
}
*vpp = nvp;
vnode_create_vobject(*vpp, 0, curthread);
return (0);
}

View File

@ -206,5 +206,6 @@ ufs_fhtovp(mp, ufhp, vpp)
return (ESTALE);
}
*vpp = nvp;
vnode_create_vobject(*vpp, 0, curthread);
return (0);
}