Module: AzureBlobDisk

Includes:
AzureDiskCommon
Defined in:
lib/disk/modules/AzureBlobDisk.rb

Constant Summary collapse

MAX_READ_LEN =

The maximum read length that supports MD5 return.

1024 * 1024 * 4

Constants included from AzureDiskCommon

AzureDiskCommon::SECTOR_LENGTH

Class Method Summary collapse

Instance Method Summary collapse

Methods included from AzureDiskCommon

#blob_properties, #blob_read, #d_close_common, #d_init_blob_disk, #d_init_common, #d_init_managed_disk, #d_read_common, #key, #managed_disk

Class Method Details

.new(svc, blob_uri, dInfo = nil) ⇒ Object



10
11
12
13
14
15
16
17
# File 'lib/disk/modules/AzureBlobDisk.rb', line 10

def self.new(svc, blob_uri, dInfo = nil)
  d_info = dInfo || OpenStruct.new
  d_info.storage_acct_svc = svc
  d_info.blob_uri         = blob_uri
  d_info.fileName         = blob_uri

  MiqDisk.new(self, d_info, 0)
end

Instance Method Details

#d_closeObject



27
28
29
# File 'lib/disk/modules/AzureBlobDisk.rb', line 27

def d_close
  d_close_common
end

#d_initObject



19
20
21
22
23
24
25
# File 'lib/disk/modules/AzureBlobDisk.rb', line 19

def d_init
  @diskType         = "azure-blob"
  @blockSize        = AzureDiskCommon::SECTOR_LENGTH
  @blob_uri         = @dInfo.blob_uri
  @storage_acct_svc = @dInfo.storage_acct_svc
  d_init_common(@dInfo)
end

#d_read(pos, len) ⇒ Object



31
32
33
34
# File 'lib/disk/modules/AzureBlobDisk.rb', line 31

def d_read(pos, len)
  $log.debug "AzureBlobDisk#d_read(#{pos}, #{len})"
  d_read_common(pos, len)
end

#d_sizeObject



36
37
38
# File 'lib/disk/modules/AzureBlobDisk.rb', line 36

def d_size
  @d_size ||= blob_properties[:content_length].to_i
end

#d_write(_pos, _buf, _len) ⇒ Object



40
41
42
# File 'lib/disk/modules/AzureBlobDisk.rb', line 40

def d_write(_pos, _buf, _len)
  raise "Write operation not supported."
end