Sha256: 25c4279ca9db79a82c44b70ecae53ca1c67808a5c1fbbbf12ac665930fcbdd35

Contents?: true

Size: 928 Bytes

Versions: 17

Compression:

Stored size: 928 Bytes

Contents

require 'disk/modules/MiqLargeFile'

module RawDisk
  def d_init
    self.diskType = "Raw"
    self.blockSize = 512

    if dInfo.mountMode.nil? || dInfo.mountMode == "r"
      dInfo.mountMode = "r"
      fileMode = "r"
    elsif dInfo.mountMode == "rw"
      fileMode = "r+"
    else
      raise "Unrecognized mountMode: #{dInfo.mountMode}"
    end

    @dOffset = dInfo.offset
    @rawDisk_file = MiqLargeFile.open(dInfo.fileName, fileMode)
  end

  def getBase
    self
  end

  def d_read(pos, len, offset = 0)
    pos += @dOffset if @dOffset
    @rawDisk_file.seek(pos - offset, IO::SEEK_SET)
    @rawDisk_file.read(len)
  end

  def d_write(pos, buf, len, offset = 0)
    pos += @dOffset if @dOffset
    @rawDisk_file.seek(pos - offset, IO::SEEK_SET)
    @rawDisk_file.write(buf, len)
  end

  def d_close
    @rawDisk_file.close
  end

  # Disk size in sectors.
  def d_size
    @rawDisk_file.size / @blockSize
  end
end

Version data entries

17 entries across 17 versions & 1 rubygems

Version Path
manageiq-smartstate-0.2.9 lib/disk/modules/RawDisk.rb
manageiq-smartstate-0.2.8 lib/disk/modules/RawDisk.rb
manageiq-smartstate-0.2.7 lib/disk/modules/RawDisk.rb
manageiq-smartstate-0.2.6 lib/disk/modules/RawDisk.rb
manageiq-smartstate-0.2.5 lib/disk/modules/RawDisk.rb
manageiq-smartstate-0.2.4 lib/disk/modules/RawDisk.rb
manageiq-smartstate-0.2.3 lib/disk/modules/RawDisk.rb
manageiq-smartstate-0.2.2 lib/disk/modules/RawDisk.rb
manageiq-smartstate-0.2.1 lib/disk/modules/RawDisk.rb
manageiq-smartstate-0.2.0 lib/disk/modules/RawDisk.rb
manageiq-smartstate-0.1.6 lib/disk/modules/RawDisk.rb
manageiq-smartstate-0.1.5 lib/disk/modules/RawDisk.rb
manageiq-smartstate-0.1.4 lib/disk/modules/RawDisk.rb
manageiq-smartstate-0.1.3 lib/disk/modules/RawDisk.rb
manageiq-smartstate-0.1.2 lib/disk/modules/RawDisk.rb
manageiq-smartstate-0.1.1 lib/disk/modules/RawDisk.rb
manageiq-smartstate-0.1.0 lib/disk/modules/RawDisk.rb