Lines Matching refs:mp

76 static int	vfs_hang_addrlist(struct mount *mp, struct netexport *nep,
105 vfs_hang_addrlist(struct mount *mp, struct netexport *nep, in vfs_hang_addrlist() argument
131 vfs_mount_error(mp, "ex_anon.cr_version: %d != %d", in vfs_hang_addrlist()
137 if (mp->mnt_flag & MNT_DEFEXPORTED) { in vfs_hang_addrlist()
138 vfs_mount_error(mp, in vfs_hang_addrlist()
139 "MNT_DEFEXPORTED already set for mount %p", mp); in vfs_hang_addrlist()
153 MNT_ILOCK(mp); in vfs_hang_addrlist()
154 mp->mnt_flag |= MNT_DEFEXPORTED; in vfs_hang_addrlist()
155 MNT_IUNLOCK(mp); in vfs_hang_addrlist()
161 vfs_mount_error(mp, "ex_addrlen %d is greater than %d", in vfs_hang_addrlist()
174 vfs_mount_error(mp, "Invalid saddr->sa_family: %d"); in vfs_hang_addrlist()
208 vfs_mount_error(mp, "%s %s %d", in vfs_hang_addrlist()
218 vfs_mount_error(mp, in vfs_hang_addrlist()
306 vfs_export(struct mount *mp, struct export_args *argp) in vfs_export() argument
320 lockmgr(&mp->mnt_explock, LK_EXCLUSIVE, NULL); in vfs_export()
321 nep = mp->mnt_export; in vfs_export()
327 if (mp->mnt_flag & MNT_EXPUBLIC) { in vfs_export()
329 MNT_ILOCK(mp); in vfs_export()
330 mp->mnt_flag &= ~MNT_EXPUBLIC; in vfs_export()
331 MNT_IUNLOCK(mp); in vfs_export()
334 mp->mnt_export = NULL; in vfs_export()
337 MNT_ILOCK(mp); in vfs_export()
338 mp->mnt_flag &= ~(MNT_EXPORTED | MNT_DEFEXPORTED); in vfs_export()
339 MNT_IUNLOCK(mp); in vfs_export()
344 mp->mnt_export = nep; in vfs_export()
347 if ((error = vfs_setpublicfs(mp, nep, argp)) != 0) in vfs_export()
349 MNT_ILOCK(mp); in vfs_export()
350 mp->mnt_flag |= MNT_EXPUBLIC; in vfs_export()
351 MNT_IUNLOCK(mp); in vfs_export()
357 if ((error = vfs_hang_addrlist(mp, nep, argp))) in vfs_export()
359 MNT_ILOCK(mp); in vfs_export()
360 mp->mnt_flag |= MNT_EXPORTED; in vfs_export()
361 MNT_IUNLOCK(mp); in vfs_export()
365 lockmgr(&mp->mnt_explock, LK_RELEASE, NULL); in vfs_export()
374 vfs_deleteopt(mp->mnt_optnew, "export"); in vfs_export()
375 vfs_deleteopt(mp->mnt_opt, "export"); in vfs_export()
384 vfs_setpublicfs(struct mount *mp, struct netexport *nep, in vfs_setpublicfs() argument
396 if (mp == NULL) { in vfs_setpublicfs()
410 if (nfs_pub.np_valid != 0 && mp != nfs_pub.np_mount) in vfs_setpublicfs()
417 nfs_pub.np_handle.fh_fsid = mp->mnt_stat.f_fsid; in vfs_setpublicfs()
419 if ((error = VFS_ROOT(mp, LK_EXCLUSIVE, &rvp))) in vfs_setpublicfs()
454 nfs_pub.np_mount = mp; in vfs_setpublicfs()
466 vfs_export_lookup(struct mount *mp, struct sockaddr *nam) in vfs_export_lookup() argument
474 nep = mp->mnt_export; in vfs_export_lookup()
477 if ((mp->mnt_flag & MNT_EXPORTED) == 0) in vfs_export_lookup()
506 if (np == NULL && (mp->mnt_flag & MNT_DEFEXPORTED) != 0) in vfs_export_lookup()
522 vfs_stdcheckexp(struct mount *mp, struct sockaddr *nam, int *extflagsp, in vfs_stdcheckexp() argument
527 lockmgr(&mp->mnt_explock, LK_SHARED, NULL); in vfs_stdcheckexp()
528 np = vfs_export_lookup(mp, nam); in vfs_stdcheckexp()
530 lockmgr(&mp->mnt_explock, LK_RELEASE, NULL); in vfs_stdcheckexp()
546 lockmgr(&mp->mnt_explock, LK_RELEASE, NULL); in vfs_stdcheckexp()