07.06.2013 Views

Scsi - Index of

Scsi - Index of

Scsi - Index of

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

69 * Ioctl interface<br />

70 *<br />

71 * Status: OPTIONAL<br />

72 */<br />

73 int (* ioctl)(struct scsi_device *dev, int cmd, void __user *arg);<br />

74<br />

75 /*<br />

76 * The queuecommand function is used to queue up a scsi<br />

77 * command block to the LLDD. When the driver finished<br />

78 * processing the command the done callback is invoked.<br />

79 *<br />

80 * If queuecommand returns 0, then the HBA has accepted the<br />

81 * command. The done() function must be called on the command<br />

82 * when the driver has finished with it. (you may call done on the<br />

83 * command before queuecommand returns, but in this case you<br />

84 * *must* return 0 from queuecommand).<br />

85 *<br />

86 * Queuecommand may also reject the command, in which case it may<br />

87 * not touch the command and must not call done() for it.<br />

88 *<br />

89 * There are two possible rejection returns:<br />

90 *<br />

91 * SCSI_MLQUEUE_DEVICE_BUSY: Block this device temporarily, but<br />

92 * allow commands to other devices serviced by this host.<br />

93 *<br />

94 * SCSI_MLQUEUE_HOST_BUSY: Block all devices served by this<br />

95 * host temporarily.<br />

96 *<br />

97 * For compatibility, any other non-zero return is treated the<br />

98 * same as SCSI_MLQUEUE_HOST_BUSY.<br />

99 *<br />

100 * NOTE: "temporarily" means either until the next command for#<br />

101 * this device/host completes, or a period <strong>of</strong> time determined by<br />

102 * I/O pressure in the system if there are no other outstanding<br />

103 * commands.<br />

104 *<br />

105 * STATUS: REQUIRED<br />

106 */<br />

107 int (* queuecommand)(struct scsi_cmnd *,<br />

108 void (*done)(struct scsi_cmnd *));<br />

96<br />

109<br />

110 /*<br />

111 * This is an error handling strategy routine. You don't need to

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!