Fix libudev dependency in libzutil

ZFS should be able to build without libudev installed. The recent
change for libzutil inadvertently broke that.  Make the libudev code
conditional in zutil_import.c to resolve the build failure.

Reviewed-by: Brian Behlendorf <behlendorf1@llnl.gov>
Reviewed-by: Tony Hutter <hutter2@llnl.gov>
Signed-off-by: Don Brady <don.brady@delphix.com>
Closes #8097
This commit is contained in:
Don Brady 2018-11-06 18:47:52 -07:00 committed by Brian Behlendorf
parent f0f9786545
commit 95692927f2
2 changed files with 9 additions and 1 deletions

View File

@ -79,10 +79,16 @@ extern const char * const * zpool_default_search_paths(size_t *count);
extern int zpool_read_label(int, nvlist_t **, int *); extern int zpool_read_label(int, nvlist_t **, int *);
extern int zpool_label_disk_wait(const char *, int); extern int zpool_label_disk_wait(const char *, int);
#ifdef HAVE_LIBUDEV
struct udev_device; struct udev_device;
extern int zfs_device_get_devid(struct udev_device *, char *, size_t); extern int zfs_device_get_devid(struct udev_device *, char *, size_t);
extern int zfs_device_get_physical(struct udev_device *, char *, size_t); extern int zfs_device_get_physical(struct udev_device *, char *, size_t);
#else
#define zfs_device_get_devid(dev, bufptr, buflen) (ENODATA)
#define zfs_device_get_physical(dev, bufptr, buflen) (ENODATA)
#endif
extern void update_vdev_config_dev_strs(nvlist_t *); extern void update_vdev_config_dev_strs(nvlist_t *);
/* /*
@ -108,7 +114,7 @@ extern char *zfs_get_enclosure_sysfs_path(const char *);
#ifdef HAVE_LIBUDEV #ifdef HAVE_LIBUDEV
extern boolean_t is_mpath_whole_disk(const char *); extern boolean_t is_mpath_whole_disk(const char *);
#else #else
#define is_mpath_whole_disk(path) (B_FALSE); #define is_mpath_whole_disk(path) (B_FALSE)
#endif #endif
/* /*

View File

@ -224,6 +224,7 @@ typedef struct vdev_dev_strs {
char vds_devphys[128]; char vds_devphys[128];
} vdev_dev_strs_t; } vdev_dev_strs_t;
#ifdef HAVE_LIBUDEV
/* /*
* Obtain the persistent device id string (describes what) * Obtain the persistent device id string (describes what)
* *
@ -398,6 +399,7 @@ udev_device_is_ready(struct udev_device *dev)
return (udev_device_get_property_value(dev, "DEVLINKS") != NULL); return (udev_device_get_property_value(dev, "DEVLINKS") != NULL);
#endif #endif
} }
#endif /* HAVE_LIBUDEV */
/* /*
* Wait up to timeout_ms for udev to set up the device node. The device is * Wait up to timeout_ms for udev to set up the device node. The device is