Index: sys/cddl/compat/opensolaris/kern/opensolaris_vfs.c =================================================================== --- sys/cddl/compat/opensolaris/kern/opensolaris_vfs.c (revision 264468) +++ sys/cddl/compat/opensolaris/kern/opensolaris_vfs.c (working copy) @@ -126,7 +126,7 @@ * variables will fit in our mp buffers, including the * terminating NUL. */ - if (strlen(fstype) >= MFSNAMELEN || strlen(fspath) >= MNAMELEN) + if (strlen(fstype) >= MFSNAMELEN || strlen(fspath) >= MAXPATHLEN) return (ENAMETOOLONG); vfsp = vfs_byname_kld(fstype, td, &error); Index: sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zfs_ctldir.c =================================================================== --- sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zfs_ctldir.c (revision 264468) +++ sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zfs_ctldir.c (working copy) @@ -1069,12 +1069,12 @@ dmu_objset_rele(snap, FTAG); domount: - mountpoint_len = strlen(dvp->v_vfsp->mnt_stat.f_mntonname) + + mountpoint_len = strlen(dvp->v_vfsp->mnt_path) + strlen("/" ZFS_CTLDIR_NAME "/snapshot/") + strlen(nm) + 1; mountpoint = kmem_alloc(mountpoint_len, KM_SLEEP); (void) snprintf(mountpoint, mountpoint_len, "%s/" ZFS_CTLDIR_NAME "/snapshot/%s", - dvp->v_vfsp->mnt_stat.f_mntonname, nm); + dvp->v_vfsp->mnt_path, nm); err = mount_snapshot(curthread, vpp, "zfs", mountpoint, snapname, 0); kmem_free(mountpoint, mountpoint_len); if (err == 0) { Index: sys/fs/cd9660/cd9660_rrip.c =================================================================== --- sys/fs/cd9660/cd9660_rrip.c (revision 264468) +++ sys/fs/cd9660/cd9660_rrip.c (working copy) @@ -167,7 +167,7 @@ /* same as above */ outbuf -= len; len = 0; - inbuf = ana->imp->im_mountp->mnt_stat.f_mntonname; + inbuf = (char *)ana->imp->im_mountp->mnt_path; wlen = strlen(inbuf); break; Index: sys/fs/ext2fs/ext2_lookup.c =================================================================== --- sys/fs/ext2fs/ext2_lookup.c (revision 264468) +++ sys/fs/ext2fs/ext2_lookup.c (working copy) @@ -802,10 +802,10 @@ mp = ITOV(ip)->v_mount; if ((mp->mnt_flag & MNT_RDONLY) == 0) panic("ext2_dirbad: %s: bad dir ino %lu at offset %ld: %s\n", - mp->mnt_stat.f_mntonname, (u_long)ip->i_number,(long)offset, how); + mp->mnt_path, (u_long)ip->i_number,(long)offset, how); else (void)printf("%s: bad dir ino %lu at offset %ld: %s\n", - mp->mnt_stat.f_mntonname, (u_long)ip->i_number, (long)offset, how); + mp->mnt_path, (u_long)ip->i_number, (long)offset, how); } Index: sys/fs/fuse/fuse_vnops.c =================================================================== --- sys/fs/fuse/fuse_vnops.c (revision 264468) +++ sys/fs/fuse/fuse_vnops.c (working copy) @@ -1265,7 +1265,7 @@ } if (((char *)fdi.answ)[0] == '/' && fuse_get_mpdata(vnode_mount(vp))->dataflags & FSESS_PUSH_SYMLINKS_IN) { - char *mpth = vnode_mount(vp)->mnt_stat.f_mntonname; + char *mpth = (char *)vnode_mount(vp)->mnt_path; err = uiomove(mpth, strlen(mpth), uio); } Index: sys/fs/nandfs/nandfs_segment.c =================================================================== --- sys/fs/nandfs/nandfs_segment.c (revision 264468) +++ sys/fs/nandfs/nandfs_segment.c (working copy) @@ -1275,7 +1275,7 @@ mp = (struct mount *)addr; db_printf("%p %s on %s (%s)\n", mp, mp->mnt_stat.f_mntfromname, - mp->mnt_stat.f_mntonname, mp->mnt_stat.f_fstypename); + mp->mnt_path, mp->mnt_stat.f_fstypename); nmp = (struct nandfsmount *)(mp->mnt_data); Index: sys/fs/nullfs/null_vfsops.c =================================================================== --- sys/fs/nullfs/null_vfsops.c (revision 264468) +++ sys/fs/nullfs/null_vfsops.c (working copy) @@ -211,7 +211,7 @@ vfs_mountedfrom(mp, target); NULLFSDEBUG("nullfs_mount: lower %s, alias at %s\n", - mp->mnt_stat.f_mntfromname, mp->mnt_stat.f_mntonname); + mp->mnt_stat.f_mntfromname, mp->mnt_path); return (0); } Index: sys/fs/unionfs/union_vfsops.c =================================================================== --- sys/fs/unionfs/union_vfsops.c (revision 264468) +++ sys/fs/unionfs/union_vfsops.c (working copy) @@ -310,7 +310,7 @@ copystr(target, tmp, len, NULL); UNIONFSDEBUG("unionfs_mount: from %s, on %s\n", - mp->mnt_stat.f_mntfromname, mp->mnt_stat.f_mntonname); + mp->mnt_stat.f_mntfromname, mp->mnt_path); return (0); } Index: sys/geom/journal/g_journal.c =================================================================== --- sys/geom/journal/g_journal.c (revision 264468) +++ sys/geom/journal/g_journal.c (working copy) @@ -2922,7 +2922,7 @@ goto next; } - mountpoint = mp->mnt_stat.f_mntonname; + mountpoint = (char *)mp->mnt_path; error = vn_start_write(NULL, &mp, V_WAIT); if (error != 0) { Index: sys/gnu/fs/reiserfs/reiserfs_vfsops.c =================================================================== --- sys/gnu/fs/reiserfs/reiserfs_vfsops.c (revision 264468) +++ sys/gnu/fs/reiserfs/reiserfs_vfsops.c (working copy) @@ -309,7 +309,7 @@ reiserfs_log(LOG_DEBUG, "...done\n"); if (sbp != &mp->mnt_stat) { - reiserfs_log(LOG_DEBUG, "copying monut point info\n"); + reiserfs_log(LOG_DEBUG, "copying mount point info\n"); sbp->f_type = mp->mnt_vfc->vfc_typenum; bcopy((caddr_t)mp->mnt_stat.f_mntonname, (caddr_t)&sbp->f_mntonname[0], MNAMELEN); @@ -318,7 +318,7 @@ reiserfs_log(LOG_DEBUG, " mount from: %s\n", sbp->f_mntfromname); reiserfs_log(LOG_DEBUG, " mount on: %s\n", - sbp->f_mntonname); + mp->mnt_path); reiserfs_log(LOG_DEBUG, "...done\n"); } Index: sys/kern/kern_jail.c =================================================================== --- sys/kern/kern_jail.c (revision 264468) +++ sys/kern/kern_jail.c (working copy) @@ -3555,7 +3555,6 @@ prison_canseemount(struct ucred *cred, struct mount *mp) { struct prison *pr; - struct statfs *sp; size_t len; pr = cred->cr_prison; @@ -3574,14 +3573,13 @@ if (strcmp(pr->pr_path, "/") == 0) return (0); len = strlen(pr->pr_path); - sp = &mp->mnt_stat; - if (strncmp(pr->pr_path, sp->f_mntonname, len) != 0) + if (strncmp(pr->pr_path, mp->mnt_path, len) != 0) return (ENOENT); /* * Be sure that we don't have situation where jail's root directory * is "/some/path" and mount point is "/some/pathpath". */ - if (sp->f_mntonname[len] != '\0' && sp->f_mntonname[len] != '/') + if (mp->mnt_path[len] != '\0' && mp->mnt_path[len] != '/') return (ENOENT); return (0); } Index: sys/kern/vfs_mount.c =================================================================== --- sys/kern/vfs_mount.c (revision 264468) +++ sys/kern/vfs_mount.c (working copy) @@ -473,6 +473,12 @@ mp->mnt_cred = crdup(cred); mp->mnt_stat.f_owner = cred->cr_uid; strlcpy(mp->mnt_stat.f_mntonname, fspath, MNAMELEN); + if (strlen(fspath) < MNAMELEN) { + mp->mnt_path = mp->mnt_stat.f_mntonname; + } else { + mp->mnt_path = malloc(strlen(fspath), M_MOUNT, M_WAITOK); + strlcpy((char *)mp->mnt_path, fspath, strlen(fspath)); + } mp->mnt_iosize_max = DFLTPHYS; #ifdef MAC mac_mount_init(mp); @@ -527,6 +533,8 @@ if (mp->mnt_opt != NULL) vfs_freeopts(mp->mnt_opt); crfree(mp->mnt_cred); + if (mp->mnt_path != mp->mnt_stat.f_mntonname) + free((void *)mp->mnt_path, M_MOUNT); uma_zfree(mount_zone, mp); } @@ -656,7 +664,7 @@ * variables will fit in our mp buffers, including the * terminating NUL. */ - if (fstypelen > MFSNAMELEN || fspathlen > MNAMELEN) { + if (fstypelen >= MFSNAMELEN || fspathlen >= MAXPATHLEN) { error = ENAMETOOLONG; goto bail; } @@ -749,7 +757,7 @@ } ma = mount_argsu(ma, "fstype", uap->type, MFSNAMELEN); - ma = mount_argsu(ma, "fspath", uap->path, MNAMELEN); + ma = mount_argsu(ma, "fspath", uap->path, MAXPATHLEN); ma = mount_argb(ma, flags & MNT_RDONLY, "noro"); ma = mount_argb(ma, !(flags & MNT_NOSUID), "nosuid"); ma = mount_argb(ma, !(flags & MNT_NOEXEC), "noexec"); @@ -1040,7 +1048,7 @@ * variables will fit in our mp buffers, including the * terminating NUL. */ - if (strlen(fstype) >= MFSNAMELEN || strlen(fspath) >= MNAMELEN) + if (strlen(fstype) >= MFSNAMELEN || strlen(fspath) >= MAXPATHLEN) return (ENAMETOOLONG); if (jailed(td->td_ucred) || usermount == 0) { @@ -1095,9 +1103,9 @@ NDFREE(&nd, NDF_ONLY_PNBUF); vp = nd.ni_vp; if ((fsflags & MNT_UPDATE) == 0) { - pathbuf = malloc(MNAMELEN, M_TEMP, M_WAITOK); + pathbuf = malloc(MAXPATHLEN, M_TEMP, M_WAITOK); strcpy(pathbuf, fspath); - error = vn_path_to_global_path(td, vp, pathbuf, MNAMELEN); + error = vn_path_to_global_path(td, vp, pathbuf, MAXPATHLEN); /* debug.disablefullpath == 1 results in ENODEV */ if (error == 0 || error == ENODEV) { error = vfs_domount_first(td, vfsp, pathbuf, vp, @@ -1147,8 +1155,8 @@ return (error); } - pathbuf = malloc(MNAMELEN, M_TEMP, M_WAITOK); - error = copyinstr(uap->path, pathbuf, MNAMELEN, NULL); + pathbuf = malloc(MAXPATHLEN, M_TEMP, M_WAITOK); + error = copyinstr(uap->path, pathbuf, MAXPATHLEN, NULL); if (error) { free(pathbuf, M_TEMP); return (error); @@ -1179,13 +1187,13 @@ if (namei(&nd) == 0) { NDFREE(&nd, NDF_ONLY_PNBUF); error = vn_path_to_global_path(td, nd.ni_vp, pathbuf, - MNAMELEN); + MAXPATHLEN); if (error == 0 || error == ENODEV) vput(nd.ni_vp); } mtx_lock(&mountlist_mtx); TAILQ_FOREACH_REVERSE(mp, &mountlist, mntlist, mnt_list) { - if (strcmp(mp->mnt_stat.f_mntonname, pathbuf) == 0) + if (strcmp(mp->mnt_path, pathbuf) == 0) break; } mtx_unlock(&mountlist_mtx); Index: sys/kern/vfs_mountroot.c =================================================================== --- sys/kern/vfs_mountroot.c (revision 264468) +++ sys/kern/vfs_mountroot.c (working copy) @@ -307,6 +307,8 @@ vp->v_mountedhere = mporoot; strlcpy(mporoot->mnt_stat.f_mntonname, fspath, MNAMELEN); + mporoot->mnt_path = + mporoot->mnt_stat.f_mntonname; VOP_UNLOCK(vp, 0); } else vput(vp); Index: sys/kern/vfs_subr.c =================================================================== --- sys/kern/vfs_subr.c (revision 264468) +++ sys/kern/vfs_subr.c (working copy) @@ -2962,7 +2962,7 @@ TAILQ_FOREACH(mp, &mountlist, mnt_list) { db_printf("%p %s on %s (%s)\n", mp, mp->mnt_stat.f_mntfromname, - mp->mnt_stat.f_mntonname, + mp->mnt_path, mp->mnt_stat.f_fstypename); if (db_pager_quit) break; @@ -2973,7 +2973,7 @@ mp = (struct mount *)addr; db_printf("%p %s on %s (%s)\n", mp, mp->mnt_stat.f_mntfromname, - mp->mnt_stat.f_mntonname, mp->mnt_stat.f_fstypename); + mp->mnt_path, mp->mnt_stat.f_fstypename); buf[0] = '\0'; mflags = mp->mnt_flag; @@ -3406,7 +3406,7 @@ */ if (strcmp(mp->mnt_vfc->vfc_name, "devfs") != 0) { printf("unmount of %s failed (", - mp->mnt_stat.f_mntonname); + mp->mnt_path); if (error == EBUSY) printf("BUSY)\n"); else Index: sys/security/mac_lomac/mac_lomac.c =================================================================== --- sys/security/mac_lomac/mac_lomac.c (revision 264468) +++ sys/security/mac_lomac/mac_lomac.c (working copy) @@ -569,7 +569,7 @@ "mountpount=%s)\n", subjlabeltext, p->p_pid, pgid, curthread->td_ucred->cr_uid, p->p_comm, subjtext, actionname, objlabeltext, objname, - va.va_fileid, vp->v_mount->mnt_stat.f_mntonname); + va.va_fileid, vp->v_mount->mnt_path); } else { log(LOG_INFO, "LOMAC: level-%s subject p%dg%du%d:%s demoted to" " level %s after %s a level-%s %s\n", Index: sys/sys/mount.h =================================================================== --- sys/sys/mount.h (revision 264468) +++ sys/sys/mount.h (working copy) @@ -190,6 +190,7 @@ struct lock mnt_explock; /* vfs_export walkers lock */ TAILQ_ENTRY(mount) mnt_upper_link; /* (m) we in the all uppers */ TAILQ_HEAD(, mount) mnt_uppers; /* (m) upper mounts over us*/ + const char *mnt_path; /* actual mount path */ }; /* Index: sys/ufs/ffs/ffs_alloc.c =================================================================== --- sys/ufs/ffs/ffs_alloc.c (revision 264468) +++ sys/ufs/ffs/ffs_alloc.c (working copy) @@ -2749,7 +2749,7 @@ case FFS_SET_FLAGS: #ifdef DEBUG if (fsckcmds) - printf("%s: %s flags\n", mp->mnt_stat.f_mntonname, + printf("%s: %s flags\n", mp->mnt_path, cmd.size > 0 ? "set" : "clear"); #endif /* DEBUG */ if (cmd.size > 0) @@ -2762,7 +2762,7 @@ #ifdef DEBUG if (fsckcmds) { printf("%s: adjust inode %jd link count by %jd\n", - mp->mnt_stat.f_mntonname, (intmax_t)cmd.value, + mp->mnt_path, (intmax_t)cmd.value, (intmax_t)cmd.size); } #endif /* DEBUG */ @@ -2783,7 +2783,7 @@ #ifdef DEBUG if (fsckcmds) { printf("%s: adjust inode %jd block count by %jd\n", - mp->mnt_stat.f_mntonname, (intmax_t)cmd.value, + mp->mnt_path, (intmax_t)cmd.value, (intmax_t)cmd.size); } #endif /* DEBUG */ @@ -2805,12 +2805,12 @@ if (fsckcmds) { if (cmd.size == 1) printf("%s: free %s inode %ju\n", - mp->mnt_stat.f_mntonname, + mp->mnt_path, filetype == IFDIR ? "directory" : "file", (uintmax_t)cmd.value); else printf("%s: free %s inodes %ju-%ju\n", - mp->mnt_stat.f_mntonname, + mp->mnt_path, filetype == IFDIR ? "directory" : "file", (uintmax_t)cmd.value, (uintmax_t)(cmd.value + cmd.size - 1)); @@ -2830,11 +2830,11 @@ if (fsckcmds) { if (cmd.size == 1) printf("%s: free block %jd\n", - mp->mnt_stat.f_mntonname, + mp->mnt_path, (intmax_t)cmd.value); else printf("%s: free blocks %jd-%jd\n", - mp->mnt_stat.f_mntonname, + mp->mnt_path, (intmax_t)cmd.value, (intmax_t)cmd.value + cmd.size - 1); } @@ -2861,7 +2861,7 @@ #ifdef DEBUG if (fsckcmds) { printf("%s: adjust number of directories by %jd\n", - mp->mnt_stat.f_mntonname, (intmax_t)cmd.value); + mp->mnt_path, (intmax_t)cmd.value); } #endif /* DEBUG */ fs->fs_cstotal.cs_ndir += cmd.value; @@ -2871,7 +2871,7 @@ #ifdef DEBUG if (fsckcmds) { printf("%s: adjust number of free blocks by %+jd\n", - mp->mnt_stat.f_mntonname, (intmax_t)cmd.value); + mp->mnt_path, (intmax_t)cmd.value); } #endif /* DEBUG */ fs->fs_cstotal.cs_nbfree += cmd.value; @@ -2881,7 +2881,7 @@ #ifdef DEBUG if (fsckcmds) { printf("%s: adjust number of free inodes by %+jd\n", - mp->mnt_stat.f_mntonname, (intmax_t)cmd.value); + mp->mnt_path, (intmax_t)cmd.value); } #endif /* DEBUG */ fs->fs_cstotal.cs_nifree += cmd.value; @@ -2891,7 +2891,7 @@ #ifdef DEBUG if (fsckcmds) { printf("%s: adjust number of free frags by %+jd\n", - mp->mnt_stat.f_mntonname, (intmax_t)cmd.value); + mp->mnt_path, (intmax_t)cmd.value); } #endif /* DEBUG */ fs->fs_cstotal.cs_nffree += cmd.value; @@ -2901,7 +2901,7 @@ #ifdef DEBUG if (fsckcmds) { printf("%s: adjust number of free clusters by %+jd\n", - mp->mnt_stat.f_mntonname, (intmax_t)cmd.value); + mp->mnt_path, (intmax_t)cmd.value); } #endif /* DEBUG */ fs->fs_cstotal.cs_numclusters += cmd.value; @@ -2911,7 +2911,7 @@ #ifdef DEBUG if (fsckcmds) { printf("%s: set current directory to inode %jd\n", - mp->mnt_stat.f_mntonname, (intmax_t)cmd.value); + mp->mnt_path, (intmax_t)cmd.value); } #endif /* DEBUG */ if ((error = ffs_vget(mp, (ino_t)cmd.value, LK_SHARED, &vp))) @@ -2934,7 +2934,7 @@ #ifdef DEBUG if (fsckcmds) { printf("%s: change .. in cwd from %jd to %jd\n", - mp->mnt_stat.f_mntonname, (intmax_t)cmd.value, + mp->mnt_path, (intmax_t)cmd.value, (intmax_t)cmd.size); } #endif /* DEBUG */ @@ -2973,7 +2973,7 @@ if (copyinstr((char *)(intptr_t)cmd.value, buf,32,NULL)) strncpy(buf, "Name_too_long", 32); printf("%s: unlink %s (inode %jd)\n", - mp->mnt_stat.f_mntonname, buf, (intmax_t)cmd.size); + mp->mnt_path, buf, (intmax_t)cmd.size); } #endif /* DEBUG */ /* @@ -2995,7 +2995,7 @@ #ifdef DEBUG if (fsckcmds) { printf("%s: update inode %jd\n", - mp->mnt_stat.f_mntonname, (intmax_t)cmd.value); + mp->mnt_path, (intmax_t)cmd.value); } #endif /* DEBUG */ if ((error = ffs_vget(mp, (ino_t)cmd.value, LK_EXCLUSIVE, &vp))) @@ -3029,7 +3029,7 @@ #ifdef DEBUG if (fsckcmds) { printf("%s: %s buffered output for descriptor %jd\n", - mp->mnt_stat.f_mntonname, + mp->mnt_path, cmd.size == 1 ? "enable" : "disable", (intmax_t)cmd.value); } Index: sys/ufs/ffs/ffs_snapshot.c =================================================================== --- sys/ufs/ffs/ffs_snapshot.c (revision 264468) +++ sys/ufs/ffs/ffs_snapshot.c (working copy) @@ -693,7 +693,7 @@ nanotime(&endtime); timespecsub(&endtime, &starttime); printf("%s: suspended %ld.%03ld sec, redo %ld of %d\n", - vp->v_mount->mnt_stat.f_mntonname, (long)endtime.tv_sec, + vp->v_mount->mnt_path, (long)endtime.tv_sec, endtime.tv_nsec / 1000000, redo, fs->fs_ncg); } if (copy_fs == NULL) Index: sys/ufs/ffs/ffs_softdep.c =================================================================== --- sys/ufs/ffs/ffs_softdep.c (revision 264468) +++ sys/ufs/ffs/ffs_softdep.c (working copy) @@ -733,7 +733,7 @@ * Internal function prototypes. */ static void check_clear_deps(struct mount *); -static void softdep_error(char *, int); +static void softdep_error(const char *, int); static int softdep_process_worklist(struct mount *, int); static int softdep_waitidle(struct mount *); static void drain_output(struct vnode *); @@ -13789,7 +13789,7 @@ if ((bp->b_ioflags & BIO_ERROR) == 0) panic("softdep_deallocate_dependencies: dangling deps"); if (bp->b_vp != NULL && bp->b_vp->v_mount != NULL) - softdep_error(bp->b_vp->v_mount->mnt_stat.f_mntonname, bp->b_error); + softdep_error(bp->b_vp->v_mount->mnt_path, bp->b_error); else printf("softdep_deallocate_dependencies: " "got error %d while accessing filesystem\n", bp->b_error); @@ -13802,7 +13802,7 @@ */ static void softdep_error(func, error) - char *func; + const char *func; int error; { @@ -13934,7 +13934,7 @@ db_print_ffs(struct ufsmount *ump) { db_printf("mp %p %s devvp %p fs %p su_wl %d su_deps %d su_req %d\n", - ump->um_mountp, ump->um_mountp->mnt_stat.f_mntonname, + ump->um_mountp, ump->um_mountp->mnt_path, ump->um_devvp, ump->um_fs, ump->softdep_on_worklist, ump->softdep_deps, ump->softdep_req); } Index: sys/ufs/ffs/ffs_vfsops.c =================================================================== --- sys/ufs/ffs/ffs_vfsops.c (revision 264468) +++ sys/ufs/ffs/ffs_vfsops.c (working copy) @@ -533,7 +533,7 @@ * We need the name for the mount point (also used for * "last mounted on") copied in. If an error occurs, * the mount point is discarded by the upper level code. - * Note that vfs_mount() populates f_mntonname for us. + * Note that vfs_mount() populates mnt_path for us. */ if ((error = ffs_mountfs(devvp, mp, td)) != 0) { vrele(devvp); @@ -885,13 +885,13 @@ } else { printf("WARNING: %s: GJOURNAL flag on fs " "but no gjournal provider below\n", - mp->mnt_stat.f_mntonname); + mp->mnt_path); free(mp->mnt_gjprovider, M_UFSMNT); mp->mnt_gjprovider = NULL; } #else printf("WARNING: %s: GJOURNAL flag on fs but no " - "UFS_GJOURNAL support\n", mp->mnt_stat.f_mntonname); + "UFS_GJOURNAL support\n", mp->mnt_path); #endif } else { mp->mnt_gjprovider = NULL; @@ -976,7 +976,7 @@ MNT_IUNLOCK(mp); #else printf("WARNING: %s: multilabel flag on fs but " - "no MAC support\n", mp->mnt_stat.f_mntonname); + "no MAC support\n", mp->mnt_path); #endif } if ((fs->fs_flags & FS_ACLS) != 0) { @@ -986,7 +986,7 @@ if (mp->mnt_flag & MNT_NFS4ACLS) printf("WARNING: %s: ACLs flag on fs conflicts with " "\"nfsv4acls\" mount option; option ignored\n", - mp->mnt_stat.f_mntonname); + mp->mnt_path); mp->mnt_flag &= ~MNT_NFS4ACLS; mp->mnt_flag |= MNT_ACLS; @@ -993,7 +993,7 @@ MNT_IUNLOCK(mp); #else printf("WARNING: %s: ACLs flag on fs but no ACLs support\n", - mp->mnt_stat.f_mntonname); + mp->mnt_path); #endif } if ((fs->fs_flags & FS_NFS4ACLS) != 0) { @@ -1003,7 +1003,7 @@ if (mp->mnt_flag & MNT_ACLS) printf("WARNING: %s: NFSv4 ACLs flag on fs conflicts " "with \"acls\" mount option; option ignored\n", - mp->mnt_stat.f_mntonname); + mp->mnt_path); mp->mnt_flag &= ~MNT_ACLS; mp->mnt_flag |= MNT_NFS4ACLS; @@ -1010,7 +1010,7 @@ MNT_IUNLOCK(mp); #else printf("WARNING: %s: NFSv4 ACLs flag on fs but no " - "ACLs support\n", mp->mnt_stat.f_mntonname); + "ACLs support\n", mp->mnt_path); #endif } if ((fs->fs_flags & FS_TRIM) != 0) { @@ -1020,11 +1020,11 @@ if (!ump->um_candelete) printf("WARNING: %s: TRIM flag on fs but disk " "does not support TRIM\n", - mp->mnt_stat.f_mntonname); + mp->mnt_path); } else { printf("WARNING: %s: TRIM flag on fs but disk does " "not confirm that it supports TRIM\n", - mp->mnt_stat.f_mntonname); + mp->mnt_path); ump->um_candelete = 0; } } @@ -1044,7 +1044,7 @@ * Set FS local "last mounted on" information (NULL pad) */ bzero(fs->fs_fsmnt, MAXMNTLEN); - strlcpy(fs->fs_fsmnt, mp->mnt_stat.f_mntonname, MAXMNTLEN); + strlcpy(fs->fs_fsmnt, mp->mnt_path, MAXMNTLEN); mp->mnt_stat.f_iosize = fs->fs_bsize; if (mp->mnt_flag & MNT_ROOTFS) { @@ -1241,7 +1241,7 @@ if ((error = ufs_extattr_stop(mp, td))) { if (error != EOPNOTSUPP) printf("WARNING: unmount %s: ufs_extattr_stop " - "returned errno %d\n", mp->mnt_stat.f_mntonname, + "returned errno %d\n", mp->mnt_path, error); e_restart = 0; } else { Index: sys/ufs/ufs/ufs_extattr.c =================================================================== --- sys/ufs/ufs/ufs_extattr.c (revision 264468) +++ sys/ufs/ufs/ufs_extattr.c (working copy) @@ -923,7 +923,7 @@ * up by the next write or extattrctl clean. */ printf("ufs_extattr_get (%s): inode number inconsistency (%d, %ju)\n", - mp->mnt_stat.f_mntonname, ueh.ueh_i_gen, (uintmax_t)ip->i_gen); + mp->mnt_path, ueh.ueh_i_gen, (uintmax_t)ip->i_gen); error = ENOATTR; goto vopunlock_exit; } @@ -1228,7 +1228,7 @@ * the next write or extattrctl clean. */ printf("ufs_extattr_rm (%s): inode number inconsistency (%d, %jd)\n", - mp->mnt_stat.f_mntonname, ueh.ueh_i_gen, (intmax_t)ip->i_gen); + mp->mnt_path, ueh.ueh_i_gen, (intmax_t)ip->i_gen); error = ENOATTR; goto vopunlock_exit; } Index: sys/ufs/ufs/ufs_lookup.c =================================================================== --- sys/ufs/ufs/ufs_lookup.c (revision 264468) +++ sys/ufs/ufs/ufs_lookup.c (working copy) @@ -771,11 +771,11 @@ mp = ITOV(ip)->v_mount; if ((mp->mnt_flag & MNT_RDONLY) == 0) panic("ufs_dirbad: %s: bad dir ino %ju at offset %ld: %s", - mp->mnt_stat.f_mntonname, (uintmax_t)ip->i_number, + mp->mnt_path, (uintmax_t)ip->i_number, (long)offset, how); else (void)printf("%s: bad dir ino %ju at offset %ld: %s\n", - mp->mnt_stat.f_mntonname, (uintmax_t)ip->i_number, + mp->mnt_path, (uintmax_t)ip->i_number, (long)offset, how); } Index: sys/ufs/ufs/ufs_quota.c =================================================================== --- sys/ufs/ufs/ufs_quota.c (revision 264468) +++ sys/ufs/ufs/ufs_quota.c (working copy) @@ -238,7 +238,7 @@ DQI_UNLOCK(dq); if (warn) uprintf("\n%s: warning, %s disk quota exceeded\n", - ITOV(ip)->v_mount->mnt_stat.f_mntonname, + ITOV(ip)->v_mount->mnt_path, quotatypes[i]); } return (0); @@ -264,7 +264,7 @@ dq->dq_flags |= DQ_BLKS; DQI_UNLOCK(dq); uprintf("\n%s: write failed, %s disk limit reached\n", - ITOV(ip)->v_mount->mnt_stat.f_mntonname, + ITOV(ip)->v_mount->mnt_path, quotatypes[type]); return (EDQUOT); } @@ -289,7 +289,7 @@ DQI_UNLOCK(dq); uprintf("\n%s: write failed, %s " "disk quota exceeded for too long\n", - ITOV(ip)->v_mount->mnt_stat.f_mntonname, + ITOV(ip)->v_mount->mnt_path, quotatypes[type]); return (EDQUOT); } @@ -376,7 +376,7 @@ DQI_UNLOCK(dq); if (warn) uprintf("\n%s: warning, %s inode quota exceeded\n", - ITOV(ip)->v_mount->mnt_stat.f_mntonname, + ITOV(ip)->v_mount->mnt_path, quotatypes[i]); } return (0); @@ -401,7 +401,7 @@ dq->dq_flags |= DQ_INODS; DQI_UNLOCK(dq); uprintf("\n%s: write failed, %s inode limit reached\n", - ITOV(ip)->v_mount->mnt_stat.f_mntonname, + ITOV(ip)->v_mount->mnt_path, quotatypes[type]); return (EDQUOT); } @@ -426,7 +426,7 @@ DQI_UNLOCK(dq); uprintf("\n%s: write failed, %s " "inode quota exceeded for too long\n", - ITOV(ip)->v_mount->mnt_stat.f_mntonname, + ITOV(ip)->v_mount->mnt_path, quotatypes[type]); return (EDQUOT); }