diff options
author | Roland McGrath <roland@gnu.org> | 1998-10-24 07:31:10 +0000 |
---|---|---|
committer | Roland McGrath <roland@gnu.org> | 1998-10-24 07:31:10 +0000 |
commit | f8e9c21bc6f36840b308da7bb1c2d1be79386830 (patch) | |
tree | b1a483b0eb4cb992d22d3cbe9fa26302d9b5158b /libdiskfs/opts-std-startup.c | |
parent | 00ccf96ef26845b7182bcbcf48ea061190b7184a (diff) | |
download | hurd-f8e9c21bc6f36840b308da7bb1c2d1be79386830.tar.gz hurd-f8e9c21bc6f36840b308da7bb1c2d1be79386830.tar.bz2 hurd-f8e9c21bc6f36840b308da7bb1c2d1be79386830.zip |
1998-04-04 Roland McGrath <roland@baalperazim.frob.com>
Add support for a "virtual root directory" specified at startup.
* priv.h (_diskfs_chroot_directory): Declare new variable.
* opts-std-startup.c (startup_options, parse_startup_opt): New
string-valued option -C/--directory/--virtual-root/--chroot sets
_diskfs_chroot_directory.
* init-startup.c (_diskfs_chroot_directory): New variable.
(diskfs_startup_diskfs): If that's set, look up the name and
warp us to that as a virtual root directory.
* fsys-getroot.c (diskfs_S_fsys_getroot): Initialize new peropen's
shadow_root_parent to null, and shadow_root to either null or,
if _diskfs_chroot_directory is set, to diskfs_root_node.
Diffstat (limited to 'libdiskfs/opts-std-startup.c')
-rw-r--r-- | libdiskfs/opts-std-startup.c | 7 |
1 files changed, 6 insertions, 1 deletions
diff --git a/libdiskfs/opts-std-startup.c b/libdiskfs/opts-std-startup.c index 13cf8e65..14760ed7 100644 --- a/libdiskfs/opts-std-startup.c +++ b/libdiskfs/opts-std-startup.c @@ -1,6 +1,6 @@ /* Standard startup-time command line parser - Copyright (C) 1995, 1996, 1997 Free Software Foundation, Inc. + Copyright (C) 1995, 1996, 1997, 1998 Free Software Foundation, Inc. Written by Miles Bader <miles@gnu.ai.mit.edu> @@ -46,6 +46,9 @@ startup_options[] = {"device-master-port", OPT_DEVICE_MASTER_PORT, "PORT"}, {"exec-server-task", OPT_EXEC_SERVER_TASK, "PORT"}, {"bootflags", OPT_BOOTFLAGS, "FLAGS"}, + {"directory", 'C', "DIRECTORY"}, + {"virtual-root", 0, 0, OPTION_ALIAS | OPTION_HIDDEN}, + {"chroot", 0, 0, OPTION_ALIAS | OPTION_HIDDEN}, {0} }; @@ -84,6 +87,8 @@ parse_startup_opt (int opt, char *arg, struct argp_state *state) diskfs_exec_server_task = atoi (arg); break; case OPT_BOOTFLAGS: diskfs_boot_flags = arg; break; + case 'C': + _diskfs_chroot_directory = arg; break; case ARGP_KEY_END: diskfs_argv = state->argv; break; |