From 1e608f176ebad330284adccd1b67e6c4a6312656 Mon Sep 17 00:00:00 2001 From: Bill Joy Date: Tue, 3 Mar 1981 19:08:14 -0800 Subject: [PATCH] mount puts names in s_fsmnt SCCS-vsn: sys/kern/vfs_syscalls.c 4.8 SCCS-vsn: sys/ufs/ffs/ffs_vnops.c 4.8 SCCS-vsn: sys/ufs/ffs/ufs_vnops.c 4.8 SCCS-vsn: sys/ufs/lfs/lfs_vnops.c 4.8 SCCS-vsn: sys/ufs/ufs/ufs_vnops.c 4.8 --- usr/src/sys/kern/vfs_syscalls.c | 11 ++++++++--- usr/src/sys/ufs/ffs/ffs_vnops.c | 11 ++++++++--- usr/src/sys/ufs/ffs/ufs_vnops.c | 11 ++++++++--- usr/src/sys/ufs/lfs/lfs_vnops.c | 11 ++++++++--- usr/src/sys/ufs/ufs/ufs_vnops.c | 11 ++++++++--- 5 files changed, 40 insertions(+), 15 deletions(-) diff --git a/usr/src/sys/kern/vfs_syscalls.c b/usr/src/sys/kern/vfs_syscalls.c index aec349e089..7f0257cf8d 100644 --- a/usr/src/sys/kern/vfs_syscalls.c +++ b/usr/src/sys/kern/vfs_syscalls.c @@ -1,4 +1,4 @@ -/* vfs_syscalls.c 4.7 %G% */ +/* vfs_syscalls.c 4.8 %G% */ #include "../h/param.h" #include "../h/systm.h" @@ -135,8 +135,7 @@ dup() /* * the mount system call. */ -smount() -{ +smount() { dev_t dev; register struct inode *ip; register struct mount *mp; @@ -148,6 +147,7 @@ smount() char *freg; int ronly; } *uap; + register char *cp; uap = (struct a *)u.u_ap; dev = getmdev(); @@ -189,6 +189,11 @@ smount() fp->s_ronly = uap->ronly & 1; fp->s_nbehind = 0; fp->s_lasti = 1; + u.u_dirp = uap->freg; + for (cp = fp->s_fsmnt; cp < &fp->s_fsmnt[sizeof (fp->s_fsmnt) - 1]; ) + if ((*cp++ = uchar()) == 0) + u.u_dirp--; /* get 0 again */ + *cp = 0; brelse(bp); ip->i_flag |= IMOUNT; prele(ip); diff --git a/usr/src/sys/ufs/ffs/ffs_vnops.c b/usr/src/sys/ufs/ffs/ffs_vnops.c index a4190d8c92..f7010ad2bc 100644 --- a/usr/src/sys/ufs/ffs/ffs_vnops.c +++ b/usr/src/sys/ufs/ffs/ffs_vnops.c @@ -1,4 +1,4 @@ -/* ffs_vnops.c 4.7 %G% */ +/* ffs_vnops.c 4.8 %G% */ #include "../h/param.h" #include "../h/systm.h" @@ -135,8 +135,7 @@ dup() /* * the mount system call. */ -smount() -{ +smount() { dev_t dev; register struct inode *ip; register struct mount *mp; @@ -148,6 +147,7 @@ smount() char *freg; int ronly; } *uap; + register char *cp; uap = (struct a *)u.u_ap; dev = getmdev(); @@ -189,6 +189,11 @@ smount() fp->s_ronly = uap->ronly & 1; fp->s_nbehind = 0; fp->s_lasti = 1; + u.u_dirp = uap->freg; + for (cp = fp->s_fsmnt; cp < &fp->s_fsmnt[sizeof (fp->s_fsmnt) - 1]; ) + if ((*cp++ = uchar()) == 0) + u.u_dirp--; /* get 0 again */ + *cp = 0; brelse(bp); ip->i_flag |= IMOUNT; prele(ip); diff --git a/usr/src/sys/ufs/ffs/ufs_vnops.c b/usr/src/sys/ufs/ffs/ufs_vnops.c index 78ead9bed7..568d8371c2 100644 --- a/usr/src/sys/ufs/ffs/ufs_vnops.c +++ b/usr/src/sys/ufs/ffs/ufs_vnops.c @@ -1,4 +1,4 @@ -/* ufs_vnops.c 4.7 %G% */ +/* ufs_vnops.c 4.8 %G% */ #include "../h/param.h" #include "../h/systm.h" @@ -135,8 +135,7 @@ dup() /* * the mount system call. */ -smount() -{ +smount() { dev_t dev; register struct inode *ip; register struct mount *mp; @@ -148,6 +147,7 @@ smount() char *freg; int ronly; } *uap; + register char *cp; uap = (struct a *)u.u_ap; dev = getmdev(); @@ -189,6 +189,11 @@ smount() fp->s_ronly = uap->ronly & 1; fp->s_nbehind = 0; fp->s_lasti = 1; + u.u_dirp = uap->freg; + for (cp = fp->s_fsmnt; cp < &fp->s_fsmnt[sizeof (fp->s_fsmnt) - 1]; ) + if ((*cp++ = uchar()) == 0) + u.u_dirp--; /* get 0 again */ + *cp = 0; brelse(bp); ip->i_flag |= IMOUNT; prele(ip); diff --git a/usr/src/sys/ufs/lfs/lfs_vnops.c b/usr/src/sys/ufs/lfs/lfs_vnops.c index fdea42e527..fc1ae6ad3f 100644 --- a/usr/src/sys/ufs/lfs/lfs_vnops.c +++ b/usr/src/sys/ufs/lfs/lfs_vnops.c @@ -1,4 +1,4 @@ -/* lfs_vnops.c 4.7 %G% */ +/* lfs_vnops.c 4.8 %G% */ #include "../h/param.h" #include "../h/systm.h" @@ -135,8 +135,7 @@ dup() /* * the mount system call. */ -smount() -{ +smount() { dev_t dev; register struct inode *ip; register struct mount *mp; @@ -148,6 +147,7 @@ smount() char *freg; int ronly; } *uap; + register char *cp; uap = (struct a *)u.u_ap; dev = getmdev(); @@ -189,6 +189,11 @@ smount() fp->s_ronly = uap->ronly & 1; fp->s_nbehind = 0; fp->s_lasti = 1; + u.u_dirp = uap->freg; + for (cp = fp->s_fsmnt; cp < &fp->s_fsmnt[sizeof (fp->s_fsmnt) - 1]; ) + if ((*cp++ = uchar()) == 0) + u.u_dirp--; /* get 0 again */ + *cp = 0; brelse(bp); ip->i_flag |= IMOUNT; prele(ip); diff --git a/usr/src/sys/ufs/ufs/ufs_vnops.c b/usr/src/sys/ufs/ufs/ufs_vnops.c index 78ead9bed7..568d8371c2 100644 --- a/usr/src/sys/ufs/ufs/ufs_vnops.c +++ b/usr/src/sys/ufs/ufs/ufs_vnops.c @@ -1,4 +1,4 @@ -/* ufs_vnops.c 4.7 %G% */ +/* ufs_vnops.c 4.8 %G% */ #include "../h/param.h" #include "../h/systm.h" @@ -135,8 +135,7 @@ dup() /* * the mount system call. */ -smount() -{ +smount() { dev_t dev; register struct inode *ip; register struct mount *mp; @@ -148,6 +147,7 @@ smount() char *freg; int ronly; } *uap; + register char *cp; uap = (struct a *)u.u_ap; dev = getmdev(); @@ -189,6 +189,11 @@ smount() fp->s_ronly = uap->ronly & 1; fp->s_nbehind = 0; fp->s_lasti = 1; + u.u_dirp = uap->freg; + for (cp = fp->s_fsmnt; cp < &fp->s_fsmnt[sizeof (fp->s_fsmnt) - 1]; ) + if ((*cp++ = uchar()) == 0) + u.u_dirp--; /* get 0 again */ + *cp = 0; brelse(bp); ip->i_flag |= IMOUNT; prele(ip); -- 2.20.1