docs: def _blkid_output(out, fs_type=None):
      '''
      Parse blkid output.
      '''
      flt = lambda data: [el for el in data if el.strip()]
      data = {}
      for dev_meta in flt(out.split('\n\n')):
          dev = {}
          for items in flt(dev_meta.strip().split('\n')):
              key, val = items.split('=', 1)
              dev[key.lower()] = val
          if fs_type and dev.get('type', '') == fs_type or not fs_type:
              if 'type' in dev and fs_type:
                  dev.pop('type')
              data[dev.pop('devname')] = dev
  
      if fs_type:
          mounts = _get_mounts(fs_type)
          for device in six.iterkeys(mounts):
              if data.get(device):
                  data[device]['mounts'] = mounts[device]
  
      return data