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. |
||
---|---|---|
.. | ||
bootsect.h | ||
bpb.h | ||
denode.h | ||
direntry.h | ||
fat.h | ||
msdosfs_conv.c | ||
msdosfs_denode.c | ||
msdosfs_fat.c | ||
msdosfs_lookup.c | ||
msdosfs_vfsops.c | ||
msdosfs_vnops.c | ||
msdosfsmount.h |