summaryrefslogtreecommitdiff
path: root/usr/src/lib/pyzfs/common/dataset.py
diff options
context:
space:
mode:
Diffstat (limited to 'usr/src/lib/pyzfs/common/dataset.py')
-rw-r--r--usr/src/lib/pyzfs/common/dataset.py8
1 files changed, 6 insertions, 2 deletions
diff --git a/usr/src/lib/pyzfs/common/dataset.py b/usr/src/lib/pyzfs/common/dataset.py
index f3adc5c364..3e8223bd95 100644
--- a/usr/src/lib/pyzfs/common/dataset.py
+++ b/usr/src/lib/pyzfs/common/dataset.py
@@ -213,12 +213,16 @@ class Dataset(object):
def snapshots_fromcmdline(dsnames, recursive):
for dsname in dsnames:
- ds = Dataset(dsname)
if not "@" in dsname:
raise zfs.util.ZFSError(errno.EINVAL,
_("cannot open %s") % dsname,
_("operation only applies to snapshots"))
- yield ds
+ try:
+ ds = Dataset(dsname)
+ yield ds
+ except zfs.util.ZFSError, e:
+ if not recursive or e.errno != errno.ENOENT:
+ raise
if recursive:
(base, snapname) = dsname.split('@')
parent = Dataset(base)