|
| #define | DASD_PER_MAJOR (1U << (MINORBITS - DASD_PARTN_BITS)) |
| |
| #define | DASD_PARTN_MASK ((1 << DASD_PARTN_BITS) - 1) |
| |
| #define | DASD_STATE_NEW 0 |
| |
| #define | DASD_STATE_KNOWN 1 |
| |
| #define | DASD_STATE_BASIC 2 |
| |
| #define | DASD_STATE_UNFMT 3 |
| |
| #define | DASD_STATE_READY 4 |
| |
| #define | DASD_STATE_ONLINE 5 |
| |
| #define | DASD_ECKD_MAGIC 0xC5C3D2C4 |
| |
| #define | DASD_DIAG_MAGIC 0xC4C9C1C7 |
| |
| #define | DASD_FBA_MAGIC 0xC6C2C140 |
| |
| #define | DASD_SENSE_BIT_0 0x80 |
| |
| #define | DASD_SENSE_BIT_1 0x40 |
| |
| #define | DASD_SENSE_BIT_2 0x20 |
| |
| #define | DASD_SENSE_BIT_3 0x10 |
| |
| #define | DASD_SIM_SENSE 0x0F |
| |
| #define | DASD_SIM_MSG_TO_OP 0x03 |
| |
| #define | DASD_SIM_LOG 0x0C |
| |
| #define | CDEV_NESTED_FIRST 1 |
| |
| #define | CDEV_NESTED_SECOND 2 |
| |
| #define | DBF_DEV_EVENT(d_level, d_device, d_str, d_data...) |
| |
| #define | DBF_DEV_EXC(d_level, d_device, d_str, d_data...) |
| |
| #define | DBF_EVENT(d_level, d_str, d_data...) |
| |
| #define | DBF_EVENT_DEVID(d_level, d_cdev, d_str, d_data...) |
| |
| #define | DBF_EXC(d_level, d_str, d_data...) |
| |
| #define | ERRORLENGTH 30 |
| |
| #define | DBF_EMERG 0 /* system is unusable */ |
| |
| #define | DBF_ALERT 1 /* action must be taken immediately */ |
| |
| #define | DBF_CRIT 2 /* critical conditions */ |
| |
| #define | DBF_ERR 3 /* error conditions */ |
| |
| #define | DBF_WARNING 4 /* warning conditions */ |
| |
| #define | DBF_NOTICE 5 /* normal but significant condition */ |
| |
| #define | DBF_INFO 6 /* informational */ |
| |
| #define | DBF_DEBUG 6 /* debug-level messages */ |
| |
| #define | DEV_MESSAGE(d_loglevel, d_device, d_string, d_args...) |
| |
| #define | MESSAGE(d_loglevel, d_string, d_args...) |
| |
| #define | DEV_MESSAGE_LOG(d_loglevel, d_device, d_string, d_args...) |
| |
| #define | MESSAGE_LOG(d_loglevel, d_string, d_args...) |
| |
| #define | DASD_CQR_FILLED 0x00 /* request is ready to be processed */ |
| |
| #define | DASD_CQR_DONE 0x01 /* request is completed successfully */ |
| |
| #define | DASD_CQR_NEED_ERP 0x02 /* request needs recovery action */ |
| |
| #define | DASD_CQR_IN_ERP 0x03 /* request is in recovery */ |
| |
| #define | DASD_CQR_FAILED 0x04 /* request is finally failed */ |
| |
| #define | DASD_CQR_TERMINATED 0x05 /* request was stopped by driver */ |
| |
| #define | DASD_CQR_QUEUED 0x80 /* request is queued to be processed */ |
| |
| #define | DASD_CQR_IN_IO 0x81 /* request is currently in IO */ |
| |
| #define | DASD_CQR_ERROR 0x82 /* request is completed with error */ |
| |
| #define | DASD_CQR_CLEAR_PENDING 0x83 /* request is clear pending */ |
| |
| #define | DASD_CQR_CLEARED 0x84 /* request was cleared */ |
| |
| #define | DASD_CQR_SUCCESS 0x85 /* request was successful */ |
| |
| #define | DASD_EXPIRES 300 |
| |
| #define | DASD_EXPIRES_MAX 40000000 |
| |
| #define | DASD_CQR_FLAGS_USE_ERP 0 /* use ERP for this request */ |
| |
| #define | DASD_CQR_FLAGS_FAILFAST 1 /* FAILFAST */ |
| |
| #define | DASD_CQR_VERIFY_PATH 2 /* path verification request */ |
| |
| #define | DASD_CQR_ALLOW_SLOCK |
| |
| #define | UA_NOT_CONFIGURED 0x00 |
| |
| #define | UA_BASE_DEVICE 0x01 |
| |
| #define | UA_BASE_PAV_ALIAS 0x02 |
| |
| #define | UA_HYPER_PAV_ALIAS 0x03 |
| |
| #define | DASD_EER_DISABLE 0 |
| |
| #define | DASD_EER_TRIGGER 1 |
| |
| #define | DASD_EER_FATALERROR 1 |
| |
| #define | DASD_EER_NOPATH 2 |
| |
| #define | DASD_EER_STATECHANGE 3 |
| |
| #define | DASD_EER_PPRCSUSPEND 4 |
| |
| #define | DASD_STOPPED_NOT_ACC 1 /* not accessible */ |
| |
| #define | DASD_STOPPED_QUIESCE 2 /* Quiesced */ |
| |
| #define | DASD_STOPPED_PENDING 4 /* long busy */ |
| |
| #define | DASD_STOPPED_DC_WAIT 8 /* disconnected, wait */ |
| |
| #define | DASD_STOPPED_SU 16 /* summary unit check handling */ |
| |
| #define | DASD_STOPPED_PM 32 /* pm state transition */ |
| |
| #define | DASD_UNRESUMED_PM 64 /* pm resume failed state */ |
| |
| #define | DASD_FLAG_OFFLINE 3 /* device is in offline processing */ |
| |
| #define | DASD_FLAG_EER_SNSS 4 /* A SNSS is required */ |
| |
| #define | DASD_FLAG_EER_IN_USE 5 /* A SNSS request is running */ |
| |
| #define | DASD_FLAG_DEVICE_RO |
| |
| #define | DASD_FLAG_IS_RESERVED 7 /* The device is reserved */ |
| |
| #define | DASD_FLAG_LOCK_STOLEN 8 /* The device lock was stolen */ |
| |
| #define | DASD_FLAG_SUSPENDED 9 /* The device was suspended */ |
| |
| #define | DASD_PROFILE_OFF 0 |
| |
| #define | DASD_PROFILE_ON 1 |
| |
| #define | DASD_PROFILE_GLOBAL_ONLY 2 |
| |
| #define | dasd_eer_init() (0) |
| |
| #define | dasd_eer_exit() do { } while (0) |
| |
| #define | dasd_eer_enable(d) (0) |
| |
| #define | dasd_eer_disable(d) do { } while (0) |
| |
| #define | dasd_eer_write(d, c, i) do { } while (0) |
| |
| #define | dasd_eer_snss(d) do { } while (0) |
| |
| #define | dasd_eer_enabled(d) (0) |
| |
|
| void | dasd_put_device_wake (struct dasd_device *) |
| |
| struct dasd_mchunk | __attribute__ ((aligned(8))) |
| | Packet vector entry.
|
| |
| struct dasd_ccw_req * | dasd_kmalloc_request (int, int, int, struct dasd_device *) |
| |
| struct dasd_ccw_req * | dasd_smalloc_request (int, int, int, struct dasd_device *) |
| |
| void | dasd_kfree_request (struct dasd_ccw_req *, struct dasd_device *) |
| |
| void | dasd_sfree_request (struct dasd_ccw_req *, struct dasd_device *) |
| |
| void | dasd_wakeup_cb (struct dasd_ccw_req *, void *) |
| |
| struct dasd_device * | dasd_alloc_device (void) |
| |
| void | dasd_free_device (struct dasd_device *) |
| |
| struct dasd_block * | dasd_alloc_block (void) |
| |
| void | dasd_free_block (struct dasd_block *) |
| |
| void | dasd_enable_device (struct dasd_device *) |
| |
| void | dasd_set_target_state (struct dasd_device *, int) |
| |
| void | dasd_kick_device (struct dasd_device *) |
| |
| void | dasd_restore_device (struct dasd_device *) |
| |
| void | dasd_reload_device (struct dasd_device *) |
| |
| void | dasd_add_request_head (struct dasd_ccw_req *) |
| |
| void | dasd_add_request_tail (struct dasd_ccw_req *) |
| |
| int | dasd_start_IO (struct dasd_ccw_req *) |
| |
| int | dasd_term_IO (struct dasd_ccw_req *) |
| |
| void | dasd_schedule_device_bh (struct dasd_device *) |
| |
| void | dasd_schedule_block_bh (struct dasd_block *) |
| |
| int | dasd_sleep_on (struct dasd_ccw_req *) |
| |
| int | dasd_sleep_on_immediatly (struct dasd_ccw_req *) |
| |
| int | dasd_sleep_on_interruptible (struct dasd_ccw_req *) |
| |
| void | dasd_device_set_timer (struct dasd_device *, int) |
| |
| void | dasd_device_clear_timer (struct dasd_device *) |
| |
| void | dasd_block_set_timer (struct dasd_block *, int) |
| |
| void | dasd_block_clear_timer (struct dasd_block *) |
| |
| int | dasd_cancel_req (struct dasd_ccw_req *) |
| |
| int | dasd_flush_device_queue (struct dasd_device *) |
| |
| int | dasd_generic_probe (struct ccw_device *, struct dasd_discipline *) |
| |
| void | dasd_generic_remove (struct ccw_device *cdev) |
| |
| int | dasd_generic_set_online (struct ccw_device *, struct dasd_discipline *) |
| |
| int | dasd_generic_set_offline (struct ccw_device *cdev) |
| |
| int | dasd_generic_notify (struct ccw_device *, int) |
| |
| int | dasd_generic_last_path_gone (struct dasd_device *) |
| |
| int | dasd_generic_path_operational (struct dasd_device *) |
| |
| void | dasd_generic_shutdown (struct ccw_device *) |
| |
| void | dasd_generic_handle_state_change (struct dasd_device *) |
| |
| int | dasd_generic_pm_freeze (struct ccw_device *) |
| |
| int | dasd_generic_restore_device (struct ccw_device *) |
| |
| enum uc_todo | dasd_generic_uc_handler (struct ccw_device *, struct irb *) |
| |
| void | dasd_generic_path_event (struct ccw_device *, int *) |
| |
| int | dasd_generic_verify_path (struct dasd_device *, __u8) |
| |
| int | dasd_generic_read_dev_chars (struct dasd_device *, int, void *, int) |
| |
| char * | dasd_get_sense (struct irb *) |
| |
| void | dasd_device_set_stop_bits (struct dasd_device *, int) |
| |
| void | dasd_device_remove_stop_bits (struct dasd_device *, int) |
| |
| int | dasd_device_is_ro (struct dasd_device *) |
| |
| void | dasd_profile_reset (struct dasd_profile *) |
| |
| int | dasd_profile_on (struct dasd_profile *) |
| |
| void | dasd_profile_off (struct dasd_profile *) |
| |
| void | dasd_global_profile_reset (void) |
| |
| char * | dasd_get_user_string (const char __user *, size_t) |
| |
| int | dasd_devmap_init (void) |
| |
| void | dasd_devmap_exit (void) |
| |
| struct dasd_device * | dasd_create_device (struct ccw_device *) |
| |
| void | dasd_delete_device (struct dasd_device *) |
| |
| int | dasd_get_feature (struct ccw_device *, int) |
| |
| int | dasd_set_feature (struct ccw_device *, int, int) |
| |
| int | dasd_add_sysfs_files (struct ccw_device *) |
| |
| void | dasd_remove_sysfs_files (struct ccw_device *) |
| |
| struct dasd_device * | dasd_device_from_cdev (struct ccw_device *) |
| |
| struct dasd_device * | dasd_device_from_cdev_locked (struct ccw_device *) |
| |
| struct dasd_device * | dasd_device_from_devindex (int) |
| |
| void | dasd_add_link_to_gendisk (struct gendisk *, struct dasd_device *) |
| |
| struct dasd_device * | dasd_device_from_gendisk (struct gendisk *) |
| |
| int | dasd_parse (void) |
| |
| int | dasd_busid_known (const char *) |
| |
| int | dasd_gendisk_init (void) |
| |
| void | dasd_gendisk_exit (void) |
| |
| int | dasd_gendisk_alloc (struct dasd_block *) |
| |
| void | dasd_gendisk_free (struct dasd_block *) |
| |
| int | dasd_scan_partitions (struct dasd_block *) |
| |
| void | dasd_destroy_partitions (struct dasd_block *) |
| |
| int | dasd_ioctl (struct block_device *, fmode_t, unsigned int, unsigned long) |
| |
| int | dasd_proc_init (void) |
| |
| void | dasd_proc_exit (void) |
| |
| struct dasd_ccw_req * | dasd_default_erp_action (struct dasd_ccw_req *) |
| |
| struct dasd_ccw_req * | dasd_default_erp_postaction (struct dasd_ccw_req *) |
| |
| struct dasd_ccw_req * | dasd_alloc_erp_request (char *, int, int, struct dasd_device *) |
| |
| void | dasd_free_erp_request (struct dasd_ccw_req *, struct dasd_device *) |
| |
| void | dasd_log_sense (struct dasd_ccw_req *, struct irb *) |
| |
| void | dasd_log_sense_dbf (struct dasd_ccw_req *cqr, struct irb *irb) |
| |
| struct dasd_ccw_req * | dasd_3990_erp_action (struct dasd_ccw_req *) |
| |
| void | dasd_3990_erp_handle_sim (struct dasd_device *, char *) |
| |
Packet vector entry.
This data structure is used with netio_send_packet_vector() to send multiple packets with one NetIO call. The structure should be initialized by calling netio_pkt_vector_set(), rather than by setting the fields directly.
This structure is guaranteed to be a power of two in size, no bigger than one L2 cache line, and to be aligned modulo its size.
Reserved for use by the user application. When initialized with the netio_set_pkt_vector_entry() function, this field is guaranteed to be visible to readers only after all other fields are already visible. This way it can be used as a valid flag or generation counter.
Low 8 bits of the packet address to send. The high bits are acquired from the 'handle' field.
Number of bytes to transmit.
The raw handle from a netio_pkt_t. If this is NETIO_PKT_HANDLE_NONE, this vector entry will be skipped and no packet will be transmitted.
Definition at line 9 of file extable.c.