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 if (mp->mnt_flag & MNT_DEFEXPORTED) { in vfs_hang_addrlist()
132 vfs_mount_error(mp, in vfs_hang_addrlist()
133 "MNT_DEFEXPORTED already set for mount %p", mp); in vfs_hang_addrlist()
147 MNT_ILOCK(mp); in vfs_hang_addrlist()
148 mp->mnt_flag |= MNT_DEFEXPORTED; in vfs_hang_addrlist()
149 MNT_IUNLOCK(mp); in vfs_hang_addrlist()
155 vfs_mount_error(mp, "ex_addrlen %d is greater than %d", in vfs_hang_addrlist()
168 vfs_mount_error(mp, "Invalid saddr->sa_family: %d"); in vfs_hang_addrlist()
202 vfs_mount_error(mp, "%s %s %d", in vfs_hang_addrlist()
212 vfs_mount_error(mp, in vfs_hang_addrlist()
300 vfs_export(struct mount *mp, struct export_args *argp) in vfs_export() argument
314 lockmgr(&mp->mnt_explock, LK_EXCLUSIVE, NULL); in vfs_export()
315 nep = mp->mnt_export; in vfs_export()
321 if (mp->mnt_flag & MNT_EXPUBLIC) { in vfs_export()
323 MNT_ILOCK(mp); in vfs_export()
324 mp->mnt_flag &= ~MNT_EXPUBLIC; in vfs_export()
325 MNT_IUNLOCK(mp); in vfs_export()
328 mp->mnt_export = NULL; in vfs_export()
331 MNT_ILOCK(mp); in vfs_export()
332 mp->mnt_flag &= ~(MNT_EXPORTED | MNT_DEFEXPORTED); in vfs_export()
333 MNT_IUNLOCK(mp); in vfs_export()
338 mp->mnt_export = nep; in vfs_export()
341 if ((error = vfs_setpublicfs(mp, nep, argp)) != 0) in vfs_export()
343 MNT_ILOCK(mp); in vfs_export()
344 mp->mnt_flag |= MNT_EXPUBLIC; in vfs_export()
345 MNT_IUNLOCK(mp); in vfs_export()
351 if ((error = vfs_hang_addrlist(mp, nep, argp))) in vfs_export()
353 MNT_ILOCK(mp); in vfs_export()
354 mp->mnt_flag |= MNT_EXPORTED; in vfs_export()
355 MNT_IUNLOCK(mp); in vfs_export()
359 lockmgr(&mp->mnt_explock, LK_RELEASE, NULL); in vfs_export()
368 vfs_deleteopt(mp->mnt_optnew, "export"); in vfs_export()
369 vfs_deleteopt(mp->mnt_opt, "export"); in vfs_export()
378 vfs_setpublicfs(struct mount *mp, struct netexport *nep, in vfs_setpublicfs() argument
390 if (mp == NULL) { in vfs_setpublicfs()
404 if (nfs_pub.np_valid != 0 && mp != nfs_pub.np_mount) in vfs_setpublicfs()
411 nfs_pub.np_handle.fh_fsid = mp->mnt_stat.f_fsid; in vfs_setpublicfs()
413 if ((error = VFS_ROOT(mp, LK_EXCLUSIVE, &rvp))) in vfs_setpublicfs()
448 nfs_pub.np_mount = mp; in vfs_setpublicfs()
460 vfs_export_lookup(struct mount *mp, struct sockaddr *nam) in vfs_export_lookup() argument
468 nep = mp->mnt_export; in vfs_export_lookup()
471 if ((mp->mnt_flag & MNT_EXPORTED) == 0) in vfs_export_lookup()
500 if (np == NULL && (mp->mnt_flag & MNT_DEFEXPORTED) != 0) in vfs_export_lookup()
516 vfs_stdcheckexp(struct mount *mp, struct sockaddr *nam, uint64_t *extflagsp, in vfs_stdcheckexp() argument
521 lockmgr(&mp->mnt_explock, LK_SHARED, NULL); in vfs_stdcheckexp()
522 np = vfs_export_lookup(mp, nam); in vfs_stdcheckexp()
524 lockmgr(&mp->mnt_explock, LK_RELEASE, NULL); in vfs_stdcheckexp()
541 lockmgr(&mp->mnt_explock, LK_RELEASE, NULL); in vfs_stdcheckexp()