Support ashift=13 for 8KB SSD block sizes
authorRichard Yao <ryao@cs.stonybrook.edu>
Mon, 13 Feb 2012 15:38:58 +0000 (10:38 -0500)
committerBrian Behlendorf <behlendorf1@llnl.gov>
Mon, 13 Feb 2012 20:25:27 +0000 (12:25 -0800)
New SSDs are now available which use an internal 8k block size.
To make sure ZFS can get the maximum performance out of these
devices we're increasing the maximum ashift to 13 (8KB).

This value is still small enough that we can fit 16 uberblocks
in the vdev ring label.  However, I don't want to increase this
any futher or it will limit the ability the safely roll back a
pool to recover it.

Signed-off-by: Brian Behlendorf <behlendorf1@llnl.gov>
Closes #565

lib/libzfs/libzfs_pool.c
module/zcommon/zpool_prop.c

index 1c8286f..4b4d81f 100644 (file)
@@ -443,7 +443,7 @@ zpool_valid_proplist(libzfs_handle_t *hdl, const char *poolname,
                                goto error;
                        }
 
-                       if (intval != 0 && (intval < 9 || intval > 12)) {
+                       if (intval != 0 && (intval < 9 || intval > 13)) {
                                zfs_error_aux(hdl, dgettext(TEXT_DOMAIN,
                                    "property '%s' number %d is invalid."),
                                    propname, intval);
index 310598a..249dd64 100644 (file)
@@ -89,7 +89,7 @@ zpool_prop_init(void)
 
        /* readonly onetime number properties */
        zprop_register_number(ZPOOL_PROP_ASHIFT, "ashift", 0, PROP_ONETIME,
-           ZFS_TYPE_POOL, "<ashift, 9-12, or 0=default>", "ASHIFT");
+           ZFS_TYPE_POOL, "<ashift, 9-13, or 0=default>", "ASHIFT");
 
        /* default number properties */
        zprop_register_number(ZPOOL_PROP_VERSION, "version", SPA_VERSION,