f3a90da995
An initial tidyup of the mount() syscall and VFS mount code. This code replaces the earlier work done by jlemon in an attempt to make linux_mount() work. * the guts of the mount work has been moved into vfs_mount(). * move `type', `path' and `flags' from being userland variables into being kernel variables in vfs_mount(). `data' remains a pointer into userspace. * Attempt to verify the `type' and `path' strings passed to vfs_mount() aren't too long. * rework mount() and linux_mount() to take the userland parameters (besides data, as mentioned) and pass kernel variables to vfs_mount(). (linux_mount() already did this, I've just tidied it up a little more.) * remove the copyin*() stuff for `path'. `data' still requires copyin*() since its a pointer into userland. * set `mount->mnt_statf_mntonname' in vfs_mount() rather than in each filesystem. This variable is generally initialised with `path', and each filesystem can override it if they want to. * NOTE: f_mntonname is intiailised with "/" in the case of a root mount. |
||
---|---|---|
.. | ||
bootp_subr.c | ||
krpc_subr.c | ||
krpc.h | ||
nfs_bio.c | ||
nfs_common.c | ||
nfs_common.h | ||
nfs_node.c | ||
nfs_nqlease.c | ||
nfs_serv.c | ||
nfs_socket.c | ||
nfs_srvcache.c | ||
nfs_subs.c | ||
nfs_syscalls.c | ||
nfs_vfsops.c | ||
nfs_vnops.c | ||
nfs.h | ||
nfsdiskless.h | ||
nfsm_subs.h | ||
nfsmount.h | ||
nfsnode.h | ||
nfsproto.h | ||
nfsrtt.h | ||
nfsrvcache.h | ||
nfsv2.h | ||
nqnfs.h | ||
rpcv2.h | ||
xdr_subs.h |