diff --git a/lib/libzfs/libzfs_util.c b/lib/libzfs/libzfs_util.c index 22e3d0aa16..c377d51504 100644 --- a/lib/libzfs/libzfs_util.c +++ b/lib/libzfs/libzfs_util.c @@ -560,6 +560,12 @@ libzfs_init(void) return (NULL); } +#if defined(HAVE_SPL) && !defined(HAVE_GPL_ONLY_SYMBOLS) + /* If we don't have access to GPL-only symbols then we may not + * use the udev APIs, therefore we must mknod the device ourselves. */ + (void)mknod(ZFS_DEV, S_IFCHR | 0600, makedev(ZFS_MAJOR, 0)); +#endif + if ((hdl->libzfs_fd = open(ZFS_DEV, O_RDWR)) < 0) { free(hdl); return (NULL);