Ejemplo n.º 1
0
class RawBlockDevice(BlockDevice):
    def __init__(self, raw_file, read_only=False, block_bytes=512, fobj=None):
        self.img_file = ImageFile(raw_file, read_only, block_bytes, fobj)

    def create(self, num_blocks):
        self.img_file.create(num_blocks)
        self.open()
        self.num_blocks = num_blocks

    def open(self):
        self.img_file.open()
        # calc block longs
        self.block_bytes = self.img_file.block_bytes
        self.block_longs = self.block_bytes / 4
        self.num_blocks = self.img_file.num_blocks

    def flush(self):
        self.img_file.flush()

    def close(self):
        self.img_file.close()

    def read_block(self, blk_num):
        return self.img_file.read_blk(blk_num)

    def write_block(self, blk_num, data):
        self.img_file.write_blk(blk_num, data)
Ejemplo n.º 2
0
class RawBlockDevice(BlockDevice):
  def __init__(self, raw_file, read_only=False, block_bytes=512, fobj=None):
    self.img_file = ImageFile(raw_file, read_only, block_bytes, fobj)

  def create(self, num_blocks):
    self.img_file.create(num_blocks)
    self.open()
    self.num_blocks = num_blocks

  def open(self):
    self.img_file.open()
    # calc block longs
    self.block_bytes = self.img_file.block_bytes
    self.block_longs = self.block_bytes / 4
    self.num_blocks = self.img_file.num_blocks

  def flush(self):
    self.img_file.flush()

  def close(self):
    self.img_file.close()

  def read_block(self, blk_num):
    return self.img_file.read_blk(blk_num)

  def write_block(self, blk_num, data):
    self.img_file.write_blk(blk_num, data)
Ejemplo n.º 3
0
class HDFBlockDevice(BlockDevice):
  def __init__(self, hdf_file, read_only=False, block_size=512, fobj=None):
    self.img_file = ImageFile(hdf_file, read_only, block_size, fobj)

  def create(self, geo, reserved=2):
    self._set_geometry(geo.cyls, geo.heads, geo.secs, reserved=reserved)
    self.img_file.create(geo.get_num_blocks())
    self.img_file.open()

  def open(self, geo, reserved=2):
    self._set_geometry(geo.cyls, geo.heads, geo.secs, reserved=reserved)
    self.img_file.open()

  def flush(self):
    pass

  def close(self):
    self.img_file.close()

  def read_block(self, blk_num):
    return self.img_file.read_blk(blk_num)

  def write_block(self, blk_num, data):
    return self.img_file.write_blk(blk_num, data)
Ejemplo n.º 4
0
class HDFBlockDevice(BlockDevice):
    def __init__(self, hdf_file, read_only=False, block_size=512, fobj=None):
        self.img_file = ImageFile(hdf_file, read_only, block_size, fobj)

    def create(self, geo, reserved=2):
        self._set_geometry(geo.cyls, geo.heads, geo.secs, reserved=reserved)
        self.img_file.create(geo.get_num_blocks())
        self.img_file.open()

    def open(self, geo, reserved=2):
        self._set_geometry(geo.cyls, geo.heads, geo.secs, reserved=reserved)
        self.img_file.open()

    def flush(self):
        pass

    def close(self):
        self.img_file.close()

    def read_block(self, blk_num):
        return self.img_file.read_blk(blk_num)

    def write_block(self, blk_num, data):
        return self.img_file.write_blk(blk_num, data)