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()
def aix(device): handle = create_os_file(device) executer = create_platform_command_executer(handle) try: yield executer finally: handle.close()
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()
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()
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 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
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()
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()
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()
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:
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()
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))