Package rtslib :: Module tcm :: Class FileIOStorageObject
[hide private]
[frames] | no frames]

Class FileIOStorageObject

  object --+        
           |        
node.CFSNode --+    
               |    
   StorageObject --+
                   |
                  FileIOStorageObject

An interface to configFS storage objects for fileio backstore.

Instance Methods [hide private]
 
__init__(self, name, dev=None, size=None, wwn=None, write_back=False)
A FileIOStorageObject can be instanciated in two ways:
 
_configure(self, dev, size, wwn, write_back)
 
_get_wb_enabled(self)
 
_get_size(self)
 
dump(self)

Inherited from StorageObject: __eq__, __ne__, delete, is_configured

Inherited from node.CFSNode: __str__, get_attribute, get_parameter, list_attributes, list_parameters, set_attribute, set_parameter

Inherited from object: __delattr__, __format__, __getattribute__, __hash__, __new__, __reduce__, __reduce_ex__, __repr__, __setattr__, __sizeof__, __subclasshook__

Class Methods [hide private]

Inherited from StorageObject: all, so_from_path

Class Variables [hide private]

Inherited from node.CFSNode: configfs_dir

Properties [hide private]
  write_back
True if write-back, False if write-through (write cache disabled)
  size
Get the current FileIOStorage size in bytes

Inherited from StorageObject: attached_luns, name, status, udev_path, version, wwn

Inherited from node.CFSNode: exists, is_fresh, path

Inherited from object: __class__

Method Details [hide private]

__init__(self, name, dev=None, size=None, wwn=None, write_back=False)
(Constructor)

 

A FileIOStorageObject can be instanciated in two ways:

  • Creation mode: If dev and size are specified, the underlying configFS object will be created with those parameters. No FileIOStorageObject with the same name can pre-exist in the parent Backstore in that mode, or instanciation will fail.
  • Lookup mode: If dev and size are not set, then the FileIOStorageObject will be bound to the existing configFS object in the parent Backstore having the specified name. The underlying configFS object must already exist in that mode, or instanciation will fail.
Parameters:
  • name (string) - The name of the FileIOStorageObject.
  • dev (string) - The path to the backend file or block device to be used.
    • Examples: dev="/dev/sda", dev="/tmp/myfile"
    • The only block device type that is accepted TYPE_DISK, or partitions of a TYPE_DISK device. For other device types, use pscsi.
  • size (string or int) - The maximum size to allocate for the file. Not used for block devices.
    • If size is an int, it represents a number of bytes
    • If size is a string, the following units can be used :
      • B or no unit present for bytes
      • k, K, kB, KB for kB (kilobytes)
      • m, M, mB, MB for MB (megabytes)
      • g, G, gB, GB for GB (gigabytes)
      • t, T, tB, TB for TB (terabytes) Example: size="1MB" for a one megabytes storage object.
      • The base value for kilo is 1024, aka 1kB = 1024B. Strictly speaking, we use kiB, MiB, etc.
  • wwn (string) - T10 WWN Unit Serial, will generate if None
  • write_back (bool) - Should we create the StorageObject with write caching enabled? Disabled by default
Returns:
A FileIOStorageObject object.
Overrides: object.__init__

dump(self)

 
Overrides: node.CFSNode.dump

Property Details [hide private]

write_back

True if write-back, False if write-through (write cache disabled)

Get Method:
_get_wb_enabled(self)

size

Get the current FileIOStorage size in bytes

Get Method:
_get_size(self)