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:
parent
95c4cae39f
commit
feb46b92a7
|
@ -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.
|
||||
*/
|
||||
|
|
|
@ -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);
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in New Issue