def _create_linear(cls, dmname, table_lines): """ Create linear mapping based on table_lines. Each line is a tuple in the dmsetup table format: ([start in sectors], [length in sectors], [type], [source device], [offset in sectors]) eg. ('4096', '8192', 'linear', '/dev/dm-2', '4192') """ dmsetup(['create', dmname, '/dev/stdin'], input='\n'.join([' '.join([str(col) for col in line]) for line in table_lines])) devname = Device.from_device_file(udevctx, '/dev/mapper/%s' % dmname)['DEVNAME'] return cls(basename(devname))
def device_path(self): if not hasattr(self, '_device_path'): self._device_path = Device.from_device_file(udevctx, '/dev/mapper/%s' % self.dmname)['DEVNAME'] return self._device_path