kernel-blkdev.m4 (a4e5e0106ac7145f56eb39a691e302cabb4635be) kernel-blkdev.m4 (1719886f6d08408b834d270c59ffcfd821c8f63a)
1dnl #
2dnl # 2.6.38 API change,
3dnl # Added blkdev_get_by_path()
4dnl #
5AC_DEFUN([ZFS_AC_KERNEL_SRC_BLKDEV_GET_BY_PATH], [
6 ZFS_LINUX_TEST_SRC([blkdev_get_by_path], [
7 #include <linux/fs.h>
8 #include <linux/blkdev.h>

--- 40 unchanged lines hidden (view full) ---

49 fmode_t mode = 0;
50 void *holder = NULL;
51 struct blk_holder_ops h;
52
53 bdh = bdev_open_by_path(path, mode, holder, &h);
54 ])
55])
56
1dnl #
2dnl # 2.6.38 API change,
3dnl # Added blkdev_get_by_path()
4dnl #
5AC_DEFUN([ZFS_AC_KERNEL_SRC_BLKDEV_GET_BY_PATH], [
6 ZFS_LINUX_TEST_SRC([blkdev_get_by_path], [
7 #include <linux/fs.h>
8 #include <linux/blkdev.h>

--- 40 unchanged lines hidden (view full) ---

49 fmode_t mode = 0;
50 void *holder = NULL;
51 struct blk_holder_ops h;
52
53 bdh = bdev_open_by_path(path, mode, holder, &h);
54 ])
55])
56
57dnl #
58dnl # 6.9.x API change
59dnl # bdev_file_open_by_path() replaced bdev_open_by_path(),
60dnl # and returns struct file*
61dnl #
62AC_DEFUN([ZFS_AC_KERNEL_SRC_BDEV_FILE_OPEN_BY_PATH], [
63 ZFS_LINUX_TEST_SRC([bdev_file_open_by_path], [
64 #include <linux/fs.h>
65 #include <linux/blkdev.h>
66 ], [
67 struct file *file __attribute__ ((unused)) = NULL;
68 const char *path = "path";
69 fmode_t mode = 0;
70 void *holder = NULL;
71 struct blk_holder_ops h;
72
73 file = bdev_file_open_by_path(path, mode, holder, &h);
74 ])
75])
76
57AC_DEFUN([ZFS_AC_KERNEL_BLKDEV_GET_BY_PATH], [
58 AC_MSG_CHECKING([whether blkdev_get_by_path() exists and takes 3 args])
59 ZFS_LINUX_TEST_RESULT([blkdev_get_by_path], [
60 AC_MSG_RESULT(yes)
61 ], [
62 AC_MSG_RESULT(no)
63 AC_MSG_CHECKING([whether blkdev_get_by_path() exists and takes 4 args])
64 ZFS_LINUX_TEST_RESULT([blkdev_get_by_path_4arg], [
65 AC_DEFINE(HAVE_BLKDEV_GET_BY_PATH_4ARG, 1,
66 [blkdev_get_by_path() exists and takes 4 args])
67 AC_MSG_RESULT(yes)
68 ], [
69 AC_MSG_RESULT(no)
70 AC_MSG_CHECKING([whether bdev_open_by_path() exists])
71 ZFS_LINUX_TEST_RESULT([bdev_open_by_path], [
72 AC_DEFINE(HAVE_BDEV_OPEN_BY_PATH, 1,
73 [bdev_open_by_path() exists])
74 AC_MSG_RESULT(yes)
75 ], [
77AC_DEFUN([ZFS_AC_KERNEL_BLKDEV_GET_BY_PATH], [
78 AC_MSG_CHECKING([whether blkdev_get_by_path() exists and takes 3 args])
79 ZFS_LINUX_TEST_RESULT([blkdev_get_by_path], [
80 AC_MSG_RESULT(yes)
81 ], [
82 AC_MSG_RESULT(no)
83 AC_MSG_CHECKING([whether blkdev_get_by_path() exists and takes 4 args])
84 ZFS_LINUX_TEST_RESULT([blkdev_get_by_path_4arg], [
85 AC_DEFINE(HAVE_BLKDEV_GET_BY_PATH_4ARG, 1,
86 [blkdev_get_by_path() exists and takes 4 args])
87 AC_MSG_RESULT(yes)
88 ], [
89 AC_MSG_RESULT(no)
90 AC_MSG_CHECKING([whether bdev_open_by_path() exists])
91 ZFS_LINUX_TEST_RESULT([bdev_open_by_path], [
92 AC_DEFINE(HAVE_BDEV_OPEN_BY_PATH, 1,
93 [bdev_open_by_path() exists])
94 AC_MSG_RESULT(yes)
95 ], [
76 ZFS_LINUX_TEST_ERROR([blkdev_get_by_path()])
96 AC_MSG_RESULT(no)
97 AC_MSG_CHECKING([whether bdev_file_open_by_path() exists])
98 ZFS_LINUX_TEST_RESULT([bdev_file_open_by_path], [
99 AC_DEFINE(HAVE_BDEV_FILE_OPEN_BY_PATH, 1,
100 [bdev_file_open_by_path() exists])
101 AC_MSG_RESULT(yes)
102 ], [
103 AC_MSG_RESULT(no)
104 ZFS_LINUX_TEST_ERROR([blkdev_get_by_path()])
105 ])
77 ])
78 ])
79 ])
80])
81
82dnl #
83dnl # 6.5.x API change
84dnl # blk_mode_t was added as a type to supercede some places where fmode_t

--- 59 unchanged lines hidden (view full) ---

144 #include <linux/fs.h>
145 #include <linux/blkdev.h>
146 ], [
147 struct bdev_handle *bdh = NULL;
148 bdev_release(bdh);
149 ])
150])
151
106 ])
107 ])
108 ])
109])
110
111dnl #
112dnl # 6.5.x API change
113dnl # blk_mode_t was added as a type to supercede some places where fmode_t

