diff options
author | Denis Vlasenko <vda.linux@googlemail.com> | 2008-02-25 20:30:24 +0000 |
---|---|---|
committer | Denis Vlasenko <vda.linux@googlemail.com> | 2008-02-25 20:30:24 +0000 |
commit | 394eebed6656dfc2e56a79500b602023000ac415 (patch) | |
tree | b5b5858663e7333b9624cb4f329e91ae649f3247 /util-linux/switch_root.c | |
parent | 38b8831b3201a9e44cfb156b5b8577e4f5e8d761 (diff) | |
download | busybox-w32-394eebed6656dfc2e56a79500b602023000ac415.tar.gz busybox-w32-394eebed6656dfc2e56a79500b602023000ac415.tar.bz2 busybox-w32-394eebed6656dfc2e56a79500b602023000ac415.zip |
lpd: spool mode added by Vladimir
lpr: more robust error reporting
*: introduce and use xchroot
libbb: full_read/write now will report partial data counts prior to error
isdirectory.c: style fixes
lpd_main 249 486 +237
xchroot - 29 +29
get_response_or_say_and_die 110 139 +29
full_write 52 60 +8
full_read 55 63 +8
static.newline 1 - -1
switch_root_main 404 400 -4
chpst_main 1089 1079 -10
getopt32 1370 1359 -11
chroot_main 115 101 -14
------------------------------------------------------------------------------
(add/remove: 1/1 grow/shrink: 4/4 up/down: 311/-40) Total: 271 bytes
text data bss dec hex filename
798472 728 7484 806684 c4f1c busybox_old
798775 728 7484 806987 c504b busybox_unstripped
Diffstat (limited to 'util-linux/switch_root.c')
-rw-r--r-- | util-linux/switch_root.c | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/util-linux/switch_root.c b/util-linux/switch_root.c index bd1e9d5ce..3a1741179 100644 --- a/util-linux/switch_root.c +++ b/util-linux/switch_root.c | |||
@@ -105,8 +105,9 @@ int switch_root_main(int argc, char **argv) | |||
105 | // Overmount / with newdir and chroot into it. The chdir is needed to | 105 | // Overmount / with newdir and chroot into it. The chdir is needed to |
106 | // recalculate "." and ".." links. | 106 | // recalculate "." and ".." links. |
107 | 107 | ||
108 | if (mount(".", "/", NULL, MS_MOVE, NULL) || chroot(".")) | 108 | if (mount(".", "/", NULL, MS_MOVE, NULL)) |
109 | bb_error_msg_and_die("error moving root"); | 109 | bb_error_msg_and_die("error moving root"); |
110 | xchroot("."); | ||
110 | xchdir("/"); | 111 | xchdir("/"); |
111 | 112 | ||
112 | // If a new console specified, redirect stdin/stdout/stderr to that. | 113 | // If a new console specified, redirect stdin/stdout/stderr to that. |