zfsonlinux/zfs — Issue #438: a literal colon in a zpool name is allowed, which contradicts the man page
Author: dajhorn
Created: 2011-11-07 04:35:03+00:00
State: open

The man page says this about `zpool create`:

Creates a new storage pool containing the virtual devices specified on the command
line. The pool name must begin with a letter, and can only contain alphanumeric char‐
acters as well as underscore ("_"), dash ("-"), and period ("."). The pool names "mir‐
ror", "raidz", "spare" and "log" are reserved, as are names beginning with the pattern
"c[0-9]". The vdev specification is described in the "Virtual Devices" section.

However, a zpool can have a literal colon in its name like this:

# zpool create zfs:foobar /dev/sdb
# zpool list zfs:foobar
NAME SIZE ALLOC FREE CAP DEDUP HEALTH ALTROOT
zfs:foobar 9.94G 108K 9.94G 0% 1.00x ONLINE -
# zpool status zfs:foobar
pool: zfs:foobar
state: ONLINE
scan: none requested
config:

NAME STATE READ WRITE CKSUM
zfs:foobar ONLINE 0 0 0
sdb ONLINE 0 0 0

Is the man page incorrect?

This is somewhat problematic because the dracut scripts assume that `zfs:` is a safe prefix to use for overloading the `root=` kernel parameter.