--- 59 unchanged lines hidden (view full) ---

173 #include <linux/fs.h>
174 #include <linux/blkdev.h>
175 ], [
176 struct bdev_handle *bdh = NULL;
177 bdev_release(bdh);
178 ])
179])
180
181dnl #
182dnl # 6.9.x API change
183dnl #
184dnl # bdev_release() now private, but because bdev_file_open_by_path() returns
185dnl # struct file*, we can just use fput(). So the blkdev_put test no longer
186dnl # fails if not found.
187dnl #
188
152AC_DEFUN([ZFS_AC_KERNEL_BLKDEV_PUT], [
153 AC_MSG_CHECKING([whether blkdev_put() exists])
154 ZFS_LINUX_TEST_RESULT([blkdev_put], [
155 AC_MSG_RESULT(yes)
189AC_DEFUN([ZFS_AC_KERNEL_BLKDEV_PUT], [
190 AC_MSG_CHECKING([whether blkdev_put() exists])
191 ZFS_LINUX_TEST_RESULT([blkdev_put], [
192 AC_MSG_RESULT(yes)
193 AC_DEFINE(HAVE_BLKDEV_PUT, 1, [blkdev_put() exists])
156 ], [
157 AC_MSG_RESULT(no)
158 AC_MSG_CHECKING([whether blkdev_put() accepts void* as arg 2])
159 ZFS_LINUX_TEST_RESULT([blkdev_put_holder], [
160 AC_MSG_RESULT(yes)
161 AC_DEFINE(HAVE_BLKDEV_PUT_HOLDER, 1,
162 [blkdev_put() accepts void* as arg 2])
163 ], [
164 AC_MSG_RESULT(no)
165 AC_MSG_CHECKING([whether bdev_release() exists])
166 ZFS_LINUX_TEST_RESULT([bdev_release], [
167 AC_MSG_RESULT(yes)
168 AC_DEFINE(HAVE_BDEV_RELEASE, 1,
169 [bdev_release() exists])
170 ], [
194 ], [
195 AC_MSG_RESULT(no)
196 AC_MSG_CHECKING([whether blkdev_put() accepts void* as arg 2])
197 ZFS_LINUX_TEST_RESULT([blkdev_put_holder], [
198 AC_MSG_RESULT(yes)
199 AC_DEFINE(HAVE_BLKDEV_PUT_HOLDER, 1,
200 [blkdev_put() accepts void* as arg 2])
201 ], [
202 AC_MSG_RESULT(no)
203 AC_MSG_CHECKING([whether bdev_release() exists])
204 ZFS_LINUX_TEST_RESULT([bdev_release], [
205 AC_MSG_RESULT(yes)
206 AC_DEFINE(HAVE_BDEV_RELEASE, 1,
207 [bdev_release() exists])
208 ], [
171 ZFS_LINUX_TEST_ERROR([blkdev_put()])
209 AC_MSG_RESULT(no)
172 ])
173 ])
174 ])
175])
176
177dnl #
178dnl # 4.1 API, exported blkdev_reread_part() symbol, back ported to the
179dnl # 3.10.0 CentOS 7.x enterprise kernels.

--- 338 unchanged lines hidden (view full) ---

518 AC_DEFINE(HAVE_BDEVNAME, 1, [bdevname() is available])
519 AC_MSG_RESULT(yes)
520 ], [
521 AC_MSG_RESULT(no)
522 ])
523])
524
525dnl #
210 ])
211 ])
212 ])
213])
214
215dnl #
216dnl # 4.1 API, exported blkdev_reread_part() symbol, back ported to the
217dnl # 3.10.0 CentOS 7.x enterprise kernels.

