Commit Graph

142 Commits

Author SHA1 Message Date
Denys Vlasenko
8dff01d06a libbb: introduce and use is_prefixed_with()
function                                             old     new   delta
is_prefixed_with                                       -      18     +18
complete_username                                     78      77      -1
man_main                                             737     735      -2
fsck_device                                          429     427      -2
unpack_ar_archive                                     80      76      -4
strip_unsafe_prefix                                  105     101      -4
singlemount                                         1054    1050      -4
rtc_adjtime_is_utc                                    90      86      -4
resolve_mount_spec                                    88      84      -4
parse_one_line                                      1029    1025      -4
parse_conf                                          1460    1456      -4
may_wakeup                                            83      79      -4
loadkmap_main                                        219     215      -4
get_irqs_from_stat                                   103      99      -4
get_header_cpio                                      913     909      -4
findfs_main                                           79      75      -4
fbsplash_main                                       1230    1226      -4
load_crontab                                         776     771      -5
expand_vars_to_list                                 1151    1146      -5
date_main                                            881     876      -5
skip_dev_pfx                                          30      24      -6
make_device                                         2199    2193      -6
complete_cmd_dir_file                                773     767      -6
run_applet_and_exit                                  715     708      -7
uudecode_main                                        321     313      -8
pwdx_main                                            197     189      -8
execute                                              568     560      -8
i2cdetect_main                                      1186    1176     -10
procps_scan                                         1242    1230     -12
procps_read_smaps                                   1017    1005     -12
process_module                                       746     734     -12
patch_main                                          1903    1891     -12
nfsmount                                            3572    3560     -12
stack_machine                                        126     112     -14
process_timer_stats                                  449     435     -14
match_fstype                                         111      97     -14
do_ipaddr                                           1344    1330     -14
open_list_and_close                                  359     343     -16
get_header_tar                                      1795    1779     -16
prepend_new_eth_table                                340     323     -17
fsck_main                                           1811    1794     -17
find_iface_state                                      56      38     -18
dnsd_main                                           1321    1303     -18
base_device                                          179     158     -21
find_keyword                                         104      82     -22
handle_incoming_and_exit                            2785    2762     -23
parse_and_put_prompt                                 774     746     -28
modinfo                                              347     317     -30
find_action                                          204     171     -33
update_passwd                                       1470    1436     -34
------------------------------------------------------------------------------
(add/remove: 1/0 grow/shrink: 0/49 up/down: 18/-540)         Total: -522 bytes

Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2015-03-12 17:48:34 +01:00
Denys Vlasenko
26a8b9f196 mdev: treat zero-length /dev/mdev.seq the same as "\n" one. Closes 7334
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2014-09-08 18:19:15 +02:00
Nikolaus Voss
c3cf1e30a3 mdev: use $DEVNAME in uevent sysfs file for device node name
516530c932 uses $DEVNAME variable
for device node name. This is fine, but only works for hotplugging,
"mdev -s" will behave differently when DEVNAME and basename(path)
differ.

This patch extracts the DEVNAME from the uevent sysfs file in
make_device(), thus works for hot- and coldplugging; so using
the environment DEVNAME on hotplug events is no longer necessary.

Signed-off-by: Nikolaus Voss <n.voss@weinmann.de>
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2013-05-13 03:55:11 +02:00
Denys Vlasenko
d35cbad0ef mdev: call index_in_strings on $ACTION only after we checked it for NULL
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2013-04-02 14:37:06 +02:00
Denys Vlasenko
4424dfd69b mdev: fix build failure
The error was "error: 'struct globals' has no member named 'parser'"

Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2013-03-17 23:01:17 +01:00
Denys Vlasenko
5bce135e36 mdev: improve $SEQ handling; improve debug logging
Sequential run of concurrent mdev's was too simplistic:
they waited for /dev/mdev.seq to match. This could sometimes
cause cumulative loss of time on the order of a second.

Added SIGCHLD signaling from exiting mdev to all other mdev's.
Added debugging required to see that code actually works as intended.

Example of /dev/mdev.log (with "woken up" elevated from dbg lvl 3 to 2):

mdev[1023]: first seq written
     ^^^^ seq, not pid
mdev[1023]: 35.022395 ACTION:add SUBSYSTEM:module DEVNAME:(null) DEVPATH:/module/lib80211
mdev[1023]: rule matched, line -1
                          ^^^^^^^ means "default rule"
mdev[1023]: 35.022676 exiting
            ^^^^^^^^^ second,usec timestamp
mdev[1024]: 35.069691 ACTION:add SUBSYSTEM:vc DEVNAME:vcs9 DEVPATH:/devices/virtual/vc/vcs9
mdev[1024]: dev 7,9
mdev[1025]: 35.069889 waiting for '1024'
mdev[1026]: 35.069946 waiting for '1024'
mdev[1027]: 35.070151 waiting for '1024'
mdev[1024]: rule matched, line -1
mdev[1024]: mknod vcs9 (7,9) 20660 0:0
mdev[1024]: 35.070346 exiting
mdev[1025]: woken up
mdev[1026]: woken up
mdev[1025]: 35.071213 ACTION:add SUBSYSTEM:vc DEVNAME:vcsa9 DEVPATH:/devices/virtual/vc/vcsa9
            ^^^^^^^^^ took only a millisecond to start running after prev mdev exited
