summaryrefslogtreecommitdiffstats
path: root/zfs_config.h.in
diff options
context:
space:
mode:
authorBrian Behlendorf <[email protected]>2012-09-02 16:34:12 -0700
committerBrian Behlendorf <[email protected]>2012-09-04 15:35:32 -0700
commit395350c85d9903beba43bac7ae79092ae25f1526 (patch)
treee1bd38ebaa3c1ba06d5eaa61bca7e3afee64bd6c /zfs_config.h.in
parent594b4dd82a6ba6b046b894a24986ce727f4d7391 (diff)
Improve AF hard disk detection
Use the bdev_physical_block_size() interface to determine the minimize write size which can be issued without incurring a read-modify-write operation. This is used to set the ashift correctly to prevent a performance penalty when using AF hard disks. Unfortunately, this interface isn't entirely reliable because it's not uncommon for disks to misreport this value. For this reason you may still need to manually set your ashift with: zpool create -o ashift=12 ... The solution to this in the upstream Illumos source was to add a while list of known offending drives. Maintaining such a list will be a burden, but it still may be worth doing if we can detect a large number of these drives. This should be considered as future work. Reported-by: Richard Yao <[email protected]> Signed-off-by: Brian Behlendorf <[email protected]> Closes #916
Diffstat (limited to 'zfs_config.h.in')
-rw-r--r--zfs_config.h.in3
1 files changed, 3 insertions, 0 deletions
diff --git a/zfs_config.h.in b/zfs_config.h.in
index 260bd5ab7..9ea8d2c53 100644
--- a/zfs_config.h.in
+++ b/zfs_config.h.in
@@ -24,6 +24,9 @@
/* bdev_logical_block_size() is available */
#undef HAVE_BDEV_LOGICAL_BLOCK_SIZE
+/* bdev_physical_block_size() is available */
+#undef HAVE_BDEV_PHYSICAL_BLOCK_SIZE
+
/* struct super_block has s_bdi */
#undef HAVE_BDI