--- 338 unchanged lines hidden (view full) ---

556 AC_DEFINE(HAVE_BDEVNAME, 1, [bdevname() is available])
557 AC_MSG_RESULT(yes)
558 ], [
559 AC_MSG_RESULT(no)
560 ])
561])
562
563dnl #
526dnl # 5.19 API: blkdev_issue_secure_erase()
527dnl # 4.7 API: __blkdev_issue_discard(..., BLKDEV_DISCARD_SECURE)
528dnl # 3.10 API: blkdev_issue_discard(..., BLKDEV_DISCARD_SECURE)
564dnl # TRIM support: discard and secure erase. We make use of asynchronous
565dnl # functions when available.
529dnl #
566dnl #
530AC_DEFUN([ZFS_AC_KERNEL_SRC_BLKDEV_ISSUE_SECURE_ERASE], [
531 ZFS_LINUX_TEST_SRC([blkdev_issue_secure_erase], [
567dnl # 3.10:
568dnl # sync discard: blkdev_issue_discard(..., 0)
569dnl # sync erase: blkdev_issue_discard(..., BLKDEV_DISCARD_SECURE)
570dnl # async discard: [not available]
571dnl # async erase: [not available]
572dnl #
573dnl # 4.7:
574dnl # sync discard: blkdev_issue_discard(..., 0)
575dnl # sync erase: blkdev_issue_discard(..., BLKDEV_DISCARD_SECURE)
576dnl # async discard: __blkdev_issue_discard(..., 0)
577dnl # async erase: __blkdev_issue_discard(..., BLKDEV_DISCARD_SECURE)
578dnl #
579dnl # 5.19:
580dnl # sync discard: blkdev_issue_discard(...)
581dnl # sync erase: blkdev_issue_secure_erase(...)
582dnl # async discard: __blkdev_issue_discard(...)
583dnl # async erase: [not available]
584dnl #
585AC_DEFUN([ZFS_AC_KERNEL_SRC_BLKDEV_ISSUE_DISCARD], [
586 ZFS_LINUX_TEST_SRC([blkdev_issue_discard_noflags], [
532 #include <linux/blkdev.h>
533 ],[
534 struct block_device *bdev = NULL;
535 sector_t sector = 0;
536 sector_t nr_sects = 0;
537 int error __attribute__ ((unused));
538
587 #include <linux/blkdev.h>
588 ],[
589 struct block_device *bdev = NULL;
590 sector_t sector = 0;
591 sector_t nr_sects = 0;
592 int error __attribute__ ((unused));
593
539 error = blkdev_issue_secure_erase(bdev,
594 error = blkdev_issue_discard(bdev,
540 sector, nr_sects, GFP_KERNEL);
541 ])
595 sector, nr_sects, GFP_KERNEL);
596 ])
597 ZFS_LINUX_TEST_SRC([blkdev_issue_discard_flags], [
598 #include <linux/blkdev.h>
599 ],[
600 struct block_device *bdev = NULL;
601 sector_t sector = 0;
602 sector_t nr_sects = 0;
603 unsigned long flags = 0;
604 int error __attribute__ ((unused));
542
605
606 error = blkdev_issue_discard(bdev,
607 sector, nr_sects, GFP_KERNEL, flags);
608 ])
609 ZFS_LINUX_TEST_SRC([blkdev_issue_discard_async_noflags], [
610 #include <linux/blkdev.h>
611 ],[
612 struct block_device *bdev = NULL;
613 sector_t sector = 0;
614 sector_t nr_sects = 0;
615 struct bio *biop = NULL;
616 int error __attribute__ ((unused));
617
618 error = __blkdev_issue_discard(bdev,
619 sector, nr_sects, GFP_KERNEL, &biop);
620 ])
543 ZFS_LINUX_TEST_SRC([blkdev_issue_discard_async_flags], [
544 #include <linux/blkdev.h>
545 ],[
546 struct block_device *bdev = NULL;
547 sector_t sector = 0;
548 sector_t nr_sects = 0;
549 unsigned long flags = 0;
550 struct bio *biop = NULL;
551 int error __attribute__ ((unused));
552
553 error = __blkdev_issue_discard(bdev,
554 sector, nr_sects, GFP_KERNEL, flags, &biop);
555 ])
621 ZFS_LINUX_TEST_SRC([blkdev_issue_discard_async_flags], [
622 #include <linux/blkdev.h>
623 ],[
624 struct block_device *bdev = NULL;
625 sector_t sector = 0;
626 sector_t nr_sects = 0;
627 unsigned long flags = 0;
628 struct bio *biop = NULL;
629 int error __attribute__ ((unused));
630
631 error = __blkdev_issue_discard(bdev,
632 sector, nr_sects, GFP_KERNEL, flags, &biop);
633 ])
556
557 ZFS_LINUX_TEST_SRC([blkdev_issue_discard_flags], [
634 ZFS_LINUX_TEST_SRC([blkdev_issue_secure_erase], [
558 #include <linux/blkdev.h>
559 ],[
560 struct block_device *bdev = NULL;
561 sector_t sector = 0;
562 sector_t nr_sects = 0;
635 #include <linux/blkdev.h>
636 ],[
637 struct block_device *bdev = NULL;
638 sector_t sector = 0;
639 sector_t nr_sects = 0;
563 unsigned long flags = 0;
564 int error __attribute__ ((unused));
565
640 int error __attribute__ ((unused));
641
566 error = blkdev_issue_discard(bdev,
567 sector, nr_sects, GFP_KERNEL, flags);
642 error = blkdev_issue_secure_erase(bdev,
643 sector, nr_sects, GFP_KERNEL);
568 ])
569])
570
644 ])
645])
646
571AC_DEFUN([ZFS_AC_KERNEL_BLKDEV_ISSUE_SECURE_ERASE], [
647AC_DEFUN([ZFS_AC_KERNEL_BLKDEV_ISSUE_DISCARD], [
648 AC_MSG_CHECKING([whether blkdev_issue_discard() is available])
649 ZFS_LINUX_TEST_RESULT([blkdev_issue_discard_noflags], [
650 AC_MSG_RESULT(yes)
651 AC_DEFINE(HAVE_BLKDEV_ISSUE_DISCARD_NOFLAGS, 1,
652 [blkdev_issue_discard() is available])
653 ],[
654 AC_MSG_RESULT(no)
655 ])
656 AC_MSG_CHECKING([whether blkdev_issue_discard(flags) is available])
657 ZFS_LINUX_TEST_RESULT([blkdev_issue_discard_flags], [
658 AC_MSG_RESULT(yes)
659 AC_DEFINE(HAVE_BLKDEV_ISSUE_DISCARD_FLAGS, 1,
660 [blkdev_issue_discard(flags) is available])
661 ],[
662 AC_MSG_RESULT(no)
663 ])
664 AC_MSG_CHECKING([whether __blkdev_issue_discard() is available])
665 ZFS_LINUX_TEST_RESULT([blkdev_issue_discard_async_noflags], [
666 AC_MSG_RESULT(yes)
667 AC_DEFINE(HAVE_BLKDEV_ISSUE_DISCARD_ASYNC_NOFLAGS, 1,
668 [__blkdev_issue_discard() is available])
669 ],[
670 AC_MSG_RESULT(no)
671 ])
672 AC_MSG_CHECKING([whether __blkdev_issue_discard(flags) is available])
673 ZFS_LINUX_TEST_RESULT([blkdev_issue_discard_async_flags], [
674 AC_MSG_RESULT(yes)
675 AC_DEFINE(HAVE_BLKDEV_ISSUE_DISCARD_ASYNC_FLAGS, 1,
676 [__blkdev_issue_discard(flags) is available])
677 ],[
678 AC_MSG_RESULT(no)
679 ])
572 AC_MSG_CHECKING([whether blkdev_issue_secure_erase() is available])
573 ZFS_LINUX_TEST_RESULT([blkdev_issue_secure_erase], [
574 AC_MSG_RESULT(yes)
575 AC_DEFINE(HAVE_BLKDEV_ISSUE_SECURE_ERASE, 1,
576 [blkdev_issue_secure_erase() is available])
577 ],[
578 AC_MSG_RESULT(no)
680 AC_MSG_CHECKING([whether blkdev_issue_secure_erase() is available])
681 ZFS_LINUX_TEST_RESULT([blkdev_issue_secure_erase], [
682 AC_MSG_RESULT(yes)
683 AC_DEFINE(HAVE_BLKDEV_ISSUE_SECURE_ERASE, 1,
684 [blkdev_issue_secure_erase() is available])
685 ],[
686 AC_MSG_RESULT(no)
579
580 AC_MSG_CHECKING([whether __blkdev_issue_discard() is available])
581 ZFS_LINUX_TEST_RESULT([blkdev_issue_discard_async_flags], [
582 AC_MSG_RESULT(yes)
583 AC_DEFINE(HAVE_BLKDEV_ISSUE_DISCARD_ASYNC, 1,
584 [__blkdev_issue_discard() is available])
585 ],[
586 AC_MSG_RESULT(no)
587
588 AC_MSG_CHECKING([whether blkdev_issue_discard() is available])
589 ZFS_LINUX_TEST_RESULT([blkdev_issue_discard_flags], [
590 AC_MSG_RESULT(yes)
591 AC_DEFINE(HAVE_BLKDEV_ISSUE_DISCARD, 1,
592 [blkdev_issue_discard() is available])
593 ],[
594 ZFS_LINUX_TEST_ERROR([blkdev_issue_discard()])
595 ])
596 ])
597 ])
598])
599
600dnl #
601dnl # 5.13 API change
602dnl # blkdev_get_by_path() no longer handles ERESTARTSYS
603dnl #
604dnl # Unfortunately we're forced to rely solely on the kernel version

--- 35 unchanged lines hidden (view full) ---

640 ])
641 ])
642])
643
644AC_DEFUN([ZFS_AC_KERNEL_SRC_BLKDEV], [
645 ZFS_AC_KERNEL_SRC_BLKDEV_GET_BY_PATH
646 ZFS_AC_KERNEL_SRC_BLKDEV_GET_BY_PATH_4ARG
647 ZFS_AC_KERNEL_SRC_BLKDEV_BDEV_OPEN_BY_PATH
687 ])
688])
689
690dnl #
691dnl # 5.13 API change
692dnl # blkdev_get_by_path() no longer handles ERESTARTSYS
693dnl #
694dnl # Unfortunately we're forced to rely solely on the kernel version

