modprobe: emit "can't open 'modules.dep': (errno)" instead of "module not found"
*: 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
This commit is contained in:
parent
787a492f23
commit
9604e1b8fc
@ -100,8 +100,7 @@ static int FAST_FUNC config_file_action(const char *filename,
|
|||||||
}
|
}
|
||||||
config_close(p);
|
config_close(p);
|
||||||
error:
|
error:
|
||||||
if (ENABLE_FEATURE_CLEAN_UP)
|
RELEASE_CONFIG_BUFFER(modname);
|
||||||
RELEASE_CONFIG_BUFFER(modname);
|
|
||||||
return rc;
|
return rc;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -141,8 +140,13 @@ static int do_modprobe(struct modprobe_conf *conf, const char *module)
|
|||||||
int rc = -1;
|
int rc = -1;
|
||||||
|
|
||||||
p = config_open2(CONFIG_DEFAULT_DEPMOD_FILE, fopen_for_read);
|
p = config_open2(CONFIG_DEFAULT_DEPMOD_FILE, fopen_for_read);
|
||||||
|
/* Modprobe does not work at all without modprobe.dep,
|
||||||
|
* even if the full module name is given. Returning error here
|
||||||
|
* was making us later confuse user with this message:
|
||||||
|
* "module /full/path/to/existing/file/module.ko not found".
|
||||||
|
* It's better to die immediately, with good message: */
|
||||||
if (p == NULL)
|
if (p == NULL)
|
||||||
goto error;
|
bb_perror_msg_and_die("can't open '%s'", CONFIG_DEFAULT_DEPMOD_FILE);
|
||||||
|
|
||||||
while (config_read(p, tokens, 2, 1, "# \t", PARSE_NORMAL)) {
|
while (config_read(p, tokens, 2, 1, "# \t", PARSE_NORMAL)) {
|
||||||
colon = last_char_is(tokens[0], ':');
|
colon = last_char_is(tokens[0], ':');
|
||||||
@ -179,23 +183,21 @@ static int do_modprobe(struct modprobe_conf *conf, const char *module)
|
|||||||
rc = bb_init_module(fn, options);
|
rc = bb_init_module(fn, options);
|
||||||
if (rc == 0)
|
if (rc == 0)
|
||||||
llist_add_to(&loaded, xstrdup(modname));
|
llist_add_to(&loaded, xstrdup(modname));
|
||||||
if (ENABLE_FEATURE_CLEAN_UP)
|
free(options);
|
||||||
free(options);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
if (ENABLE_FEATURE_CLEAN_UP)
|
free(fn);
|
||||||
free(fn);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
error_not_found:
|
error_not_found:
|
||||||
config_close(p);
|
config_close(p);
|
||||||
error:
|
|
||||||
if (ENABLE_FEATURE_CLEAN_UP)
|
|
||||||
RELEASE_CONFIG_BUFFER(modname);
|
|
||||||
if (rc > 0 && !(option_mask32 & INSMOD_OPT_SILENT))
|
if (rc > 0 && !(option_mask32 & INSMOD_OPT_SILENT))
|
||||||
bb_error_msg("failed to %sload module %s: %s",
|
bb_error_msg("failed to %sload module %s: %s",
|
||||||
(option_mask32 & MODPROBE_OPT_REMOVE) ? "un" : "",
|
(option_mask32 & MODPROBE_OPT_REMOVE) ? "un" : "",
|
||||||
module, moderror(rc));
|
module, moderror(rc));
|
||||||
|
|
||||||
|
RELEASE_CONFIG_BUFFER(modname);
|
||||||
return rc;
|
return rc;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -278,8 +280,7 @@ int modprobe_main(int argc UNUSED_PARAM, char **argv)
|
|||||||
char *realname = llist_pop(&conf->aliases);
|
char *realname = llist_pop(&conf->aliases);
|
||||||
if (check_blacklist(conf, realname))
|
if (check_blacklist(conf, realname))
|
||||||
do_modprobe(conf, realname);
|
do_modprobe(conf, realname);
|
||||||
if (ENABLE_FEATURE_CLEAN_UP)
|
free(realname);
|
||||||
free(realname);
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
argv++;
|
argv++;
|
||||||
|
@ -325,7 +325,7 @@ Find processes which use FILEs or PORTs
|
|||||||
free(proto);
|
free(proto);
|
||||||
} else { /* FILE */
|
} else { /* FILE */
|
||||||
if (!file_to_dev_inode(*pp, &dev, &inode))
|
if (!file_to_dev_inode(*pp, &dev, &inode))
|
||||||
bb_perror_msg_and_die("can't open %s", *pp);
|
bb_perror_msg_and_die("can't open '%s'", *pp);
|
||||||
ilist = add_inode(ilist, dev, inode);
|
ilist = add_inode(ilist, dev, inode);
|
||||||
}
|
}
|
||||||
pp++;
|
pp++;
|
||||||
|
@ -4540,7 +4540,7 @@ forkchild(struct job *jp, /*union node *n,*/ int mode)
|
|||||||
if (jp->nprocs == 0) {
|
if (jp->nprocs == 0) {
|
||||||
close(0);
|
close(0);
|
||||||
if (open(bb_dev_null, O_RDONLY) != 0)
|
if (open(bb_dev_null, O_RDONLY) != 0)
|
||||||
ash_msg_and_raise_error("can't open %s", bb_dev_null);
|
ash_msg_and_raise_error("can't open '%s'", bb_dev_null);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
if (!oldlvl) {
|
if (!oldlvl) {
|
||||||
@ -9573,7 +9573,7 @@ setinputfile(const char *fname, int flags)
|
|||||||
if (fd < 0) {
|
if (fd < 0) {
|
||||||
if (flags & INPUT_NOFILE_OK)
|
if (flags & INPUT_NOFILE_OK)
|
||||||
goto out;
|
goto out;
|
||||||
ash_msg_and_raise_error("can't open %s", fname);
|
ash_msg_and_raise_error("can't open '%s'", fname);
|
||||||
}
|
}
|
||||||
if (fd < 10) {
|
if (fd < 10) {
|
||||||
fd2 = copyfd(fd, 10);
|
fd2 = copyfd(fd, 10);
|
||||||
|
@ -83,7 +83,7 @@ struct partition {
|
|||||||
unsigned char size4[4]; /* nr of sectors in partition */
|
unsigned char size4[4]; /* nr of sectors in partition */
|
||||||
} PACKED;
|
} PACKED;
|
||||||
|
|
||||||
static const char unable_to_open[] ALIGN1 = "can't open %s";
|
static const char unable_to_open[] ALIGN1 = "can't open '%s'";
|
||||||
static const char unable_to_read[] ALIGN1 = "can't read from %s";
|
static const char unable_to_read[] ALIGN1 = "can't read from %s";
|
||||||
static const char unable_to_seek[] ALIGN1 = "can't seek on %s";
|
static const char unable_to_seek[] ALIGN1 = "can't seek on %s";
|
||||||
|
|
||||||
|
@ -69,7 +69,7 @@ int umount_main(int argc UNUSED_PARAM, char **argv)
|
|||||||
fp = setmntent(bb_path_mtab_file, "r");
|
fp = setmntent(bb_path_mtab_file, "r");
|
||||||
if (!fp) {
|
if (!fp) {
|
||||||
if (opt & OPT_ALL)
|
if (opt & OPT_ALL)
|
||||||
bb_error_msg_and_die("can't open %s", bb_path_mtab_file);
|
bb_error_msg_and_die("can't open '%s'", bb_path_mtab_file);
|
||||||
} else {
|
} else {
|
||||||
while (getmntent_r(fp, &me, path, PATH_MAX)) {
|
while (getmntent_r(fp, &me, path, PATH_MAX)) {
|
||||||
/* Match fstype if passed */
|
/* Match fstype if passed */
|
||||||
|
Loading…
Reference in New Issue
Block a user