Add linux-user-util topic branch.
This topic branch contains required changes to the user space utilities to allow them to integrate cleanly with Linux.
This commit is contained in:
parent
b974e4bf4d
commit
868e5de066
18
.topmsg
18
.topmsg
|
@ -1,19 +1,7 @@
|
||||||
From: Brian Behlendorf <behlendorf1@llnl.gov>
|
From: Brian Behlendorf <behlendorf1@llnl.gov>
|
||||||
Subject: [PATCH] zfs branch
|
Subject: [PATCH] linux user util
|
||||||
|
|
||||||
Merged result of all changes which are relevant to both Solaris
|
This topic branch contains required changes to the user space
|
||||||
and Linux builds of the ZFS code. These are changes where there
|
utilities to allow them to integrate cleanly with Linux.
|
||||||
is a reasonable chance they will be accepted upstream.
|
|
||||||
|
|
||||||
Additionally, since this is effectively the root of the linux
|
|
||||||
ZFS tree the core linux build system is added here. This
|
|
||||||
includes autogen.sh, configure.ac, m4 macros, some scripts/*,
|
|
||||||
and makefiles for all the core ZFS components. Linux-only
|
|
||||||
features which require tweaks to the build system should appear
|
|
||||||
on the relevant topic branches. All autotools products which
|
|
||||||
result from autogen.sh are commited to the linux-configure-branch.
|
|
||||||
|
|
||||||
This branch also contains the META, ChangeLog, AUTHORS, TODO,
|
|
||||||
and README, files.
|
|
||||||
|
|
||||||
Signed-off-by: Brian Behlendorf <behlendorf1@llnl.gov>
|
Signed-off-by: Brian Behlendorf <behlendorf1@llnl.gov>
|
||||||
|
|
|
@ -2394,8 +2394,8 @@ main(int argc, char **argv)
|
||||||
}
|
}
|
||||||
|
|
||||||
kernel_init(FREAD);
|
kernel_init(FREAD);
|
||||||
g_zfs = libzfs_init();
|
if ((g_zfs = libzfs_init()) == NULL)
|
||||||
ASSERT(g_zfs != NULL);
|
return (1);
|
||||||
|
|
||||||
for (c = 0; c < 256; c++) {
|
for (c = 0; c < 256; c++) {
|
||||||
if (dump_all && c != 'l' && c != 'R')
|
if (dump_all && c != 'l' && c != 'R')
|
||||||
|
|
|
@ -4035,17 +4035,6 @@ main(int argc, char **argv)
|
||||||
|
|
||||||
opterr = 0;
|
opterr = 0;
|
||||||
|
|
||||||
if ((g_zfs = libzfs_init()) == NULL) {
|
|
||||||
(void) fprintf(stderr, gettext("internal error: failed to "
|
|
||||||
"initialize ZFS library\n"));
|
|
||||||
return (1);
|
|
||||||
}
|
|
||||||
|
|
||||||
zpool_set_history_str("zfs", argc, argv, history_str);
|
|
||||||
verify(zpool_stage_history(g_zfs, history_str) == 0);
|
|
||||||
|
|
||||||
libzfs_print_on_error(g_zfs, B_TRUE);
|
|
||||||
|
|
||||||
if ((mnttab_file = fopen(MNTTAB, "r")) == NULL) {
|
if ((mnttab_file = fopen(MNTTAB, "r")) == NULL) {
|
||||||
(void) fprintf(stderr, gettext("internal error: unable to "
|
(void) fprintf(stderr, gettext("internal error: unable to "
|
||||||
"open %s\n"), MNTTAB);
|
"open %s\n"), MNTTAB);
|
||||||
|
@ -4087,9 +4076,18 @@ main(int argc, char **argv)
|
||||||
/*
|
/*
|
||||||
* Special case '-?'
|
* Special case '-?'
|
||||||
*/
|
*/
|
||||||
if (strcmp(cmdname, "-?") == 0)
|
if ((strcmp(cmdname, "-?") == 0) ||
|
||||||
|
(strcmp(cmdname, "--help") == 0))
|
||||||
usage(B_TRUE);
|
usage(B_TRUE);
|
||||||
|
|
||||||
|
if ((g_zfs = libzfs_init()) == NULL)
|
||||||
|
return (1);
|
||||||
|
|
||||||
|
zpool_set_history_str("zfs", argc, argv, history_str);
|
||||||
|
verify(zpool_stage_history(g_zfs, history_str) == 0);
|
||||||
|
|
||||||
|
libzfs_print_on_error(g_zfs, B_TRUE);
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* 'volinit' and 'volfini' do not appear in the usage message,
|
* 'volinit' and 'volfini' do not appear in the usage message,
|
||||||
* so we have to special case them here.
|
* so we have to special case them here.
|
||||||
|
|
|
@ -486,19 +486,6 @@ main(int argc, char **argv)
|
||||||
int ret;
|
int ret;
|
||||||
int flags = 0;
|
int flags = 0;
|
||||||
|
|
||||||
if ((g_zfs = libzfs_init()) == NULL) {
|
|
||||||
(void) fprintf(stderr, "internal error: failed to "
|
|
||||||
"initialize ZFS library\n");
|
|
||||||
return (1);
|
|
||||||
}
|
|
||||||
|
|
||||||
libzfs_print_on_error(g_zfs, B_TRUE);
|
|
||||||
|
|
||||||
if ((zfs_fd = open(ZFS_DEV, O_RDWR)) < 0) {
|
|
||||||
(void) fprintf(stderr, "failed to open ZFS device\n");
|
|
||||||
return (1);
|
|
||||||
}
|
|
||||||
|
|
||||||
if (argc == 1) {
|
if (argc == 1) {
|
||||||
/*
|
/*
|
||||||
* No arguments. Print the available handlers. If there are no
|
* No arguments. Print the available handlers. If there are no
|
||||||
|
@ -612,6 +599,16 @@ main(int argc, char **argv)
|
||||||
argc -= optind;
|
argc -= optind;
|
||||||
argv += optind;
|
argv += optind;
|
||||||
|
|
||||||
|
if ((g_zfs = libzfs_init()) == NULL)
|
||||||
|
return (1);
|
||||||
|
|
||||||
|
libzfs_print_on_error(g_zfs, B_TRUE);
|
||||||
|
|
||||||
|
if ((zfs_fd = open(ZFS_DEV, O_RDWR)) < 0) {
|
||||||
|
(void) fprintf(stderr, "failed to open ZFS device\n");
|
||||||
|
return (1);
|
||||||
|
}
|
||||||
|
|
||||||
if (cancel != NULL) {
|
if (cancel != NULL) {
|
||||||
/*
|
/*
|
||||||
* '-c' is invalid with any other options.
|
* '-c' is invalid with any other options.
|
||||||
|
|
|
@ -3921,14 +3921,6 @@ main(int argc, char **argv)
|
||||||
(void) setlocale(LC_ALL, "");
|
(void) setlocale(LC_ALL, "");
|
||||||
(void) textdomain(TEXT_DOMAIN);
|
(void) textdomain(TEXT_DOMAIN);
|
||||||
|
|
||||||
if ((g_zfs = libzfs_init()) == NULL) {
|
|
||||||
(void) fprintf(stderr, gettext("internal error: failed to "
|
|
||||||
"initialize ZFS library\n"));
|
|
||||||
return (1);
|
|
||||||
}
|
|
||||||
|
|
||||||
libzfs_print_on_error(g_zfs, B_TRUE);
|
|
||||||
|
|
||||||
opterr = 0;
|
opterr = 0;
|
||||||
|
|
||||||
/*
|
/*
|
||||||
|
@ -3944,9 +3936,15 @@ main(int argc, char **argv)
|
||||||
/*
|
/*
|
||||||
* Special case '-?'
|
* Special case '-?'
|
||||||
*/
|
*/
|
||||||
if (strcmp(cmdname, "-?") == 0)
|
if ((strcmp(cmdname, "-?") == 0) ||
|
||||||
|
strcmp(cmdname, "--help") == 0)
|
||||||
usage(B_TRUE);
|
usage(B_TRUE);
|
||||||
|
|
||||||
|
if ((g_zfs = libzfs_init()) == NULL)
|
||||||
|
return (1);
|
||||||
|
|
||||||
|
libzfs_print_on_error(g_zfs, B_TRUE);
|
||||||
|
|
||||||
zpool_set_history_str("zpool", argc, argv, history_str);
|
zpool_set_history_str("zpool", argc, argv, history_str);
|
||||||
verify(zpool_stage_history(g_zfs, history_str) == 0);
|
verify(zpool_stage_history(g_zfs, history_str) == 0);
|
||||||
|
|
||||||
|
|
|
@ -39,6 +39,7 @@
|
||||||
#include <sys/mntent.h>
|
#include <sys/mntent.h>
|
||||||
#include <sys/mnttab.h>
|
#include <sys/mnttab.h>
|
||||||
#include <sys/avl.h>
|
#include <sys/avl.h>
|
||||||
|
#include <sys/debug.h>
|
||||||
#include <stddef.h>
|
#include <stddef.h>
|
||||||
|
|
||||||
#include <libzfs.h>
|
#include <libzfs.h>
|
||||||
|
|
|
@ -578,6 +578,13 @@ libzfs_init(void)
|
||||||
}
|
}
|
||||||
|
|
||||||
if ((hdl->libzfs_fd = open(ZFS_DEV, O_RDWR)) < 0) {
|
if ((hdl->libzfs_fd = open(ZFS_DEV, O_RDWR)) < 0) {
|
||||||
|
(void) fprintf(stderr, gettext("Unable to open %s: %s.\n"),
|
||||||
|
ZFS_DEV, strerror(errno));
|
||||||
|
if (errno == ENOENT)
|
||||||
|
(void) fprintf(stderr,
|
||||||
|
gettext("Verify the ZFS module stack is "
|
||||||
|
"loaded by running '/sbin/modprobe zfs'.\n"));
|
||||||
|
|
||||||
free(hdl);
|
free(hdl);
|
||||||
return (NULL);
|
return (NULL);
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue