summaryrefslogtreecommitdiffstats
path: root/config
diff options
context:
space:
mode:
authorBrian Behlendorf <[email protected]>2012-09-11 11:26:25 -0700
committerBrian Behlendorf <[email protected]>2012-09-11 16:33:49 -0700
commitcda4db408c28a29438ba702e2018bd0d5dd0cc03 (patch)
treeb64b80a7caadef641ac2b083df477ffecedae0f7 /config
parent27ccd4147bd29e9334c57a08d99481447a19c82f (diff)
Revert "Improve AF hard disk detection"
This reverts commit 395350c85d9903beba43bac7ae79092ae25f1526 which accidentally introduced issue #955. Pools using AF drives which were originally created with a sector size of 512 bytes will now be correctly detected to have physical sector size of 4096. This is desirable for a new pool, however for an existing pool abruptly changing the sector size causes problems. For this reason, this change is being reverted until the additional logic can be added to detect the existing pool case. Existing pools must use the ashift size stored in the label regardless of what the disk reports. This is critical for compatibility. Signed-off-by: Brian Behlendorf <[email protected]> Issue #955
Diffstat (limited to 'config')
-rw-r--r--config/kernel-bdev-physical-size.m439
-rw-r--r--config/kernel.m41
2 files changed, 0 insertions, 40 deletions
diff --git a/config/kernel-bdev-physical-size.m4 b/config/kernel-bdev-physical-size.m4
deleted file mode 100644
index 0a1fe8e26..000000000
--- a/config/kernel-bdev-physical-size.m4
+++ /dev/null
@@ -1,39 +0,0 @@
-dnl #
-dnl # 2.6.30 API change
-dnl #
-dnl # The bdev_physical_block_size() interface was added to provide a way
-dnl # to determine the smallest write which can be performed without a
-dnl # read-modify-write operation. From the kernel documentation:
-dnl #
-dnl # What: /sys/block/<disk>/queue/physical_block_size
-dnl # Date: May 2009
-dnl # Contact: Martin K. Petersen <[email protected]>
-dnl # Description:
-dnl # This is the smallest unit the storage device can write
-dnl # without resorting to read-modify-write operation. It is
-dnl # usually the same as the logical block size but may be
-dnl # bigger. One example is SATA drives with 4KB sectors
-dnl # that expose a 512-byte logical block size to the
-dnl # operating system.
-dnl #
-dnl # Unfortunately, this interface isn't entirely reliable because
-dnl # drives are sometimes known to misreport this value.
-dnl #
-AC_DEFUN([ZFS_AC_KERNEL_BDEV_PHYSICAL_BLOCK_SIZE], [
- AC_MSG_CHECKING([whether bdev_physical_block_size() is available])
- tmp_flags="$EXTRA_KCFLAGS"
- EXTRA_KCFLAGS="-Wno-unused-but-set-variable"
- ZFS_LINUX_TRY_COMPILE([
- #include <linux/blkdev.h>
- ],[
- struct block_device *bdev = NULL;
- bdev_physical_block_size(bdev);
- ],[
- AC_MSG_RESULT(yes)
- AC_DEFINE(HAVE_BDEV_PHYSICAL_BLOCK_SIZE, 1,
- [bdev_physical_block_size() is available])
- ],[
- AC_MSG_RESULT(no)
- ])
- EXTRA_KCFLAGS="$tmp_flags"
-])
diff --git a/config/kernel.m4 b/config/kernel.m4
index 71b0161a8..d10c6e628 100644
--- a/config/kernel.m4
+++ b/config/kernel.m4
@@ -14,7 +14,6 @@ AC_DEFUN([ZFS_AC_CONFIG_KERNEL], [
ZFS_AC_KERNEL_OPEN_BDEV_EXCLUSIVE
ZFS_AC_KERNEL_INVALIDATE_BDEV_ARGS
ZFS_AC_KERNEL_BDEV_LOGICAL_BLOCK_SIZE
- ZFS_AC_KERNEL_BDEV_PHYSICAL_BLOCK_SIZE
ZFS_AC_KERNEL_BIO_EMPTY_BARRIER
ZFS_AC_KERNEL_BIO_FAILFAST
ZFS_AC_KERNEL_BIO_FAILFAST_DTD