aboutsummaryrefslogtreecommitdiff
path: root/util-linux/umount.c (follow)
Commit message (Collapse)AuthorAgeFilesLines
* help text: replace [OPTIONS] with actual options (if not too long)Denys Vlasenko2020-12-131-4/+4
| | | | | | | function old new delta packed_usage 33620 33665 +45 Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
* build system: drop PLATFORM_LINUXRon Yorston2020-08-131-1/+0
| | | | | | | | | | | | | | | PLATFORM_LINUX is a hidden configuration option which is disabled by default and enabled at over a hundred locations for features that are deemed to be Linux specific. The only effect of PLATFORM_LINUX is to control compilation of libbb/match_fstype.c. This file is only needed by mount and umount. Remove all references to PLATFORM_LINUX and compile match_fstype.c if mount or umount is enabled. Signed-off-by: Ron Yorston <rmy@pobox.com> Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
* config: update size informationDenys Vlasenko2018-12-281-1/+1
| | | | Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
* umount: fix "umount -t FSTYPE MNTPOINT" acting as if -a is specifiedDenys Vlasenko2018-02-201-3/+5
| | | | | | | | | | | | While at it, add -t to --help, and fix comments which say that -t is ignored function old new delta packed_usage 32427 32444 +17 umount_main 558 552 -6 ------------------------------------------------------------------------------ (add/remove: 0/0 grow/shrink: 1/1 up/down: 17/-6) Total: 11 bytes Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
* umount: ignore -cShawn Landden2018-01-081-2/+2
| | | | | | | | | | | | "-c, --no-canonicalize: Do not canonicalize paths." As busybox doesn't canonicalize paths in the first place it is safe to ignore this option. See https://github.com/systemd/systemd/issues/7786 Signed-off-by: Shawn Landden <slandden@gmail.com> Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
* sv,svc: fix NOEXEC falloutDenys Vlasenko2017-08-061-0/+2
| | | | | | | | | | | function old new delta svc_main 145 162 +17 sv 1280 1297 +17 status 139 133 -6 ------------------------------------------------------------------------------ (add/remove: 0/0 grow/shrink: 2/1 up/down: 34/-6) Total: 28 bytes Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
* umount: make it NOEXECDenys Vlasenko2017-08-051-1/+12
| | | | Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
* config: more tweaking of help textsDenys Vlasenko2017-07-271-1/+1
| | | | Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
* config: deindent all help textsDenys Vlasenko2017-07-211-5/+5
| | | | | | Those two spaces after tab have no effect, and always a nuisance when editing. Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
* Update menuconfig items with approximate applet sizesDenys Vlasenko2017-07-181-1/+1
| | | | Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
* Revert "umount: make -d always active, add -D to suppress it"Denys Vlasenko2017-03-161-16/+8
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This reverts commit 86a03bee1d3d6990c03bf500836b19ec8a1c1f12. Since now our "mount -oloop" creates AUTOCLEARed loopdevs, we no longer need our umount to destroy loopdevs to match the usual util-linux behaviour. Now this revert fixes another, opposite bug: "explicit" mount /dev/loopN and then umount must not drop loopdevs! User complaint is as follows: It seems LOOP_CLR_FD called on a loop-*partition* removes the mapping of the whole *device* - which results in the following: root@LEDE:/# loop=$(losetup -f) root@LEDE:/# echo ${loop} /dev/loop2 root@LEDE:/# losetup ${loop} /IMAGE root@LEDE:/# ls -l ${loop}* brw------- 1 root root 7, 2 Mar 6 20:09 /dev/loop2 root@LEDE:/# partprobe ${loop} root@LEDE:/# ls -l ${loop}* brw------- 1 root root 7, 2 Mar 6 20:09 /dev/loop2 brw------- 1 root root 259, 8 Mar 6 21:59 /dev/loop2p1 brw------- 1 root root 259, 9 Mar 6 21:59 /dev/loop2p2 brw------- 1 root root 259, 10 Mar 6 21:59 /dev/loop2p3 brw------- 1 root root 259, 11 Mar 6 21:59 /dev/loop2p4 brw------- 1 root root 259, 12 Mar 6 21:59 /dev/loop2p5 brw------- 1 root root 259, 13 Mar 6 21:59 /dev/loop2p6 brw------- 1 root root 259, 14 Mar 6 21:59 /dev/loop2p7 brw------- 1 root root 259, 15 Mar 6 21:59 /dev/loop2p8 root@LEDE:/# mount ${loop}p8 /MOUNT # mount loop partition root@LEDE:/# losetup -a | grep $loop # loop dev mapping still there /dev/loop2: 0 /mnt/IMAGE root@LEDE:/# strace umount /MOUNT 2> /log # unmount loop partition root@LEDE:/# losetup -a | grep ${loop} # loop device mapping is gone root@LEDE:/# grep -i loop /log open("/dev/loop2p7", O_RDONLY|O_LARGEFILE) = 3 ioctl(3, LOOP_CLR_FD) = 0 root@LEDE:/# The strace was done to figure out, if maybe umount wrongly ioctl()'s the parent device instead of the partition - it doesn't. I already wasn't a fan of umount implicitly removing the mapping in the first place (as I usually setup and release loop devices with `losetup` and scripts needed to call umount differently in order to work and outside busybox). However taking above (kernel-)behaviour into account - umount calling ioctl(LOOP_CLR_FD) unconditionally potentially causes some nasty side effects Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
* libbb: match_fstype() is unreadable in the extreme, fixing itDenys Vlasenko2017-01-301-2/+2
| | | | Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
* Convert all util-linux/* applets to "new style" applet definitionsDenys Vlasenko2016-11-231-0/+20
| | | | Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
* *: hopefully all setup_common_bufsiz() are in placeDenys Vlasenko2016-04-211-0/+1
| | | | Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
* libbb: make bb_common_bufsiz1 1 kbyte, add capability to use bss tail for itDenys Vlasenko2016-04-211-1/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The config item is FEATURE_USE_BSS_TAIL. When it is off (default): function old new delta read_config 210 228 +18 doCommands 2279 2294 +15 ipneigh_list_or_flush 763 772 +9 ipaddr_list_or_flush 1256 1261 +5 display_process_list 1301 1306 +5 conspy_main 1378 1383 +5 do_lzo_compress 352 355 +3 do_lzo_decompress 565 567 +2 push 46 44 -2 inetd_main 2136 2134 -2 uevent_main 421 418 -3 addLines 97 92 -5 bb_common_bufsiz1 8193 1024 -7169 ------------------------------------------------------------------------------ (add/remove: 0/0 grow/shrink: 8/5 up/down: 62/-7181) Total: -7119 bytes text data bss dec hex filename 829850 4086 9080 843016 cdd08 busybox_old 829901 4086 1904 835891 cc133 busybox_unstripped FEATURE_USE_BSS_TAIL=y: read_config 210 228 +18 doCommands 2279 2294 +15 ipneigh_list_or_flush 763 772 +9 ipaddr_list_or_flush 1256 1261 +5 display_process_list 1301 1306 +5 conspy_main 1378 1383 +5 do_lzo_compress 352 355 +3 do_lzo_decompress 565 567 +2 inetd_main 2136 2134 -2 bb_common_bufsiz1 8193 - -8193 ------------------------------------------------------------------------------ (add/remove: 0/1 grow/shrink: 8/1 up/down: 62/-8195) Total: -8133 bytes text data bss dec hex filename 829850 4086 9080 843016 cdd08 busybox_old 829911 4086 880 834877 cbd3d busybox_unstripped FIXME: setup_common_bufsiz() calls are missing. Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
* umount: build fix for older glibcDenys Vlasenko2016-03-281-0/+3
| | | | | | Based on a patch by Veli-Pekka Peltola <veli-pekka.peltola@ray.fi> Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
* libbb: introduce kernel-style BUILD_BUG_ON()Denys Vlasenko2015-10-131-5/+1
| | | | Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
* umount: always use umount2 syscall with specified flagsDenys Vlasenko2015-10-011-4/+16
| | | | | | | | | | | | | | | | | | | | Make umount -f more compatible with util-linux 2.22.2. Before: * 'umount -f': calls umount syscall, if it fails calls umount2 with 'MNT_FORCE' * 'mount -f -l': calls umount syscall, if it fails calls umount2 with 'MNT_LAZY'. 'MNT_FORCE' dropped After: * 'umount -f': calls umount2 syscall with 'MNT_FORCE' * 'mount -f -l': calls umount2 syscall with 'MNT_LAZY' and 'MNT_FORCE' function old new delta umount 45 - -45 umount_main 610 555 -55 Signed-off-by: Anton Bondarenko <anton.bondarenko@axis.com> Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
* umount: make -d always active, add -D to suppress itDenys Vlasenko2012-04-171-8/+16
| | | | Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
* *: remove "Options:" string from help textsDenys Vlasenko2011-06-051-1/+0
| | | | | | | function old new delta packed_usage 28706 28623 -83 Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
* move remaining help text from include/usage.src.hPere Orga2011-04-111-0/+22
| | | | | Signed-off-by: Pere Orga <gotrunks@gmail.com> Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
* umount: cleanup and code shrinkRob Landley2010-11-011-40/+7
| | | | | Signed-off-by: Rob Landley <rob@landley.net> Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
* umount: I forgot to change another PATH_MAX to 4096Denys Vlasenko2010-10-241-1/+1
| | | | Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
* umount: do not (ab)use PATH_MAX as mntent buffer sizeDenys Vlasenko2010-10-241-4/+1
| | | | Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
* *: make GNU licensing statement forms more regularDenys Vlasenko2010-08-161-1/+1
| | | | | | | This change retains "or later" state! No licensing _changes_ here, only form is adjusted (article, space between "GPL" and "v2" and so on). Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
* Hurd compat fixes. Mostly dealing with absent PATH_MAXJérémie Koenig2010-03-261-11/+22
| | | | | Signed-off-by: Jérémie Koenig <jk@jk.fr.eu.org> Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
* move libc related stuff out of platform.hDenys Vlasenko2009-07-081-1/+30
| | | | Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
* mount: support "-O option"; stop trying to mount swap partitionsDenis Vlasenko2009-03-141-2/+2
| | | | | | | | | | function old new delta mount_main 975 1152 +177 umount_main 640 636 -4 packed_usage 25666 25662 -4 ------------------------------------------------------------------------------ (add/remove: 0/0 grow/shrink: 1/2 up/down: 177/-8) Total: 169 bytes
* modprobe: emit "can't open 'modules.dep': (errno)" instead of "module not found"Denis Vlasenko2009-03-031-1/+1
| | | | | | | | | | | | | | | | *: s/can't open %s/can't open '%s'/, it's better to use same string. function old new delta do_modprobe 588 601 +13 config_file_action 339 345 +6 modprobe_main 565 570 +5 unable_to_open 14 16 +2 ------------------------------------------------------------------------------ (add/remove: 0/0 grow/shrink: 4/0 up/down: 26/0) Total: 26 bytes text data bss dec hex filename 816800 476 7892 825168 c9750 busybox_old 816812 476 7892 825180 c975c busybox_unstripped
* - fix spellingBernhard Reutner-Fischer2008-07-211-3/+3
|
* *: rename ATTRIBUTE_XXX to just XXX.Denis Vlasenko2008-07-051-2/+2
|
* [u]mount: add/update dietlibc build fixDenis Vlasenko2008-05-261-0/+11
|
* patch: shrink by Pascal Bellard <pascal.bellard AT ads-lu.com> (-80 bytes)Denis Vlasenko2008-03-231-1/+0
| | | | | *: removal of #include <getopt.h>
* *: add -Wunused-parameter; fix resulting breakageDenis Vlasenko2008-03-171-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | function old new delta procps_scan 1265 1298 +33 aliascmd 278 283 +5 parse_file_cmd 116 120 +4 dname_enc 373 377 +4 setcmd 90 93 +3 execcmd 57 60 +3 count_lines 72 74 +2 process_command_subs 340 339 -1 test_main 409 407 -2 mknod_main 179 177 -2 handle_incoming_and_exit 2653 2651 -2 argstr 1312 1310 -2 shiftcmd 131 128 -3 exitcmd 46 43 -3 dotcmd 297 294 -3 breakcmd 86 83 -3 evalpipe 353 349 -4 evalcommand 1180 1176 -4 evalcmd 109 105 -4 send_tree 374 369 -5 mkfifo_main 82 77 -5 evalsubshell 152 147 -5 typecmd 75 69 -6 letcmd 61 55 -6 add_cmd 1190 1183 -7 main 891 883 -8 ash_main 1415 1407 -8 parse_stream 1377 1367 -10 alloc_procps_scan 55 - -55 ------------------------------------------------------------------------------ (add/remove: 0/1 grow/shrink: 7/21 up/down: 54/-148) Total: -94 bytes text data bss dec hex filename 797195 658 7428 805281 c49a1 busybox_old 797101 658 7428 805187 c4943 busybox_unstripped
* umount: instead of non-standard -D, use -d with opposite meaningDenis Vlasenko2008-02-141-36/+37
| | | | | | | | | | | | | (closes bug 1604) umount: do not try to free loop device or erase mtab if remounted ro umount: do not complain several times about the same mountpoint function old new delta umount_main 646 638 -8 packed_usage 23662 23652 -10 ------------------------------------------------------------------------------ (add/remove: 0/0 grow/shrink: 0/2 up/down: 0/-18) Total: -18 bytes
* umount: fix fallout from stack reduction changeDenis Vlasenko2007-12-241-2/+2
|
* umount: stop using excessive aounts of stack. Surprisingly,Denis Vlasenko2007-11-101-1/+2
| | | | | | | | code shrank a lot too function old new delta umount_main 751 640 -111
* readlink: realpath requires PATH_MAX, bb_common_bufsiz1 can be too smallDenis Vlasenko2007-11-101-2/+2
| | | | | umount: don't actually need char[2 * PATH_MAX] for realpath
* add -fvisibility=hidden to CC flags, mark XXX_main functionsDenis Vlasenko2007-10-111-1/+1
| | | | | EXTERNALLY_VISIBLE. 5% size reduction of libbusybox.so
* umount: support (by ignoring) -i; style fixesDenis Vlasenko2007-09-061-11/+16
|
* don't pass argc in getopt32, it's superfluousDenis Vlasenko2007-08-181-1/+1
| | | | | | | | (add/remove: 0/0 grow/shrink: 12/131 up/down: 91/-727) Total: -636 bytes text data bss dec hex filename 773469 1058 11092 785619 bfcd3 busybox_old 772644 1058 11092 784794 bf99a busybox_unstripped
* usage.c: remove reference to busybox.hDenis Vlasenko2007-05-261-1/+1
| | | | | *: s/include "busybox.h"/include "libbb.h"
* [u]mount: extend -t option (Roy Marples <uberlord@gentoo.org>)Denis Vlasenko2007-04-051-3/+7
|
* suppress warnings about easch <applet>_main() havingDenis Vlasenko2007-02-031-0/+1
| | | | no preceding prototype
* umount: umount -a shouldn't stop on first failureDenis Vlasenko2006-11-121-5/+6
|
* getopt_ulflags -> getopt32.Denis Vlasenko2006-10-031-2/+2
| | | | | | | | It is impossible to formulate sane ABI based on size of ulong because it can be 32-bit or 64-bit. Basically it means that you cannot portably use more that 32 option chars in one call anyway... Make it explicit.
* Change license statements (and clean up headers) on some of the files thatRob Landley2006-09-221-4/+1
| | | | Erik or I are primary copyright holders on.
* whitespace cleanupDenis Vlasenko2006-09-171-1/+1
|
* umount: do not try to close FILE* which is NULL.Denis Vlasenko2006-09-141-11/+13
|
* The kernel can't handle umount /dev/hdc, we have to do it through mtab,Rob Landley2006-08-171-8/+14
| | | | | | | | | | | | | | except that we still have to work when there is no mtab. Oh, and while we're at it, take advantage of the fact that modern processors avoid branches via conditional assignment where possible. ("x = a ? b : c;" turns into "x = c; if (a) x = b;" because that way there's no branch to potentially mispredict and thus never a bubble in the pipeline. The if(a) turns into an assembly test followed by a conditional assignment (rather than a conditional jump).) So since the compiler is going to do that _anyway_, we might as well take advantage of it to produce a slightly smaller binary. So there.