Lines Matching refs:mp
159 forcibly_timeout_mp(am_node *mp)
161 mntfs *mf = mp->am_al->al_mnt;
165 if (mf && ((mp->am_flags & AMF_ROOT) ||
173 plog(XLOG_WARNING, "node %s is currently being unmounted, ignoring timeout request", mp->am_path);
175 plog(XLOG_WARNING, "ignoring timeout request for active node %s", mp->am_path);
176 notify_child(mp, AMQ_UMNT_FAILED, EBUSY, 0);
179 plog(XLOG_INFO, "\"%s\" forcibly timed out", mp->am_path);
180 mp->am_flags &= ~AMF_NOTIMEOUT;
181 mp->am_ttl = clocktime(NULL);
187 clocktime(&mp->am_parent->am_fattr.na_mtime);
241 am_mounted(am_node *mp)
244 mntfs *mf = mp->am_al->al_mnt;
255 autofs_mounted(mp);
261 if (mp->am_parent && mp->am_parent->am_al->al_mnt->mf_fsflags & FS_DIRECT)
262 mp->am_path = str3cat(mp->am_path, mp->am_parent->am_path, "/", ".");
284 if ((mp->am_timeo = hasmntval(&mnt, "utimeout")) == 0)
285 mp->am_timeo = gopt.am_timeo; /* otherwise use default timeout */
294 mp->am_flags |= AMF_NOTIMEOUT;
295 plog(XLOG_INFO, "%s set to never timeout", mp->am_path);
297 mp->am_flags &= ~AMF_NOTIMEOUT;
298 plog(XLOG_INFO, "%s set to timeout in %d seconds", mp->am_path, mp->am_timeo);
305 if (mp->am_fattr.na_type == NFLNK)
306 mp->am_fattr.na_size = strlen(mp->am_link ? mp->am_link : mf->mf_mount);
311 mp->am_stats.s_mtime = clocktime(&mp->am_fattr.na_mtime);
312 new_ttl(mp);
317 if (mp->am_parent && mp->am_parent->am_al->al_mnt)
318 mp->am_parent->am_fattr.na_mtime = mp->am_fattr.na_mtime;
325 if (mp->am_link && mf->mf_ops != &amfs_link_ops)
326 amfs_link_ops.mount_fs(mp, mf);
333 if (mp->am_flags & AMF_AUTOFS)
334 autofs_mount_succeeded(mp);
337 nfs_quick_reply(mp, 0);
352 assign_error_mntfs(am_node *mp)
357 if (mp->am_al == NULL) {
364 error = mp->am_error;
366 error = mp->am_al->al_mnt->mf_error;
370 free_loc(mp->am_al);
371 mp->am_al = new_loc();
375 mp->am_al->al_mnt->mf_error = error;
376 mp->am_al->al_mnt->mf_flags |= MFF_ERROR;
380 mp->am_error = 0;
447 amfs_mount(am_node *mp, mntfs *mf, char *opts)
623 error = mount_fs(&mnt, genflags, (caddr_t) mp->am_autofs_fh,
639 plog(XLOG_WARNING, "Mount %s failed (%m); force unmount.", mp->am_path);
640 if ((error = UMOUNT_FS(mp->am_path, mnttab_file_name,
642 plog(XLOG_WARNING, "Forced umount %s failed: %m.", mp->am_path);
656 am_unmounted(am_node *mp)
658 mntfs *mf = mp->am_al->al_mnt;
665 mp->am_name);
666 notify_child(mp, AMQ_UMNT_OK, 0, 0); /* XXX - be safe? */
681 if (mp->am_link && mf->mf_ops != &amfs_link_ops)
682 amfs_link_ops.umount_fs(mp, mf);
686 autofs_release_fh(mp);
687 if (mp->am_flags & AMF_AUTOFS)
688 autofs_umount_succeeded(mp);
700 !(mp->am_flags & AMF_REMOUNT)) {
710 if (mp->am_parent && mp->am_fattr.na_type == NFDIR)
711 --mp->am_parent->am_fattr.na_nlink;
716 if (mp->am_parent && mp->am_parent->am_al->al_mnt)
717 clocktime(&mp->am_parent->am_fattr.na_mtime);
719 if (mp->am_parent && (mp->am_flags & AMF_REMOUNT)) {
720 char *fname = xstrdup(mp->am_name);
721 am_node *mp_parent = mp->am_parent;
730 fake_mp.am_fd[1] = mp->am_fd[1];
731 mp->am_fd[1] = -1;
733 free_map(mp);
735 mp = mf_parent->mf_ops->lookup_child(mp_parent, fname, &error, VLOOK_CREATE);
736 if (mp && error < 0)
737 (void)mf_parent->mf_ops->mount_child(mp, &error);
756 notify_child(mp, AMQ_UMNT_OK, 0, 0); /* do this regardless */
757 if (!mp->am_alarray)
758 free_map(mp);