From fa37873d63b3d389e934dbb9c4a665e9f3a310d8 Mon Sep 17 00:00:00 2001 From: David du Colombier <0intro@gmail.com> Date: Sat, 11 Mar 2000 00:00:00 +0000 Subject: [PATCH] Plan 9 from Bell Labs 2000-03-11 --- boot/boot.c | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) diff --git a/boot/boot.c b/boot/boot.c index 60bef87fa82ff463da7fc4739d89c7a5bc5b063b..2f0ff7a94d6e2470ab8f056dc2108093e5567ba1 100644 --- a/boot/boot.c +++ b/boot/boot.c @@ -127,12 +127,18 @@ boot(int argc, char *argv[]) rp = getenv("rootdir"); if(rp == nil) rp = rootdir; - if(strncmp(rp, "/root", 5) != 0){ + if(bind(rp, "/", MAFTER|MCREATE) < 0){ + if(strncmp(rp, "/root", 5) == 0){ + fprint(2, "boot: couldn't bind $rootdir=%s to root: %r\n", rp); + fatal("second bind /"); + } snprint(rootbuf, sizeof rootbuf, "/root/%s", rp); rp = rootbuf; + if(bind(rp, "/", MAFTER|MCREATE) < 0){ + fprint(2, "boot: couldn't bind $rootdir=%s to root: %r\n", rp); + fatal("second bind /"); + } } - if(bind(rp, "/", MAFTER|MCREATE) < 0) - fatal("second bind /"); close(fd); setenv("rootdir", rp);