Lines Matching refs:mp

93 static int devfs_statfs( struct mount *mp, struct vfsstatfs *sbp, vfs_context_t ctx);
94 static int devfs_vfs_getattr(mount_t mp, struct vfs_attr *fsap, vfs_context_t ctx);
150 * mp - pointer to 'mount' structure
164 devfs_mount(struct mount *mp, __unused vnode_t devvp, __unused user_addr_t data, vfs_context_t ctx)
172 if (mp->mnt_flag & MNT_UPDATE)
178 vfs_setlocklocal(mp);
191 devfs_mp_p->mount = mp;
196 mp->mnt_data = (qaddr_t)devfs_mp_p;
197 mp->mnt_vfsstat.f_fsid.val[0] = (int32_t)(uintptr_t)devfs_mp_p;
198 mp->mnt_vfsstat.f_fsid.val[1] = vfs_typenum(mp);
199 mp->mnt_flag |= MNT_LOCAL;
206 mp->mnt_data = (qaddr_t)0;
219 bzero(mp->mnt_vfsstat.f_mntfromname, MAXPATHLEN);
220 bcopy("devfs",mp->mnt_vfsstat.f_mntfromname, 5);
221 (void)devfs_statfs(mp, &mp->mnt_vfsstat, ctx);
228 devfs_start(__unused struct mount *mp, __unused int flags, __unused vfs_context_t ctx)
234 * Unmount the filesystem described by mp.
237 devfs_unmount( struct mount *mp, int mntflags, __unused vfs_context_t ctx)
239 struct devfsmount *devfs_mp_p = (struct devfsmount *)mp->mnt_data;
248 error = vflush(mp, NULLVP, flags);
259 mp->mnt_data = (qaddr_t)0;
260 mp->mnt_flag &= ~MNT_LOCAL;
267 devfs_root(struct mount *mp, struct vnode **vpp, __unused vfs_context_t ctx)
269 struct devfsmount *devfs_mp_p = (struct devfsmount *)(mp->mnt_data);
281 devfs_statfs( struct mount *mp, struct vfsstatfs *sbp, __unused vfs_context_t ctx)
283 struct devfsmount *devfs_mp_p = (struct devfsmount *)mp->mnt_data;
288 //sbp->f_type = mp->mnt_vfsstat.f_type;
302 sbp->f_fsid.val[1] = vfs_typenum(mp);
308 devfs_vfs_getattr(__unused mount_t mp, struct vfs_attr *fsap, __unused vfs_context_t ctx)
436 devfs_sync(__unused struct mount *mp, __unused int waitfor, __unused vfs_context_t ctx)
443 devfs_vget(__unused struct mount *mp, __unused ino64_t ino, __unused struct vnode **vpp, __unused vfs_context_t ctx)
454 devfs_fhtovp (__unused struct mount *mp, __unused int fhlen, __unused unsigned char *fhp, __unused struct vnode **vpp, __unused vfs_context_t ctx)
484 struct mount *mp;
536 MALLOC_ZONE(mp, struct mount *, sizeof(struct mount),
538 bzero((char *)mp, sizeof(struct mount));
541 mp->mnt_maxreadcnt = mp->mnt_maxwritecnt = MAXPHYS;
542 mp->mnt_segreadcnt = mp->mnt_segwritecnt = 32;
543 mp->mnt_ioflags = 0;
544 mp->mnt_realrootvp = NULLVP;
545 mp->mnt_authcache_ttl = CACHED_LOOKUP_RIGHT_TTL;
547 mount_lock_init(mp);
548 TAILQ_INIT(&mp->mnt_vnodelist);
549 TAILQ_INIT(&mp->mnt_workerqueue);
550 TAILQ_INIT(&mp->mnt_newvnodes);
552 (void)vfs_busy(mp, LK_NOWAIT);
553 mp->mnt_op = &devfs_vfsops;
554 mp->mnt_vtable = vfsp;
555 mp->mnt_flag = 0;
556 mp->mnt_flag |= vfsp->vfc_flags & MNT_VISFLAGMASK;
557 strlcpy(mp->mnt_vfsstat.f_fstypename, vfsp->vfc_name, MFSTYPENAMELEN);
558 vp->v_mountedhere = mp;
559 mp->mnt_vnodecovered = vp;
560 mp->mnt_vfsstat.f_owner = kauth_cred_getuid(kauth_cred_get());
561 (void) copystr(mntname, mp->mnt_vfsstat.f_mntonname, MAXPATHLEN - 1, 0);
563 mac_mount_label_init(mp);
564 mac_mount_label_associate(ctx, mp);
567 error = devfs_mount(mp, NULL, USER_ADDR_NULL, ctx);
571 mp->mnt_vtable->vfc_refcount--;
573 vfs_unbusy(mp);
575 mount_lock_destroy(mp);
577 mac_mount_label_destroy(mp);
579 FREE_ZONE(mp, sizeof (struct mount), M_MOUNT);
585 vfs_unbusy(mp);
586 mount_list_add(mp);