pyocf: add FLUSH flag
Flush I/O must be recognized by the bottom adapter by inspecting adapter specific flags Signed-off-by: Adam Rutkowski <adam.j.rutkowski@intel.com>
This commit is contained in:
parent
9646df431f
commit
07c7db81f4
@ -22,6 +22,7 @@ from ctypes import (
|
|||||||
)
|
)
|
||||||
from hashlib import md5
|
from hashlib import md5
|
||||||
import weakref
|
import weakref
|
||||||
|
from enum import IntEnum
|
||||||
|
|
||||||
from .io import Io, IoOps, IoDir
|
from .io import Io, IoOps, IoDir
|
||||||
from .queue import Queue
|
from .queue import Queue
|
||||||
@ -32,6 +33,10 @@ from .data import Data
|
|||||||
from .queue import Queue
|
from .queue import Queue
|
||||||
|
|
||||||
|
|
||||||
|
class IoFlags(IntEnum):
|
||||||
|
FLUSH = 1
|
||||||
|
|
||||||
|
|
||||||
class VolumeCaps(Structure):
|
class VolumeCaps(Structure):
|
||||||
_fields_ = [("_atomic_writes", c_uint32, 1)]
|
_fields_ = [("_atomic_writes", c_uint32, 1)]
|
||||||
|
|
||||||
@ -350,6 +355,11 @@ class RamVolume(Volume):
|
|||||||
discard.contents._end(discard, -OcfErrorCode.OCF_ERR_NOT_SUPP)
|
discard.contents._end(discard, -OcfErrorCode.OCF_ERR_NOT_SUPP)
|
||||||
|
|
||||||
def do_submit_io(self, io):
|
def do_submit_io(self, io):
|
||||||
|
flags = int(io.contents._flags)
|
||||||
|
if flags & IoFlags.FLUSH:
|
||||||
|
self.do_submit_flush(io)
|
||||||
|
return
|
||||||
|
|
||||||
try:
|
try:
|
||||||
io_priv = cast(OcfLib.getInstance().ocf_io_get_priv(io), POINTER(VolumeIoPriv))
|
io_priv = cast(OcfLib.getInstance().ocf_io_get_priv(io), POINTER(VolumeIoPriv))
|
||||||
offset = io_priv.contents._offset
|
offset = io_priv.contents._offset
|
||||||
|
Loading…
Reference in New Issue
Block a user