[ltt-dev] [PATCH] ltt-sessiond: use short options for modprobe in order to support Busybox

Thomas Petazzoni thomas.petazzoni at free-electrons.com
Thu Nov 3 07:51:21 EDT 2011


Many embedded systems are based on Busybox, and therefore use the
Busybox implementation of modprobe. This implementation does not
support long options such as --remove and --quiet, only short options
such as -r and -q are supported.

This patches changes ltt-sessiond to use the short options, which are
more widely available, and allows lttng to work easily on a
Busybox-based system.

Signed-off-by: Thomas Petazzoni <thomas.petazzoni at free-electrons.com>
---
 ltt-sessiond/main.c |    8 ++++----
 1 files changed, 4 insertions(+), 4 deletions(-)

diff --git a/ltt-sessiond/main.c b/ltt-sessiond/main.c
index 334af53..2c2fe44 100644
--- a/ltt-sessiond/main.c
+++ b/ltt-sessiond/main.c
@@ -211,16 +211,16 @@ static int modprobe_remove_kernel_modules(void)
 
 	for (i = ARRAY_SIZE(kernel_modules_list) - 1; i >= 0; i--) {
 		ret = snprintf(modprobe, sizeof(modprobe),
-				"/sbin/modprobe --remove --quiet %s",
+				"/sbin/modprobe -r -q %s",
 				kernel_modules_list[i].name);
 		if (ret < 0) {
-			perror("snprintf modprobe --remove");
+			perror("snprintf modprobe -r");
 			goto error;
 		}
 		modprobe[sizeof(modprobe) - 1] = '\0';
 		ret = system(modprobe);
 		if (ret == -1) {
-			ERR("Unable to launch modprobe --remove for module %s",
+			ERR("Unable to launch modprobe -r for module %s",
 					kernel_modules_list[i].name);
 		} else if (kernel_modules_list[i].required
 				&& WEXITSTATUS(ret) != 0) {
@@ -1490,7 +1490,7 @@ static int modprobe_kernel_modules(void)
 	for (i = 0; i < ARRAY_SIZE(kernel_modules_list); i++) {
 		ret = snprintf(modprobe, sizeof(modprobe),
 			"/sbin/modprobe %s%s",
-			kernel_modules_list[i].required ? "" : "--quiet ",
+			kernel_modules_list[i].required ? "" : "-q ",
 			kernel_modules_list[i].name);
 		if (ret < 0) {
 			perror("snprintf modprobe");
-- 
1.7.4.1





More information about the lttng-dev mailing list