Beispiel #1
0
def linux_sg(device):
    handle = create_os_file(device)
    executer = create_platform_command_executer(handle, timeout=SG_TIMEOUT_IN_MS)
    try:
        yield executer
    finally:
        handle.close()
Beispiel #2
0
def aix(device):
    handle = create_os_file(device)
    executer = create_platform_command_executer(handle)
    try:
        yield executer
    finally:
        handle.close()
Beispiel #3
0
def asi_context(sg_device):
    from infi.asi import create_platform_command_executer, create_os_file
    handle = create_os_file("/dev/{}".format(sg_device))
    executer = create_platform_command_executer(handle, timeout=TIMEOUT)
    try:
        yield executer
    finally:
        handle.close()
Beispiel #4
0
 def asi_context(self):
     from infi.asi import create_platform_command_executer, create_os_file
     handle = create_os_file(self.get_pdo())
     executer = create_platform_command_executer(handle)
     executer.call = defer(executer.call)
     try:
         yield executer
     finally:
         handle.close()
 def asi_context(self):
     from infi.asi import create_platform_command_executer, create_os_file
     handle = create_os_file(self._get_access_path())
     executer = create_platform_command_executer(handle)
     executer.call = gevent_wrapper.defer(executer.call)
     try:
         yield executer
     finally:
         handle.close()
Beispiel #6
0
def linux_dm(device):
    from infi.asi.linux import LinuxIoctlCommandExecuter

    handle = create_os_file(device)
    executer = LinuxIoctlCommandExecuter(handle)
    try:
        yield executer
    finally:
        handle.close()
 def asi_context(self):
     from infi.asi import create_platform_command_executer, create_os_file
     handle = create_os_file(self._get_access_path())
     executer = create_platform_command_executer(handle)
     executer.call = gevent_wrapper.defer(executer.call)
     try:
         yield executer
     finally:
         handle.close()
 def asi_context(self):
     from infi.asi import create_platform_command_executer, create_os_file
     handle = create_os_file(self.get_pdo())
     executer = create_platform_command_executer(handle)
     executer.call = defer(executer.call)
     try:
         yield executer
     finally:
         handle.close()
Beispiel #9
0
def doit(dev, page):
    f = create_os_file(dev)
    command = available_commands[page]
    if page in ('0x02', '0x07'):
        cfg_data = run_cmd(f, ses_pages.ConfigurationDiagnosticPagesCommand)
        data = run_cmd(f, command, cfg_data)
    else:
        data = run_cmd(f, command)
    f.close()
    return data
Beispiel #10
0
def doit(dev, page):
    f = create_os_file(dev)
    command = available_commands[page]
    if page in ('0x02', '0x07'):
        cfg_data = run_cmd(f, ses_pages.ConfigurationDiagnosticPagesCommand)
        data = run_cmd(f, command, cfg_data)
    else:
        data = run_cmd(f, command)
    f.close()
    return data
Beispiel #11
0
    def asi_context(self):
        from infi.asi import create_platform_command_executer, create_os_file

        handle = create_os_file(self.get_scsi_access_path())
        executer = create_platform_command_executer(handle, timeout=QUERY_TIMEOUT_IN_SECONDS)
        executer.call = gevent_wrapper.defer(executer.call)
        try:
            yield executer
        finally:
            handle.close()
Beispiel #12
0
    def asi_context(self):
        from infi.asi import create_platform_command_executer, create_os_file

        handle = create_os_file(self.get_scsi_access_path())
        executer = create_platform_command_executer(handle, timeout=QUERY_TIMEOUT_IN_SECONDS)
        executer.call = gevent_wrapper.defer(executer.call)
        try:
            yield executer
        finally:
            handle.close()
    def asi_context(self):
        import os
        from infi.asi import create_platform_command_executer, create_os_file

        handle = create_os_file(self.device_path)
        executer = create_platform_command_executer(handle, timeout=QUERY_TIMEOUT)
        executer.call = gevent_wrapper.defer(executer.call)
        try:
            yield executer
        finally:
            handle.close()
 def asi_context(self):
     import os
     from infi.asi import create_platform_command_executer, create_os_file
     from .scsi import SG_TIMEOUT_IN_MS
     path = os.path.join("/dev", self.sysfs_device.get_scsi_generic_device_name())
     handle = create_os_file(path)
     executer = create_platform_command_executer(handle, timeout=SG_TIMEOUT_IN_MS)
     executer.call = gevent_wrapper.defer(executer.call)
     try:
         yield executer
     finally:
         handle.close()
