pyocf: add volume::close()
Signed-off-by: Adam Rutkowski <adam.j.rutkowski@intel.com>
This commit is contained in:
parent
6c9f558b62
commit
bd20236444
@ -152,8 +152,7 @@ class Volume:
|
|||||||
@VolumeOps.CLOSE
|
@VolumeOps.CLOSE
|
||||||
def _close(ref):
|
def _close(ref):
|
||||||
volume = Volume.get_instance(ref)
|
volume = Volume.get_instance(ref)
|
||||||
volume.close()
|
Volume.s_close(volume)
|
||||||
volume.opened = False
|
|
||||||
|
|
||||||
@VolumeOps.GET_MAX_IO_SIZE
|
@VolumeOps.GET_MAX_IO_SIZE
|
||||||
def _get_max_io_size(ref):
|
def _get_max_io_size(ref):
|
||||||
@ -193,6 +192,17 @@ class Volume:
|
|||||||
|
|
||||||
return ret
|
return ret
|
||||||
|
|
||||||
|
@staticmethod
|
||||||
|
def s_close(volume):
|
||||||
|
if not volume.opened:
|
||||||
|
return
|
||||||
|
|
||||||
|
volume.do_close()
|
||||||
|
volume.opened = False
|
||||||
|
|
||||||
|
del Volume._instances_[volume.handle]
|
||||||
|
volume.handle = None
|
||||||
|
|
||||||
@classmethod
|
@classmethod
|
||||||
def get_io_ops(cls):
|
def get_io_ops(cls):
|
||||||
return IoOps(_set_data=cls._io_set_data, _get_data=cls._io_get_data)
|
return IoOps(_set_data=cls._io_set_data, _get_data=cls._io_get_data)
|
||||||
@ -261,8 +271,8 @@ class Volume:
|
|||||||
def do_open(self):
|
def do_open(self):
|
||||||
return 0
|
return 0
|
||||||
|
|
||||||
def close(self):
|
def do_close(self):
|
||||||
self.opened = False
|
pass
|
||||||
|
|
||||||
def get_length(self):
|
def get_length(self):
|
||||||
raise NotImplementedError
|
raise NotImplementedError
|
||||||
|
@ -117,6 +117,9 @@ class ExpObjVolume(Volume):
|
|||||||
handle = self.get_c_handle()
|
handle = self.get_c_handle()
|
||||||
return Volume.s_open(handle, self)
|
return Volume.s_open(handle, self)
|
||||||
|
|
||||||
|
def close(self):
|
||||||
|
return Volume.s_close(self)
|
||||||
|
|
||||||
|
|
||||||
lib = OcfLib.getInstance()
|
lib = OcfLib.getInstance()
|
||||||
lib.ocf_volume_get_max_io_size.argtypes = [c_void_p]
|
lib.ocf_volume_get_max_io_size.argtypes = [c_void_p]
|
||||||
|
Loading…
Reference in New Issue
Block a user