Because I just ran into this:
Imagine that you have a ZFS pool, call it
tank
to match the convention of ZFS examples, and that it has three spare devices configured. Further imagine that you want to remove those three configured spares from the pool:
# zpool remove tank c4t0d0 c4t0d1 c4t0d2
(No error messages are emitted.)
Then, because you are a cautious person (or because you have a tool that automatically saves your pool configurations somewhere), you actually examine the spares configuration for
tank
. Guess what you will find?
You'll find that
tank
still has two spares. Silently, ZFS has only removed the
c4t0d0
spare disk. Now, in theory this behavior is documented in the
zpool
manpage and help, because the remove command is described as:
zpool remove pool vdev
Notice how that doesn't say you can specify more than one vdev . In the grand Unix tradition of informative manpages , this means that you can't.
Of course, it would be nice if ZFS's administrative commands actually gave an error message when you used them wrong, instead of just ignoring anything that wasn't supposed to be there. Ignoring things that you don't expect is not robust .