@
SILdoc(`Create snapshots. All snapshots must be in the same pool. Optionally snapshot properties can be set on all snapshots. Currently only user properties (prefixed with "user:") are supported. Either all snapshots are successfully created or none are created if an exception is raised.
Params:
snapshotNames: a list of names of snapshots to be created.
string[string] properties: ZFS dataset property name-value pairs (empty by default).
Errors:
SnapshotFailure: if one or more snapshots could not be created.
warning:
The underlying implementation reports an individual, per-snapshot error only for SnapshotExists condition and *sometimes* for NameTooLong.
In all other cases a single error is reported without connection to any specific snapshot name(s). This has the following implications:
* if multiple error conditions are encountered only one of them is reported
* unless only one snapshot is requested then it is impossible to tell how many snapshots are problematic and what they are
* only if there are no other error conditions :exc:.SnapshotExists is reported for all affected snapshots
* :exc:.NameTooLong can behave either in the same way as :exc:.SnapshotExists or as all other exceptions. The former is the case where the full snapshot name exceeds the maximum allowed length but the short snapshot name (after '@') is within the limit. The latter is the case when the short name alone exceeds the maximum allowed length.
`)