docs: def _parse_snapshots(self):
          """Returns all snapshots grouped by filesystem, a dict of OrderedDict's
          The order of snapshots matters when determining parents for incremental send,
          so it's preserved.
          Data is indexed by filesystem then for each filesystem we have an OrderedDict
          of snapshots.
          """
          try:
              snap = self._list_snapshots()
          except OSError as err:
              logging.error("unable to list local snapshots!")
              return {}
          vols = {}
          for line in snap.splitlines():
              if len(line) == 0:
                  continue
              name, used, refer, mountpoint, written = line.split('\t')
              vol_name, snap_name = name.split('@', 1)
              snapshots = vols.setdefault(vol_name, OrderedDict())
              snapshots[snap_name] = {
                  'name': name,
                  'used': used,
                  'refer': refer,
                  'mountpoint': mountpoint,
                  'written': written,
              }
          return vols