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 destroy(self): return dmsetup(['remove', self.dmname]) # vim:set sw=4 ts=4 et: # -*- coding: utf-8 -*-
def resume(self): dmsetup(['resume', self.dmname]) return self
def suspend(self): dmsetup(['suspend', self.dmname]) return self
def rename(self, new_name): dmsetup(['rename', self.dmname, new_name]) self._dmname = new_name return self
def reload(self, table_lines): dmsetup(['reload', self.dmname, '/dev/stdin'], input='\n'.join(table_lines)) if hasattr(self, '_device_path'): del self._device_path return self
def status(self): return dmsetup(['status', self.dmname])
def table(self): return dmsetup(['table', self.dmname])