Skip to content

Commit f831687

Browse files
committed
Release topology restrictions on special/dedup
Special vdevs were originally designed as a small blocks storage for dRAID, for which role RAIDZ/dRAID topologies are not good. But it is more often used as SSD storage for metadata and hot data of HDD pools. In these use cases narrow RAIDZ of SSDs might be fine, so we should not introduce unnecessary restrictions, and ZFS internally does not care. Similar applies to dedup vdevs. Original DDT used 4KB blocks, for which anything but mirror was a terrible storage. But new FDT implementation uses 32KB blocks by default, which are much less demanding even including compression, and which could be increased even higher now, if needed. Signed-off-by: Alexander Motin <[email protected]> Sponsored by: iXsystems, Inc.
1 parent dee62e0 commit f831687

File tree

1 file changed

+3
-4
lines changed

1 file changed

+3
-4
lines changed

cmd/zpool/zpool_vdev.c

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1581,13 +1581,12 @@ construct_spec(nvlist_t *props, int argc, char **argv)
15811581
is_dedup = is_spare = B_FALSE;
15821582
}
15831583

1584-
if (is_log || is_special || is_dedup) {
1584+
if (is_log) {
15851585
if (strcmp(type, VDEV_TYPE_MIRROR) != 0) {
15861586
(void) fprintf(stderr,
15871587
gettext("invalid vdev "
1588-
"specification: unsupported '%s' "
1589-
"device: %s\n"), is_log ? "log" :
1590-
"special", type);
1588+
"specification: unsupported 'log' "
1589+
"device: %s\n"), type);
15911590
goto spec_out;
15921591
}
15931592
nlogs++;

0 commit comments

Comments
 (0)