Beispiel #15
0
 def asi_context(self):
     import os
     from infi.asi import create_platform_command_executer, create_os_file
     from .scsi import SG_TIMEOUT_IN_MS
     path = os.path.join("/dev",
                         self.sysfs_device.get_scsi_generic_device_name())
     handle = create_os_file(path)
     executer = create_platform_command_executer(handle,
                                                 timeout=SG_TIMEOUT_IN_MS)
     executer.call = gevent_wrapper.defer(executer.call)
     try:
         yield executer
     finally:
         handle.close()
Beispiel #16
0
    def asi_context(self):
        import os
        from infi.asi import create_platform_command_executer, create_os_file

        # if sgen is not loaded we can't open the device
        if not os.path.exists(self.get_block_access_path()) and os.path.exists(self.get_block_access_path().strip(":array_ctrl")):
            msg = "can't query device {} since block access path doesn't exist (sgen is not loaded)".format(self.get_display_name())
            raise ScsiGenericNotLoaded(msg)

        handle = create_os_file(self.get_block_access_path())
        executer = create_platform_command_executer(handle, timeout=QUERY_TIMEOUT)
        executer.call = gevent_wrapper.defer(executer.call)
        try:
            yield executer
        finally:
            handle.close()
Beispiel #17
0
    def asi_context(self):
        import os
        from infi.asi import create_platform_command_executer, create_os_file

        # if sgen is not loaded we can't open the device
        if not os.path.exists(self.get_block_access_path()) and os.path.exists(
                self.get_block_access_path().strip(":array_ctrl")):
            msg = "can't query device {} since block access path doesn't exist (sgen is not loaded)".format(
                self.get_display_name())
            raise ScsiGenericNotLoaded(msg)

        handle = create_os_file(self.get_block_access_path())
        executer = create_platform_command_executer(handle,
                                                    timeout=QUERY_TIMEOUT)
        executer.call = gevent_wrapper.defer(executer.call)
        try:
            yield executer
        finally:
            handle.close()
Beispiel #18
0
    sys.stderr.write("usage: %s device_name inquiry_command\n" % sys.argv[0])
    sys.exit(1)

try:
    available_commands = {
        "standard": StandardInquiryCommand,
        "0x80": vpd_pages.UnitSerialNumberVPDPageCommand,
        "0x83": vpd_pages.DeviceIdentificationVPDPageCommand,
    }

    if sys.argv[2] not in available_commands:
        raise ValueError("available commands: %s" % repr(available_commands.keys()))
            
    path = sys.argv[1]

    f = create_os_file(path, async=True)

    command = available_commands[sys.argv[2]]

    executer = create_platform_command_executer(f)
    cdb = command()
    execution1 = cdb.execute(executer)
    execution2 = cdb.execute(executer)
    execution3 = cdb.execute(executer)

    data1, data2, data3 = async_wait(execution1, execution2, execution3)
    
    print("\n\n".join([repr(data1), repr(data2), repr(data3)]))

    f.close()
except:
Beispiel #19
0
from infi.asi import create_platform_command_executer
from infi.asi.cdb.write import Write6Command, Write10Command
from infi.asi.coroutines.sync_adapter import sync_wait
from infi.asi import create_os_file
from infi.exceptools import print_exc

if len(sys.argv) not in (5, 6):
    sys.stderr.write("usage: %s device_name offset length cdb_size [char='\x00']\n" % sys.argv[0])
    sys.exit(1)

path, offset, length, cdb_size = (sys.argv[1], int(sys.argv[2]), int(sys.argv[3]), int(sys.argv[4]))
char = sys.argv[5][0] if len(sys.argv) == 6 else "\x00"

f = create_os_file(path)

try:

    executer = create_platform_command_executer(f)
    possible_commands = {6: Write6Command,
                         10: Write10Command}

    cdb = possible_commands[cdb_size](logical_block_address=offset, buffer=char * (length * 512))
    sync_wait(cdb.execute(executer))
    f.close()
except:
    print_exc()
Beispiel #20
0
import sys
from infi.asi import create_platform_command_executer
from infi.asi.cdb.read import Read6Command, Read10Command, Read12Command, Read16Command
from infi.asi.coroutines.sync_adapter import sync_wait
from infi.asi import create_os_file
from infi.exceptools import print_exc

if len(sys.argv) != 5:
    sys.stderr.write("usage: %s device_name offset length cdb_size\n" %
                     sys.argv[0])
    sys.exit(1)

path, offset, length, cdb_size = (sys.argv[1], int(sys.argv[2]),
                                  int(sys.argv[3]), int(sys.argv[4]))

f = create_os_file(path)

try:

    executer = create_platform_command_executer(f)
    possible_commands = {
        6: Read6Command,
        10: Read10Command,
        12: Read12Command,
        16: Read16Command
    }

    cdb = possible_commands[cdb_size](logical_block_address=offset,
                                      transfer_length=length)
    data = sync_wait(cdb.execute(executer))