mdev[1025]: dev 7,137
mdev[1027]: woken up
mdev[1025]: rule matched, line -1
mdev[1025]: mknod vcsa9 (7,137) 20660 0:0
mdev[1025]: 35.072109 exiting

function                                             old     new   delta
mdev_main                                            849    1372    +523
curtime                                                -      59     +59
dirAction                                             87     134     +47
static.ts                                              -       8      +8
keywords                                              19      12      -7
make_device                                         2189    2119     -70

Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2013-02-27 10:51:41 +01:00
Denys Vlasenko
40b97fb31e mdev: add environment variable match
function                                             old     new   delta
make_device                                         1998    2189    +191
clean_up_cur_rule                                     61      96     +35
dirAction                                             75      87     +12
mdev_main                                            838     849     +11
packed_usage                                       29272   29273      +1
------------------------------------------------------------------------------
(add/remove: 0/0 grow/shrink: 5/0 up/down: 250/0)             Total: 250 bytes

Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2013-02-26 00:40:46 +01:00
Denys Vlasenko
ba76b7a40b mdev: chdir back to /dev after trying to read firmware
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2013-02-04 23:35:27 +01:00
Denys Vlasenko
6e29d07417 mdev: extend debug logging output
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2013-01-30 16:51:22 +01:00
Denys Vlasenko
4609f477c7 mdev: fix mode of dir1 in =dir1/dir2/file rule
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2013-01-21 01:22:12 +01:00
Christoph Lohmann
25cb5aae2b mdev: tell kernel that we didn't find the firmware
function                                             old     new   delta
mdev_main                                            797     801      +4

Signed-off-by: Christoph Lohmann <20h@r-36.net>
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2012-05-19 23:39:45 +02:00
Denys Vlasenko
aaf827203d Merge branch 'master' of git+ssh://vda@busybox.net/var/lib/git/busybox 2012-05-19 22:37:07 +02:00
Denys Vlasenko
b6beada5a1 mdev: remove undocumented subsystem/devname matching hack
It was colliding with matching of devnames with slashes.
We need a more generic way to examine env.vars in rules anyway.

Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2012-05-18 15:11:16 +02:00
Denys Vlasenko
ea57f51819 mdev: when found, print major,minor into mdev.log
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2012-05-18 11:39:57 +02:00
Denys Vlasenko
8d11854678 tweak help text
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2012-05-18 04:47:18 +02:00
Denys Vlasenko
516530c932 mdev: add support for $DEVNAME and /dev/mdev.log debug aid
function                                             old     new   delta
make_device                                         1843    2083    +240
mdev_main                                            712     804     +92
packed_usage                                       29236   29251     +15
keywords                                             288      19    -269
------------------------------------------------------------------------------
(add/remove: 0/0 grow/shrink: 3/1 up/down: 347/-269)           Total: 78 bytes
   text    data     bss     dec     hex filename
 887506     497    7584  895587   daa63 busybox_old
 887982     497    7584  896063   dac3f busybox_unstripped

Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2012-05-18 04:45:35 +02:00
Denys Vlasenko
c9665631d3 mdev: fix mode of creatred node if config file support is not configured
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2012-04-21 14:35:32 +02:00
Denys Vlasenko
638dbc34b3 mdev: add a comment. no code changes
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2012-02-06 01:00:00 +01:00
Javier Viguera
e8758eaf4f mdev: fix wrong sizeof
Signed-off-by: Javier Viguera <javier.viguera@digi.com>
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2012-01-30 02:15:13 +01:00
Denys Vlasenko
499597d6ef mdev: do not treat non-leading '#' chars as start of comment. Closes 4676
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2012-01-11 00:37:17 +01:00
Denys Vlasenko
45f0a1156d mdev: trim overlong comments. No code changes
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2011-09-22 04:55:47 +02:00
Denys Vlasenko
3eccd7ecbe mdev: don't reparse rules on -s
function                                             old     new   delta
make_device                                         1648    1843    +195
clean_up_cur_rule                                      -      61     +61
make_default_cur_rule                                  -      41     +41
mdev_main                                            690     712     +22
------------------------------------------------------------------------------
(add/remove: 2/0 grow/shrink: 2/0 up/down: 319/0)             Total: 319 bytes

Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2011-09-22 03:46:30 +02:00
Denys Vlasenko
16714245f9 add INIT_G()'s. No code changes.
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2011-09-21 01:59:15 +02:00
Denys Vlasenko
5c6ba6c56f mdev: expand --help so that it's actually useful.
function                                             old     new   delta
packed_usage                                       28634   28822    +188

Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2011-09-19 12:18:11 +02:00
Denys Vlasenko
4566e172eb simplify parsing of /etc/busybox.conf
function                                             old     new   delta
parse_config_file                                    799     667    -132

Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2011-05-16 00:01:08 +02:00
Pere Orga
5bc8c005a8 move remaining help text from include/usage.src.h
Signed-off-by: Pere Orga <gotrunks@gmail.com>
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2011-04-11 03:29:49 +02:00
Denys Vlasenko
0ef64bdb40 *: make GNU licensing statement forms more regular
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>
2010-08-16 20:14:46 +02:00
Denys Vlasenko
f2860bf6d3 mdev: fix non-working device deletion, add a test for that
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2010-08-16 14:26:15 +02:00
Denys Vlasenko
dd8adde386 *: introduce and use bb_unsetenv_and_free
function                                             old     new   delta
bb_unsetenv_and_free                                   -      17     +17
tcpudpsvd_main                                      1819    1810      -9
safe_setenv                                           58      47     -11
udhcp_run_script                                     630     616     -14
make_device                                         1683    1663     -20
------------------------------------------------------------------------------
(add/remove: 1/0 grow/shrink: 0/4 up/down: 17/-54)            Total: -37 bytes

Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2010-06-24 05:00:50 +02:00
Denys Vlasenko
b38af7bd31 mdev: add "!" syntax support
Based on the patch by Steve Bennett <steveb@workware.net.au>

