Open up libzfs_run_process/libzfs_load_module

Recently helper functions were added to libzfs_util to load a kernel
module or execute a process.  Initially this functionality was limited
to libzfs but it has become clear there will be other consumers.  This
change opens up the interface so it may be used where appropriate.
This commit is contained in:
Brian Behlendorf 2010-12-16 15:47:40 -08:00
parent 95c4cae39f
commit feb46b92a7
2 changed files with 9 additions and 2 deletions

View File

@ -672,6 +672,12 @@ extern int zfs_deleg_share_nfs(libzfs_handle_t *, char *, char *, char *,
extern void zfs_nicenum(uint64_t, char *, size_t);
extern int zfs_nicestrtonum(libzfs_handle_t *, const char *, uint64_t *);
/*
* Utility functions to run an external process.
*/
int libzfs_run_process(const char *, char **);
int libzfs_load_module(const char *);
/*
* Given a device or file, determine if it is part of a pool.
*/

View File

@ -631,7 +631,7 @@ libzfs_module_loaded(const char *module)
return result;
}
static int
int
libzfs_run_process(const char *path, char *argv[])
{
pid_t pid;
@ -657,13 +657,14 @@ libzfs_run_process(const char *path, char *argv[])
return -1;
}
static int
int
libzfs_load_module(const char *module)
{
char *argv[4] = {"/sbin/modprobe", "-q", (char *)module, (char *)0};
if (libzfs_module_loaded(module))
return 0;
return libzfs_run_process("/sbin/modprobe", argv);
}