|
@@ -158,41 +158,33 @@ do { \
|
|
|
|
|
|
struct dasd_ccw_req {
|
|
|
unsigned int magic; /* Eye catcher */
|
|
|
+ int intrc; /* internal error, e.g. from start_IO */
|
|
|
struct list_head devlist; /* for dasd_device request queue */
|
|
|
struct list_head blocklist; /* for dasd_block request queue */
|
|
|
-
|
|
|
- /* Where to execute what... */
|
|
|
struct dasd_block *block; /* the originating block device */
|
|
|
struct dasd_device *memdev; /* the device used to allocate this */
|
|
|
struct dasd_device *startdev; /* device the request is started on */
|
|
|
struct dasd_device *basedev; /* base device if no block->base */
|
|
|
void *cpaddr; /* address of ccw or tcw */
|
|
|
+ short retries; /* A retry counter */
|
|
|
unsigned char cpmode; /* 0 = cmd mode, 1 = itcw */
|
|
|
char status; /* status of this request */
|
|
|
- short retries; /* A retry counter */
|
|
|
+ char lpm; /* logical path mask */
|
|
|
unsigned long flags; /* flags of this request */
|
|
|
struct dasd_queue *dq;
|
|
|
-
|
|
|
- /* ... and how */
|
|
|
unsigned long starttime; /* jiffies time of request start */
|
|
|
unsigned long expires; /* expiration period in jiffies */
|
|
|
- char lpm; /* logical path mask */
|
|
|
void *data; /* pointer to data area */
|
|
|
-
|
|
|
- /* these are important for recovering erroneous requests */
|
|
|
- int intrc; /* internal error, e.g. from start_IO */
|
|
|
struct irb irb; /* device status in case of an error */
|
|
|
struct dasd_ccw_req *refers; /* ERP-chain queueing. */
|
|
|
void *function; /* originating ERP action */
|
|
|
void *mem_chunk;
|
|
|
|
|
|
- /* these are for statistics only */
|
|
|
unsigned long buildclk; /* TOD-clock of request generation */
|
|
|
unsigned long startclk; /* TOD-clock of request start */
|
|
|
unsigned long stopclk; /* TOD-clock of request interrupt */
|
|
|
unsigned long endclk; /* TOD-clock of request termination */
|
|
|
|
|
|
- /* Callback that is called after reaching final status. */
|
|
|
void (*callback)(struct dasd_ccw_req *, void *data);
|
|
|
void *callback_data;
|
|
|
};
|