function                                             old     new   delta
make_device                                         1640    1673     +33

Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2010-04-02 06:47:14 +02:00
Denys Vlasenko
651a2697f7 *: merge some common strings
text   data    bss    dec    hexfilename
 838650   8009      0 846659  ceb43busybox_old
 838519   8009      0 846528  ceac0busybox_unstripped

Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2010-03-23 16:25:17 +01:00
Denys Vlasenko
8d4a8d195d mdev: fix a trivial SEGV
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2010-03-16 18:37:19 +01:00
Denys Vlasenko
64bb95a361 mdev: fix subsystem passing (new kernels broke it again) - bugs 639, 721.
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2010-02-24 10:39:47 +01:00
Denys Vlasenko
98a4c7cf3d *: suppress ~60% of "aliased warnings" on gcc-4.4.1
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2010-02-04 15:00:15 +01:00
Denys Vlasenko
1612c757d0 mdev: print line# in error messages
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2009-11-07 03:33:05 +01:00
Denys Vlasenko
e62a2463ec mdev: do not die on mknod errors
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2009-11-01 21:51:31 +01:00
Bernhard Reutner-Fischer
b04f058e76 mdev: adjust error message
function                                             old     new   delta
.rodata                                           126715  126706      -9

(reusing common error string)

Signed-off-by: Bernhard Reutner-Fischer <rep.dot.nop@gmail.com>
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2009-10-27 17:13:45 +01:00
Bernhard Reutner-Fischer
933993a461 mdev: handle string modes
parse ugoa=rwxXst via bb_parse_mode (+5b)

Signed-off-by: Bernhard Reutner-Fischer <rep.dot.nop@gmail.com>
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2009-10-27 17:13:12 +01:00
Bernhard Reutner-Fischer
6531f0923b mdev: tiny shrinkage by index_in_strings
text	   data	    bss	    dec	    hex	filename
      2633	      0	      0	   2633	    a49	util-linux/mdev.o.old
      2624	      0	      0	   2624	    a40	util-linux/mdev.o

Signed-off-by: Bernhard Reutner-Fischer <rep.dot.nop@gmail.com>
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2009-10-27 17:12:26 +01:00
Denys Vlasenko
5478aaf5b8 mdev: be more permissive on errors (dont die): mdev -s users want that
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2009-07-02 13:17:10 +02:00
Denys Vlasenko
90db359972 mdev: set $MDEV correctly for renamed nodes
function                                             old     new   delta
make_device                                         1467    1502     +35
build_alias                                           78       -     -78

Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2009-07-02 13:07:11 +02:00
Denys Vlasenko
2f86ca1350 mdev: fix the case when move rule deletes node with name == device_name
Signed-off-by: Jean Wolter <jw5@os.inf.tu-dresden.de>
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2009-06-22 01:31:12 +02:00
Denys Vlasenko
76f5e38c82 mdev: revert last wrong commit
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2009-05-04 21:59:05 +02:00
Denys Vlasenko
aa0a12d549 mdev: do not exit if user:group parse failed. closes bug 309.
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2009-05-02 16:33:10 +02:00
Denys Vlasenko
05ae400830 mdev: fix a case where we mangle device_path string and then use it. 2009-05-01 03:09:54 +02:00
Denis Vlasenko
11c17f75a7 mdev: enlarge inline documentation 2009-04-19 23:38:08 +00:00
Denis Vlasenko
3798db58cf mdev: support $ENVVAR=regex 2009-04-19 21:37:07 +00:00
Denis Vlasenko
c7cc5a9432 mdev: Rob's #if forest removal
*: remove superfluous conts in "f(type *const param)"
2009-04-19 01:27:20 +00:00
Denis Vlasenko
5ff9629b8f mdev: add large comment, fix a buglet with subsystem and /sys/block 2009-04-17 00:01:04 +00:00
Denis Vlasenko
3161b61199 mdev: set mode, needed when device node already exists. 2009-04-16 22:42:01 +00:00