Lines Matching refs:mp

82 nullfs_mount(struct mount *mp)  in nullfs_mount()  argument
93 NULLFSDEBUG("nullfs_mount(mp = %p)\n", (void *)mp); in nullfs_mount()
95 if (mp->mnt_flag & MNT_ROOTFS) in nullfs_mount()
101 if (mp->mnt_flag & MNT_UPDATE) { in nullfs_mount()
105 if (vfs_flagopt(mp->mnt_optnew, "export", NULL, 0)) in nullfs_mount()
114 error = vfs_getopt(mp->mnt_optnew, "from", (void **)&target, &len); in nullfs_mount()
116 error = vfs_getopt(mp->mnt_optnew, "target", (void **)&target, &len); in nullfs_mount()
123 if (mp->mnt_vnodecovered->v_op == &null_vnodeops && in nullfs_mount()
124 VOP_ISLOCKED(mp->mnt_vnodecovered) == LK_EXCLUSIVE) { in nullfs_mount()
125 VOP_UNLOCK(mp->mnt_vnodecovered); in nullfs_mount()
143 vn_lock(mp->mnt_vnodecovered, LK_EXCLUSIVE | LK_RETRY); in nullfs_mount()
157 if (mp->mnt_vnodecovered->v_op == &null_vnodeops) { in nullfs_mount()
158 nn = VTONULL(mp->mnt_vnodecovered); in nullfs_mount()
171 lowerrootvp->v_type != mp->mnt_vnodecovered->v_type) { in nullfs_mount()
184 xmp->nullm_vfs = vfs_register_upper_from_vp(lowerrootvp, mp, in nullfs_mount()
193 mp->mnt_data = xmp; in nullfs_mount()
198 error = null_nodeget(mp, lowerrootvp, &nullm_rootvp); in nullfs_mount()
207 MNT_ILOCK(mp); in nullfs_mount()
208 mp->mnt_flag |= MNT_LOCAL; in nullfs_mount()
209 MNT_IUNLOCK(mp); in nullfs_mount()
212 if (vfs_getopt(mp->mnt_optnew, "cache", NULL, NULL) == 0) { in nullfs_mount()
214 } else if (vfs_getopt(mp->mnt_optnew, "nocache", NULL, NULL) == 0) { in nullfs_mount()
222 vfs_register_for_notification(xmp->nullm_vfs, mp, in nullfs_mount()
226 if (lowerrootvp == mp->mnt_vnodecovered) { in nullfs_mount()
232 MNT_ILOCK(mp); in nullfs_mount()
234 mp->mnt_kern_flag |= lowerrootvp->v_mount->mnt_kern_flag & in nullfs_mount()
238 mp->mnt_kern_flag |= MNTK_NOMSYNC | MNTK_UNLOCKED_INSMNTQUE; in nullfs_mount()
239 mp->mnt_kern_flag |= lowerrootvp->v_mount->mnt_kern_flag & in nullfs_mount()
241 MNT_IUNLOCK(mp); in nullfs_mount()
242 vfs_getnewfsid(mp); in nullfs_mount()
243 vfs_mountedfrom(mp, target); in nullfs_mount()
247 mp->mnt_stat.f_mntfromname, mp->mnt_stat.f_mntonname); in nullfs_mount()
255 nullfs_unmount(struct mount *mp, int mntflags) in nullfs_unmount() argument
260 NULLFSDEBUG("nullfs_unmount: mp = %p\n", (void *)mp); in nullfs_unmount()
269 error = vflush(mp, 0, flags, curthread); in nullfs_unmount()
272 MNT_ILOCK(mp); in nullfs_unmount()
273 if (mp->mnt_nvnodelistsize == 0) { in nullfs_unmount()
274 MNT_IUNLOCK(mp); in nullfs_unmount()
277 MNT_IUNLOCK(mp); in nullfs_unmount()
285 mntdata = mp->mnt_data; in nullfs_unmount()
290 if (mntdata->nullm_lowerrootvp == mp->mnt_vnodecovered) { in nullfs_unmount()
291 vn_lock(mp->mnt_vnodecovered, LK_EXCLUSIVE | LK_RETRY | LK_CANRECURSE); in nullfs_unmount()
292 mp->mnt_vnodecovered->v_vflag &= ~VV_CROSSLOCK; in nullfs_unmount()
293 VOP_UNLOCK(mp->mnt_vnodecovered); in nullfs_unmount()
297 mp->mnt_data = NULL; in nullfs_unmount()
303 nullfs_root(struct mount *mp, int flags, struct vnode **vpp) in nullfs_root() argument
309 mntdata = MOUNTTONULLMOUNT(mp); in nullfs_root()
310 NULLFSDEBUG("nullfs_root(mp = %p, vp = %p)\n", mp, in nullfs_root()
315 error = null_nodeget(mp, mntdata->nullm_lowerrootvp, &vp); in nullfs_root()
324 nullfs_quotactl(struct mount *mp, int cmd, uid_t uid, void *arg, bool *mp_busy) in nullfs_quotactl() argument
331 mntdata = MOUNTTONULLMOUNT(mp); in nullfs_quotactl()
342 vfs_unbusy(mp); in nullfs_quotactl()
355 nullfs_statfs(struct mount *mp, struct statfs *sbp) in nullfs_statfs() argument
360 NULLFSDEBUG("nullfs_statfs(mp = %p, vp = %p->%p)\n", (void *)mp, in nullfs_statfs()
361 (void *)MOUNTTONULLMOUNT(mp)->nullm_rootvp, in nullfs_statfs()
362 (void *)NULLVPTOLOWERVP(MOUNTTONULLMOUNT(mp)->nullm_rootvp)); in nullfs_statfs()
366 error = VFS_STATFS(MOUNTTONULLMOUNT(mp)->nullm_vfs, mstat); in nullfs_statfs()
391 nullfs_sync(struct mount *mp, int waitfor) in nullfs_sync() argument
400 nullfs_vget(struct mount *mp, ino_t ino, int flags, struct vnode **vpp) in nullfs_vget() argument
407 error = VFS_VGET(MOUNTTONULLMOUNT(mp)->nullm_vfs, ino, flags, vpp); in nullfs_vget()
410 return (null_nodeget(mp, *vpp, vpp)); in nullfs_vget()
414 nullfs_fhtovp(struct mount *mp, struct fid *fidp, int flags, struct vnode **vpp) in nullfs_fhtovp() argument
418 error = VFS_FHTOVP(MOUNTTONULLMOUNT(mp)->nullm_vfs, fidp, flags, in nullfs_fhtovp()
422 return (null_nodeget(mp, *vpp, vpp)); in nullfs_fhtovp()
426 nullfs_extattrctl(struct mount *mp, int cmd, struct vnode *filename_vp, in nullfs_extattrctl() argument
430 return (VFS_EXTATTRCTL(MOUNTTONULLMOUNT(mp)->nullm_vfs, cmd, in nullfs_extattrctl()
435 nullfs_reclaim_lowervp(struct mount *mp, struct vnode *lowervp) in nullfs_reclaim_lowervp() argument
439 vp = null_hashget(mp, lowervp); in nullfs_reclaim_lowervp()
448 nullfs_unlink_lowervp(struct mount *mp, struct vnode *lowervp) in nullfs_unlink_lowervp() argument
453 vp = null_hashget(mp, lowervp); in nullfs_unlink_lowervp()