--- zfs-snapshot-mgmt 2010-06-02 05:31:28.759931924 +0300 +++ zfs-snapshot-mgmt 2010-06-01 01:49:46.665034414 +0300 @@ -127,8 +127,10 @@ end def snapshots(prefix) - path = File.join(@mount_point, '.zfs', 'snapshot') - Dir.open(path).select do |name| +# path = File.join(@mount_point, '.zfs', 'snapshot') +# Dir.open(path).select do |name| + s = IO.popen('zfs list -r -t snapshot -H -o name ' + @name).readlines.collect.select { |item| item[0, @name.length + 1] == @name + '@' }.map { |item| item[@name.length + 1 .. -1] } + s.select do |name| name[0, prefix.length] == prefix end.map { |name| SnapshotInfo.new(name, @name, prefix) } end