--- 35 unchanged lines hidden (view full) ---

730 ])
731 ])
732])
733
734AC_DEFUN([ZFS_AC_KERNEL_SRC_BLKDEV], [
735 ZFS_AC_KERNEL_SRC_BLKDEV_GET_BY_PATH
736 ZFS_AC_KERNEL_SRC_BLKDEV_GET_BY_PATH_4ARG
737 ZFS_AC_KERNEL_SRC_BLKDEV_BDEV_OPEN_BY_PATH
738 ZFS_AC_KERNEL_SRC_BDEV_FILE_OPEN_BY_PATH
648 ZFS_AC_KERNEL_SRC_BLKDEV_PUT
649 ZFS_AC_KERNEL_SRC_BLKDEV_PUT_HOLDER
650 ZFS_AC_KERNEL_SRC_BLKDEV_BDEV_RELEASE
651 ZFS_AC_KERNEL_SRC_BLKDEV_REREAD_PART
652 ZFS_AC_KERNEL_SRC_BLKDEV_INVALIDATE_BDEV
653 ZFS_AC_KERNEL_SRC_BLKDEV_LOOKUP_BDEV
654 ZFS_AC_KERNEL_SRC_BLKDEV_BDEV_LOGICAL_BLOCK_SIZE
655 ZFS_AC_KERNEL_SRC_BLKDEV_BDEV_PHYSICAL_BLOCK_SIZE
656 ZFS_AC_KERNEL_SRC_BLKDEV_CHECK_DISK_CHANGE
657 ZFS_AC_KERNEL_SRC_BLKDEV_BDEV_CHECK_MEDIA_CHANGE
658 ZFS_AC_KERNEL_SRC_BLKDEV_BDEV_WHOLE
659 ZFS_AC_KERNEL_SRC_BLKDEV_BDEVNAME
739 ZFS_AC_KERNEL_SRC_BLKDEV_PUT
740 ZFS_AC_KERNEL_SRC_BLKDEV_PUT_HOLDER
741 ZFS_AC_KERNEL_SRC_BLKDEV_BDEV_RELEASE
742 ZFS_AC_KERNEL_SRC_BLKDEV_REREAD_PART
743 ZFS_AC_KERNEL_SRC_BLKDEV_INVALIDATE_BDEV
744 ZFS_AC_KERNEL_SRC_BLKDEV_LOOKUP_BDEV
745 ZFS_AC_KERNEL_SRC_BLKDEV_BDEV_LOGICAL_BLOCK_SIZE
746 ZFS_AC_KERNEL_SRC_BLKDEV_BDEV_PHYSICAL_BLOCK_SIZE
747 ZFS_AC_KERNEL_SRC_BLKDEV_CHECK_DISK_CHANGE
748 ZFS_AC_KERNEL_SRC_BLKDEV_BDEV_CHECK_MEDIA_CHANGE
749 ZFS_AC_KERNEL_SRC_BLKDEV_BDEV_WHOLE
750 ZFS_AC_KERNEL_SRC_BLKDEV_BDEVNAME
660 ZFS_AC_KERNEL_SRC_BLKDEV_ISSUE_SECURE_ERASE
751 ZFS_AC_KERNEL_SRC_BLKDEV_ISSUE_DISCARD
661 ZFS_AC_KERNEL_SRC_BLKDEV_BDEV_KOBJ
662 ZFS_AC_KERNEL_SRC_BLKDEV_PART_TO_DEV
663 ZFS_AC_KERNEL_SRC_BLKDEV_DISK_CHECK_MEDIA_CHANGE
664 ZFS_AC_KERNEL_SRC_BLKDEV_BLK_STS_RESV_CONFLICT
665 ZFS_AC_KERNEL_SRC_BLKDEV_BLK_MODE_T
666])
667
668AC_DEFUN([ZFS_AC_KERNEL_BLKDEV], [

--- 4 unchanged lines hidden (view full) ---

673 ZFS_AC_KERNEL_BLKDEV_LOOKUP_BDEV
674 ZFS_AC_KERNEL_BLKDEV_BDEV_LOGICAL_BLOCK_SIZE
675 ZFS_AC_KERNEL_BLKDEV_BDEV_PHYSICAL_BLOCK_SIZE
676 ZFS_AC_KERNEL_BLKDEV_CHECK_DISK_CHANGE
677 ZFS_AC_KERNEL_BLKDEV_BDEV_CHECK_MEDIA_CHANGE
678 ZFS_AC_KERNEL_BLKDEV_BDEV_WHOLE
679 ZFS_AC_KERNEL_BLKDEV_BDEVNAME
680 ZFS_AC_KERNEL_BLKDEV_GET_ERESTARTSYS
752 ZFS_AC_KERNEL_SRC_BLKDEV_BDEV_KOBJ
753 ZFS_AC_KERNEL_SRC_BLKDEV_PART_TO_DEV
754 ZFS_AC_KERNEL_SRC_BLKDEV_DISK_CHECK_MEDIA_CHANGE
755 ZFS_AC_KERNEL_SRC_BLKDEV_BLK_STS_RESV_CONFLICT
756 ZFS_AC_KERNEL_SRC_BLKDEV_BLK_MODE_T
757])
758
759AC_DEFUN([ZFS_AC_KERNEL_BLKDEV], [

--- 4 unchanged lines hidden (view full) ---

764 ZFS_AC_KERNEL_BLKDEV_LOOKUP_BDEV
765 ZFS_AC_KERNEL_BLKDEV_BDEV_LOGICAL_BLOCK_SIZE
766 ZFS_AC_KERNEL_BLKDEV_BDEV_PHYSICAL_BLOCK_SIZE
767 ZFS_AC_KERNEL_BLKDEV_CHECK_DISK_CHANGE
768 ZFS_AC_KERNEL_BLKDEV_BDEV_CHECK_MEDIA_CHANGE
769 ZFS_AC_KERNEL_BLKDEV_BDEV_WHOLE
770 ZFS_AC_KERNEL_BLKDEV_BDEVNAME
771 ZFS_AC_KERNEL_BLKDEV_GET_ERESTARTSYS
681 ZFS_AC_KERNEL_BLKDEV_ISSUE_SECURE_ERASE
772 ZFS_AC_KERNEL_BLKDEV_ISSUE_DISCARD
682 ZFS_AC_KERNEL_BLKDEV_BDEV_KOBJ
683 ZFS_AC_KERNEL_BLKDEV_PART_TO_DEV
684 ZFS_AC_KERNEL_BLKDEV_DISK_CHECK_MEDIA_CHANGE
685 ZFS_AC_KERNEL_BLKDEV_BLK_STS_RESV_CONFLICT
686 ZFS_AC_KERNEL_BLKDEV_BLK_MODE_T
687])
773 ZFS_AC_KERNEL_BLKDEV_BDEV_KOBJ
774 ZFS_AC_KERNEL_BLKDEV_PART_TO_DEV
775 ZFS_AC_KERNEL_BLKDEV_DISK_CHECK_MEDIA_CHANGE
776 ZFS_AC_KERNEL_BLKDEV_BLK_STS_RESV_CONFLICT
777 ZFS_AC_KERNEL_BLKDEV_BLK_MODE_T
778])