2018-03-13 20:45:55 +03:00
|
|
|
dnl #
|
|
|
|
dnl # Determine an available miscellaneous minor number which can be used
|
|
|
|
dnl # for the /dev/zfs device. This is needed because kernel module
|
|
|
|
dnl # auto-loading depends on registering a reserved non-conflicting minor
|
|
|
|
dnl # number. Start with a large known available unreserved minor and work
|
|
|
|
dnl # our way down to lower value if a collision is detected.
|
|
|
|
dnl #
|
|
|
|
AC_DEFUN([ZFS_AC_KERNEL_MISC_MINOR], [
|
|
|
|
AC_MSG_CHECKING([for available /dev/zfs minor])
|
|
|
|
|
|
|
|
for i in $(seq 249 -1 200); do
|
|
|
|
if ! grep -q "^#define\s\+.*_MINOR\s\+.*$i" \
|
|
|
|
${LINUX}/include/linux/miscdevice.h; then
|
2018-12-11 03:52:49 +03:00
|
|
|
ZFS_DEVICE_MINOR="$i"
|
|
|
|
AC_MSG_RESULT($ZFS_DEVICE_MINOR)
|
|
|
|
AC_DEFINE_UNQUOTED([ZFS_DEVICE_MINOR],
|
|
|
|
[$ZFS_DEVICE_MINOR], [/dev/zfs minor])
|
2018-03-13 20:45:55 +03:00
|
|
|
break
|
|
|
|
fi
|
|
|
|
done
|
|
|
|
|
2018-12-11 03:52:49 +03:00
|
|
|
AS_IF([ test -z "$ZFS_DEVICE_MINOR"], [
|
2018-03-13 20:45:55 +03:00
|
|
|
AC_MSG_ERROR([
|
|
|
|
*** No available misc minor numbers available for use.])
|
|
|
|
])
|
|
|
|
])
|