Package rtslib :: Module tcm :: Class BlockStorageObject

[hide private]
[frames] | no frames]

# Class BlockStorageObject

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

An interface to configFS storage objects for block backstore.

Instance Methods | [hide private]

__init__(self, name, dev=None, wwn=None, readonly=False, write_back=False) A BlockIOStorageObject can be instantiated in two ways: |

_configure(self, dev, wwn, readonly) |

_get_major(self) |

_get_minor(self) |

_get_size(self) |

_get_wb_enabled(self) |

_get_readonly(self) |

dump(self) |

Inherited from `StorageObject`: `__eq__`, `__ne__`, `__repr__`, `delete`, `is_configured`

Inherited from `StorageObject` (private): `_config_pr_aptpl`, `_control`, `_enable`, `_gen_attached_luns`, `_get_name`, `_get_status`, `_get_udev_path`, `_get_version`, `_get_wwn`, `_list_attached_luns`, `_parse_info`, `_set_udev_path`, `_set_wwn`, `_write_fd`

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

Inherited from `node.CFSNode` (private): `_check_self`, `_create_in_cfs_ine`, `_exists`, `_get_path`, `_list_files`

Inherited from `object`: `__delattr__`, `__format__`, `__getattribute__`, `__hash__`, `__new__`, `__reduce__`, `__reduce_ex__`, `__setattr__`, `__sizeof__`, `__str__`, `__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]

| major Get the block device major number
| minor Get the block device minor number
| size Get the block device size
| write_back True if write-back, False if write-through (write cache disabled)
| readonly True if the device is read-only, False if read/write
Inherited from `StorageObject`: `attached_luns`, `name`, `status`, `udev_path`, `version`, `wwn` Inherited from `node.CFSNode`: `exists`, `path` Inherited from `object`: `__class__`

Method Details | [hide private]

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

A BlockIOStorageObject can be instantiated in two ways:

- Creation mode: If dev is specified, the underlying configFS object will be created with that parameter. No BlockIOStorageObject with the same name can pre-exist in the parent Backstore in that mode.
- Lookup mode: If dev is not set, then the BlockIOStorageObject 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 instantiation will fail.

Parameters:
  - `name` (string) - The name of the BlockIOStorageObject.
  - `dev` (string) - The path to the backend block device to be used.
    - Example: dev="/dev/sda".
    - The only device type that is accepted TYPE_DISK. For other device types, use pscsi.
  - `wwn` (string) - T10 WWN Unit Serial, will generate if None
Returns:
  A BlockIOStorageObject object.
Overrides: object.__init__

### _configure(self, dev, wwn, readonly)

Overrides: StorageObject._configure

### dump(self)

Overrides: node.CFSNode.dump

Property Details | [hide private]

### major

Get the block device major number

Get Method:
  _get_major(self)

### minor

Get the block device minor number

Get Method:
  _get_minor(self)

### size

Get the block device size

Get Method:
  _get_size(self)

### write_back

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

Get Method:
  _get_wb_enabled(self)

### readonly

True if the device is read-only, False if read/write

Get Method:
  _get_readonly(self)