scsi_diskRegular
4.4: ✅struct scsi_disk {
struct scsi_driver *driver;
struct scsi_device *device;
struct device dev;
struct gendisk *disk;
atomic_t openers;
sector_t capacity;
u32 max_xfer_blocks;
u32 opt_xfer_blocks;
u32 max_ws_blocks;
u32 max_unmap_blocks;
u32 unmap_granularity;
u32 unmap_alignment;
u32 index;
unsigned int physical_block_size;
unsigned int max_medium_access_timeouts;
unsigned int medium_access_timed_out;
u8 media_present;
u8 write_prot;
u8 protection_type;
u8 provisioning_mode;
unsigned int ATO;
unsigned int cache_override;
unsigned int WCE;
unsigned int RCD;
unsigned int DPOFUA;
unsigned int first_scan;
unsigned int lbpme;
unsigned int lbprz;
unsigned int lbpu;
unsigned int lbpws;
unsigned int lbpws10;
unsigned int lbpvpd;
unsigned int ws10;
unsigned int ws16;
};
4.8: ✅struct scsi_disk {
struct scsi_driver *driver;
struct scsi_device *device;
struct device dev;
struct gendisk *disk;
atomic_t openers;
sector_t capacity;
u32 max_xfer_blocks;
u32 opt_xfer_blocks;
u32 max_ws_blocks;
u32 max_unmap_blocks;
u32 unmap_granularity;
u32 unmap_alignment;
u32 index;
unsigned int physical_block_size;
unsigned int max_medium_access_timeouts;
unsigned int medium_access_timed_out;
u8 media_present;
u8 write_prot;
u8 protection_type;
u8 provisioning_mode;
unsigned int ATO;
unsigned int cache_override;
unsigned int WCE;
unsigned int RCD;
unsigned int DPOFUA;
unsigned int first_scan;
unsigned int lbpme;
unsigned int lbprz;
unsigned int lbpu;
unsigned int lbpws;
unsigned int lbpws10;
unsigned int lbpvpd;
unsigned int ws10;
unsigned int ws16;
};
4.10: ✅struct scsi_disk {
struct scsi_driver *driver;
struct scsi_device *device;
struct device dev;
struct gendisk *disk;
unsigned int nr_zones;
unsigned int zone_blocks;
unsigned int zone_shift;
long unsigned int *zones_wlock;
unsigned int zones_optimal_open;
unsigned int zones_optimal_nonseq;
unsigned int zones_max_open;
atomic_t openers;
sector_t capacity;
u32 max_xfer_blocks;
u32 opt_xfer_blocks;
u32 max_ws_blocks;
u32 max_unmap_blocks;
u32 unmap_granularity;
u32 unmap_alignment;
u32 index;
unsigned int physical_block_size;
unsigned int max_medium_access_timeouts;
unsigned int medium_access_timed_out;
u8 media_present;
u8 write_prot;
u8 protection_type;
u8 provisioning_mode;
unsigned int ATO;
unsigned int cache_override;
unsigned int WCE;
unsigned int RCD;
unsigned int DPOFUA;
unsigned int first_scan;
unsigned int lbpme;
unsigned int lbprz;
unsigned int lbpu;
unsigned int lbpws;
unsigned int lbpws10;
unsigned int lbpvpd;
unsigned int ws10;
unsigned int ws16;
unsigned int rc_basis;
unsigned int zoned;
unsigned int urswrz;
};
4.13: ✅struct scsi_disk {
struct scsi_driver *driver;
struct scsi_device *device;
struct device dev;
struct gendisk *disk;
struct opal_dev *opal_dev;
unsigned int nr_zones;
unsigned int zone_blocks;
unsigned int zone_shift;
long unsigned int *zones_wlock;
unsigned int zones_optimal_open;
unsigned int zones_optimal_nonseq;
unsigned int zones_max_open;
atomic_t openers;
sector_t capacity;
u32 max_xfer_blocks;
u32 opt_xfer_blocks;
u32 max_ws_blocks;
u32 max_unmap_blocks;
u32 unmap_granularity;
u32 unmap_alignment;
u32 index;
unsigned int physical_block_size;
unsigned int max_medium_access_timeouts;
unsigned int medium_access_timed_out;
u8 media_present;
u8 write_prot;
u8 protection_type;
u8 provisioning_mode;
u8 zeroing_mode;
unsigned int ATO;
unsigned int cache_override;
unsigned int WCE;
unsigned int RCD;
unsigned int DPOFUA;
unsigned int first_scan;
unsigned int lbpme;
unsigned int lbprz;
unsigned int lbpu;
unsigned int lbpws;
unsigned int lbpws10;
unsigned int lbpvpd;
unsigned int ws10;
unsigned int ws16;
unsigned int rc_basis;
unsigned int zoned;
unsigned int urswrz;
unsigned int security;
unsigned int ignore_medium_access_errors;
};
4.15: ✅struct scsi_disk {
struct scsi_driver *driver;
struct scsi_device *device;
struct device dev;
struct gendisk *disk;
struct opal_dev *opal_dev;
unsigned int nr_zones;
unsigned int zone_blocks;
unsigned int zone_shift;
long unsigned int *zones_wlock;
unsigned int zones_optimal_open;
unsigned int zones_optimal_nonseq;
unsigned int zones_max_open;
atomic_t openers;
sector_t capacity;
u32 max_xfer_blocks;
u32 opt_xfer_blocks;
u32 max_ws_blocks;
u32 max_unmap_blocks;
u32 unmap_granularity;
u32 unmap_alignment;
u32 index;
unsigned int physical_block_size;
unsigned int max_medium_access_timeouts;
unsigned int medium_access_timed_out;
u8 media_present;
u8 write_prot;
u8 protection_type;
u8 provisioning_mode;
u8 zeroing_mode;
unsigned int ATO;
unsigned int cache_override;
unsigned int WCE;
unsigned int RCD;
unsigned int DPOFUA;
unsigned int first_scan;
unsigned int lbpme;
unsigned int lbprz;
unsigned int lbpu;
unsigned int lbpws;
unsigned int lbpws10;
unsigned int lbpvpd;
unsigned int ws10;
unsigned int ws16;
unsigned int rc_basis;
unsigned int zoned;
unsigned int urswrz;
unsigned int security;
unsigned int ignore_medium_access_errors;
};
4.18: ✅struct scsi_disk {
struct scsi_driver *driver;
struct scsi_device *device;
struct device dev;
struct gendisk *disk;
struct opal_dev *opal_dev;
u32 nr_zones;
u32 zone_blocks;
u32 zone_shift;
u32 zones_optimal_open;
u32 zones_optimal_nonseq;
u32 zones_max_open;
atomic_t openers;
sector_t capacity;
u32 max_xfer_blocks;
u32 opt_xfer_blocks;
u32 max_ws_blocks;
u32 max_unmap_blocks;
u32 unmap_granularity;
u32 unmap_alignment;
u32 index;
unsigned int physical_block_size;
unsigned int max_medium_access_timeouts;
unsigned int medium_access_timed_out;
u8 media_present;
u8 write_prot;
u8 protection_type;
u8 provisioning_mode;
u8 zeroing_mode;
unsigned int ATO;
unsigned int cache_override;
unsigned int WCE;
unsigned int RCD;
unsigned int DPOFUA;
unsigned int first_scan;
unsigned int lbpme;
unsigned int lbprz;
unsigned int lbpu;
unsigned int lbpws;
unsigned int lbpws10;
unsigned int lbpvpd;
unsigned int ws10;
unsigned int ws16;
unsigned int rc_basis;
unsigned int zoned;
unsigned int urswrz;
unsigned int security;
unsigned int ignore_medium_access_errors;
};
5.0: ✅struct scsi_disk {
struct scsi_driver *driver;
struct scsi_device *device;
struct device dev;
struct gendisk *disk;
struct opal_dev *opal_dev;
u32 nr_zones;
u32 zone_blocks;
u32 zones_optimal_open;
u32 zones_optimal_nonseq;
u32 zones_max_open;
atomic_t openers;
sector_t capacity;
u32 max_xfer_blocks;
u32 opt_xfer_blocks;
u32 max_ws_blocks;
u32 max_unmap_blocks;
u32 unmap_granularity;
u32 unmap_alignment;
u32 index;
unsigned int physical_block_size;
unsigned int max_medium_access_timeouts;
unsigned int medium_access_timed_out;
u8 media_present;
u8 write_prot;
u8 protection_type;
u8 provisioning_mode;
u8 zeroing_mode;
unsigned int ATO;
unsigned int cache_override;
unsigned int WCE;
unsigned int RCD;
unsigned int DPOFUA;
unsigned int first_scan;
unsigned int lbpme;
unsigned int lbprz;
unsigned int lbpu;
unsigned int lbpws;
unsigned int lbpws10;
unsigned int lbpvpd;
unsigned int ws10;
unsigned int ws16;
unsigned int rc_basis;
unsigned int zoned;
unsigned int urswrz;
unsigned int security;
unsigned int ignore_medium_access_errors;
};
5.3: ✅struct scsi_disk {
struct scsi_driver *driver;
struct scsi_device *device;
struct device dev;
struct gendisk *disk;
struct opal_dev *opal_dev;
u32 nr_zones;
u32 zone_blocks;
u32 zones_optimal_open;
u32 zones_optimal_nonseq;
u32 zones_max_open;
atomic_t openers;
sector_t capacity;
u32 max_xfer_blocks;
u32 opt_xfer_blocks;
u32 max_ws_blocks;
u32 max_unmap_blocks;
u32 unmap_granularity;
u32 unmap_alignment;
u32 index;
unsigned int physical_block_size;
unsigned int max_medium_access_timeouts;
unsigned int medium_access_timed_out;
u8 media_present;
u8 write_prot;
u8 protection_type;
u8 provisioning_mode;
u8 zeroing_mode;
unsigned int ATO;
unsigned int cache_override;
unsigned int WCE;
unsigned int RCD;
unsigned int DPOFUA;
unsigned int first_scan;
unsigned int lbpme;
unsigned int lbprz;
unsigned int lbpu;
unsigned int lbpws;
unsigned int lbpws10;
unsigned int lbpvpd;
unsigned int ws10;
unsigned int ws16;
unsigned int rc_basis;
unsigned int zoned;
unsigned int urswrz;
unsigned int security;
unsigned int ignore_medium_access_errors;
};
5.4: ✅struct scsi_disk {
struct scsi_driver *driver;
struct scsi_device *device;
struct device dev;
struct gendisk *disk;
struct opal_dev *opal_dev;
u32 nr_zones;
u32 zone_blocks;
u32 zones_optimal_open;
u32 zones_optimal_nonseq;
u32 zones_max_open;
atomic_t openers;
sector_t capacity;
u32 max_xfer_blocks;
u32 opt_xfer_blocks;
u32 max_ws_blocks;
u32 max_unmap_blocks;
u32 unmap_granularity;
u32 unmap_alignment;
u32 index;
unsigned int physical_block_size;
unsigned int max_medium_access_timeouts;
unsigned int medium_access_timed_out;
u8 media_present;
u8 write_prot;
u8 protection_type;
u8 provisioning_mode;
u8 zeroing_mode;
unsigned int ATO;
unsigned int cache_override;
unsigned int WCE;
unsigned int RCD;
unsigned int DPOFUA;
unsigned int first_scan;
unsigned int lbpme;
unsigned int lbprz;
unsigned int lbpu;
unsigned int lbpws;
unsigned int lbpws10;
unsigned int lbpvpd;
unsigned int ws10;
unsigned int ws16;
unsigned int rc_basis;
unsigned int zoned;
unsigned int urswrz;
unsigned int security;
unsigned int ignore_medium_access_errors;
};
5.8: ✅struct scsi_disk {
struct scsi_driver *driver;
struct scsi_device *device;
struct device dev;
struct gendisk *disk;
struct opal_dev *opal_dev;
u32 nr_zones;
u32 zone_blocks;
u32 zones_optimal_open;
u32 zones_optimal_nonseq;
u32 zones_max_open;
u32 *zones_wp_offset;
spinlock_t zones_wp_offset_lock;
u32 *rev_wp_offset;
struct mutex rev_mutex;
struct work_struct zone_wp_offset_work;
char *zone_wp_update_buf;
atomic_t openers;
sector_t capacity;
u32 max_xfer_blocks;
u32 opt_xfer_blocks;
u32 max_ws_blocks;
u32 max_unmap_blocks;
u32 unmap_granularity;
u32 unmap_alignment;
u32 index;
unsigned int physical_block_size;
unsigned int max_medium_access_timeouts;
unsigned int medium_access_timed_out;
u8 media_present;
u8 write_prot;
u8 protection_type;
u8 provisioning_mode;
u8 zeroing_mode;
unsigned int ATO;
unsigned int cache_override;
unsigned int WCE;
unsigned int RCD;
unsigned int DPOFUA;
unsigned int first_scan;
unsigned int lbpme;
unsigned int lbprz;
unsigned int lbpu;
unsigned int lbpws;
unsigned int lbpws10;
unsigned int lbpvpd;
unsigned int ws10;
unsigned int ws16;
unsigned int rc_basis;
unsigned int zoned;
unsigned int urswrz;
unsigned int security;
unsigned int ignore_medium_access_errors;
};
5.11: ✅struct scsi_disk {
struct scsi_driver *driver;
struct scsi_device *device;
struct device dev;
struct gendisk *disk;
struct opal_dev *opal_dev;
u32 nr_zones;
u32 rev_nr_zones;
u32 zone_blocks;
u32 rev_zone_blocks;
u32 zones_optimal_open;
u32 zones_optimal_nonseq;
u32 zones_max_open;
u32 *zones_wp_offset;
spinlock_t zones_wp_offset_lock;
u32 *rev_wp_offset;
struct mutex rev_mutex;
struct work_struct zone_wp_offset_work;
char *zone_wp_update_buf;
atomic_t openers;
sector_t capacity;
int max_retries;
u32 max_xfer_blocks;
u32 opt_xfer_blocks;
u32 max_ws_blocks;
u32 max_unmap_blocks;
u32 unmap_granularity;
u32 unmap_alignment;
u32 index;
unsigned int physical_block_size;
unsigned int max_medium_access_timeouts;
unsigned int medium_access_timed_out;
u8 media_present;
u8 write_prot;
u8 protection_type;
u8 provisioning_mode;
u8 zeroing_mode;
unsigned int ATO;
unsigned int cache_override;
unsigned int WCE;
unsigned int RCD;
unsigned int DPOFUA;
unsigned int first_scan;
unsigned int lbpme;
unsigned int lbprz;
unsigned int lbpu;
unsigned int lbpws;
unsigned int lbpws10;
unsigned int lbpvpd;
unsigned int ws10;
unsigned int ws16;
unsigned int rc_basis;
unsigned int zoned;
unsigned int urswrz;
unsigned int security;
unsigned int ignore_medium_access_errors;
};
5.13: ✅struct scsi_disk {
struct scsi_driver *driver;
struct scsi_device *device;
struct device dev;
struct gendisk *disk;
struct opal_dev *opal_dev;
u32 nr_zones;
u32 rev_nr_zones;
u32 zone_blocks;
u32 rev_zone_blocks;
u32 zones_optimal_open;
u32 zones_optimal_nonseq;
u32 zones_max_open;
u32 *zones_wp_offset;
spinlock_t zones_wp_offset_lock;
u32 *rev_wp_offset;
struct mutex rev_mutex;
struct work_struct zone_wp_offset_work;
char *zone_wp_update_buf;
atomic_t openers;
sector_t capacity;
int max_retries;
u32 max_xfer_blocks;
u32 opt_xfer_blocks;
u32 max_ws_blocks;
u32 max_unmap_blocks;
u32 unmap_granularity;
u32 unmap_alignment;
u32 index;
unsigned int physical_block_size;
unsigned int max_medium_access_timeouts;
unsigned int medium_access_timed_out;
u8 media_present;
u8 write_prot;
u8 protection_type;
u8 provisioning_mode;
u8 zeroing_mode;
unsigned int ATO;
unsigned int cache_override;
unsigned int WCE;
unsigned int RCD;
unsigned int DPOFUA;
unsigned int first_scan;
unsigned int lbpme;
unsigned int lbprz;
unsigned int lbpu;
unsigned int lbpws;
unsigned int lbpws10;
unsigned int lbpvpd;
unsigned int ws10;
unsigned int ws16;
unsigned int rc_basis;
unsigned int zoned;
unsigned int urswrz;
unsigned int security;
unsigned int ignore_medium_access_errors;
};
5.15: ✅struct scsi_disk {
struct scsi_driver *driver;
struct scsi_device *device;
struct device dev;
struct gendisk *disk;
struct opal_dev *opal_dev;
u32 nr_zones;
u32 rev_nr_zones;
u32 zone_blocks;
u32 rev_zone_blocks;
u32 zones_optimal_open;
u32 zones_optimal_nonseq;
u32 zones_max_open;
u32 *zones_wp_offset;
spinlock_t zones_wp_offset_lock;
u32 *rev_wp_offset;
struct mutex rev_mutex;
struct work_struct zone_wp_offset_work;
char *zone_wp_update_buf;
atomic_t openers;
sector_t capacity;
int max_retries;
u32 max_xfer_blocks;
u32 opt_xfer_blocks;
u32 max_ws_blocks;
u32 max_unmap_blocks;
u32 unmap_granularity;
u32 unmap_alignment;
u32 index;
unsigned int physical_block_size;
unsigned int max_medium_access_timeouts;
unsigned int medium_access_timed_out;
u8 media_present;
u8 write_prot;
u8 protection_type;
u8 provisioning_mode;
u8 zeroing_mode;
unsigned int ATO;
unsigned int cache_override;
unsigned int WCE;
unsigned int RCD;
unsigned int DPOFUA;
unsigned int first_scan;
unsigned int lbpme;
unsigned int lbprz;
unsigned int lbpu;
unsigned int lbpws;
unsigned int lbpws10;
unsigned int lbpvpd;
unsigned int ws10;
unsigned int ws16;
unsigned int rc_basis;
unsigned int zoned;
unsigned int urswrz;
unsigned int security;
unsigned int ignore_medium_access_errors;
};
5.19: ✅struct scsi_disk {
struct scsi_device *device;
struct device disk_dev;
struct gendisk *disk;
struct opal_dev *opal_dev;
struct zoned_disk_info early_zone_info;
struct zoned_disk_info zone_info;
u32 zones_optimal_open;
u32 zones_optimal_nonseq;
u32 zones_max_open;
u32 zone_starting_lba_gran;
u32 *zones_wp_offset;
spinlock_t zones_wp_offset_lock;
u32 *rev_wp_offset;
struct mutex rev_mutex;
struct work_struct zone_wp_offset_work;
char *zone_wp_update_buf;
atomic_t openers;
sector_t capacity;
int max_retries;
u32 min_xfer_blocks;
u32 max_xfer_blocks;
u32 opt_xfer_blocks;
u32 max_ws_blocks;
u32 max_unmap_blocks;
u32 unmap_granularity;
u32 unmap_alignment;
u32 index;
unsigned int physical_block_size;
unsigned int max_medium_access_timeouts;
unsigned int medium_access_timed_out;
u8 media_present;
u8 write_prot;
u8 protection_type;
u8 provisioning_mode;
u8 zeroing_mode;
u8 nr_actuators;
unsigned int ATO;
unsigned int cache_override;
unsigned int WCE;
unsigned int RCD;
unsigned int DPOFUA;
unsigned int first_scan;
unsigned int lbpme;
unsigned int lbprz;
unsigned int lbpu;
unsigned int lbpws;
unsigned int lbpws10;
unsigned int lbpvpd;
unsigned int ws10;
unsigned int ws16;
unsigned int rc_basis;
unsigned int zoned;
unsigned int urswrz;
unsigned int security;
unsigned int ignore_medium_access_errors;
};
6.2: ✅struct scsi_disk {
struct scsi_device *device;
struct device disk_dev;
struct gendisk *disk;
struct opal_dev *opal_dev;
struct zoned_disk_info early_zone_info;
struct zoned_disk_info zone_info;
u32 zones_optimal_open;
u32 zones_optimal_nonseq;
u32 zones_max_open;
u32 zone_starting_lba_gran;
u32 *zones_wp_offset;
spinlock_t zones_wp_offset_lock;
u32 *rev_wp_offset;
struct mutex rev_mutex;
struct work_struct zone_wp_offset_work;
char *zone_wp_update_buf;
atomic_t openers;
sector_t capacity;
int max_retries;
u32 min_xfer_blocks;
u32 max_xfer_blocks;
u32 opt_xfer_blocks;
u32 max_ws_blocks;
u32 max_unmap_blocks;
u32 unmap_granularity;
u32 unmap_alignment;
u32 index;
unsigned int physical_block_size;
unsigned int max_medium_access_timeouts;
unsigned int medium_access_timed_out;
u8 media_present;
u8 write_prot;
u8 protection_type;
u8 provisioning_mode;
u8 zeroing_mode;
u8 nr_actuators;
unsigned int ATO;
unsigned int cache_override;
unsigned int WCE;
unsigned int RCD;
unsigned int DPOFUA;
unsigned int first_scan;
unsigned int lbpme;
unsigned int lbprz;
unsigned int lbpu;
unsigned int lbpws;
unsigned int lbpws10;
unsigned int lbpvpd;
unsigned int ws10;
unsigned int ws16;
unsigned int rc_basis;
unsigned int zoned;
unsigned int urswrz;
unsigned int security;
unsigned int ignore_medium_access_errors;
};
6.5: ✅struct scsi_disk {
struct scsi_device *device;
struct device disk_dev;
struct gendisk *disk;
struct opal_dev *opal_dev;
struct zoned_disk_info early_zone_info;
struct zoned_disk_info zone_info;
u32 zones_optimal_open;
u32 zones_optimal_nonseq;
u32 zones_max_open;
u32 zone_starting_lba_gran;
u32 *zones_wp_offset;
spinlock_t zones_wp_offset_lock;
u32 *rev_wp_offset;
struct mutex rev_mutex;
struct work_struct zone_wp_offset_work;
char *zone_wp_update_buf;
atomic_t openers;
sector_t capacity;
int max_retries;
u32 min_xfer_blocks;
u32 max_xfer_blocks;
u32 opt_xfer_blocks;
u32 max_ws_blocks;
u32 max_unmap_blocks;
u32 unmap_granularity;
u32 unmap_alignment;
u32 index;
unsigned int physical_block_size;
unsigned int max_medium_access_timeouts;
unsigned int medium_access_timed_out;
u8 media_present;
u8 write_prot;
u8 protection_type;
u8 provisioning_mode;
u8 zeroing_mode;
u8 nr_actuators;
unsigned int ATO;
unsigned int cache_override;
unsigned int WCE;
unsigned int RCD;
unsigned int DPOFUA;
unsigned int first_scan;
unsigned int lbpme;
unsigned int lbprz;
unsigned int lbpu;
unsigned int lbpws;
unsigned int lbpws10;
unsigned int lbpvpd;
unsigned int ws10;
unsigned int ws16;
unsigned int rc_basis;
unsigned int zoned;
unsigned int urswrz;
unsigned int security;
unsigned int ignore_medium_access_errors;
};
6.8: ✅struct scsi_disk {
struct scsi_device *device;
struct device disk_dev;
struct gendisk *disk;
struct opal_dev *opal_dev;
struct zoned_disk_info early_zone_info;
struct zoned_disk_info zone_info;
u32 zones_optimal_open;
u32 zones_optimal_nonseq;
u32 zones_max_open;
u32 zone_starting_lba_gran;
u32 *zones_wp_offset;
spinlock_t zones_wp_offset_lock;
u32 *rev_wp_offset;
struct mutex rev_mutex;
struct work_struct zone_wp_offset_work;
char *zone_wp_update_buf;
atomic_t openers;
sector_t capacity;
int max_retries;
u32 min_xfer_blocks;
u32 max_xfer_blocks;
u32 opt_xfer_blocks;
u32 max_ws_blocks;
u32 max_unmap_blocks;
u32 unmap_granularity;
u32 unmap_alignment;
u32 index;
unsigned int physical_block_size;
unsigned int max_medium_access_timeouts;
unsigned int medium_access_timed_out;
u8 media_present;
u8 write_prot;
u8 protection_type;
u8 provisioning_mode;
u8 zeroing_mode;
u8 nr_actuators;
bool suspended;
unsigned int ATO;
unsigned int cache_override;
unsigned int WCE;
unsigned int RCD;
unsigned int DPOFUA;
unsigned int first_scan;
unsigned int lbpme;
unsigned int lbprz;
unsigned int lbpu;
unsigned int lbpws;
unsigned int lbpws10;
unsigned int lbpvpd;
unsigned int ws10;
unsigned int ws16;
unsigned int rc_basis;
unsigned int zoned;
unsigned int urswrz;
unsigned int security;
unsigned int ignore_medium_access_errors;
};
arm64: ✅struct scsi_disk {
struct scsi_driver *driver;
struct scsi_device *device;
struct device dev;
struct gendisk *disk;
struct opal_dev *opal_dev;
u32 nr_zones;
u32 zone_blocks;
u32 zones_optimal_open;
u32 zones_optimal_nonseq;
u32 zones_max_open;
atomic_t openers;
sector_t capacity;
u32 max_xfer_blocks;
u32 opt_xfer_blocks;
u32 max_ws_blocks;
u32 max_unmap_blocks;
u32 unmap_granularity;
u32 unmap_alignment;
u32 index;
unsigned int physical_block_size;
unsigned int max_medium_access_timeouts;
unsigned int medium_access_timed_out;
u8 media_present;
u8 write_prot;
u8 protection_type;
u8 provisioning_mode;
u8 zeroing_mode;
unsigned int ATO;
unsigned int cache_override;
unsigned int WCE;
unsigned int RCD;
unsigned int DPOFUA;
unsigned int first_scan;
unsigned int lbpme;
unsigned int lbprz;
unsigned int lbpu;
unsigned int lbpws;
unsigned int lbpws10;
unsigned int lbpvpd;
unsigned int ws10;
unsigned int ws16;
unsigned int rc_basis;
unsigned int zoned;
unsigned int urswrz;
unsigned int security;
unsigned int ignore_medium_access_errors;
};
armhf: ✅struct scsi_disk {
struct scsi_driver *driver;
struct scsi_device *device;
struct device dev;
struct gendisk *disk;
struct opal_dev *opal_dev;
u32 nr_zones;
u32 zone_blocks;
u32 zones_optimal_open;
u32 zones_optimal_nonseq;
u32 zones_max_open;
atomic_t openers;
sector_t capacity;
u32 max_xfer_blocks;
u32 opt_xfer_blocks;
u32 max_ws_blocks;
u32 max_unmap_blocks;
u32 unmap_granularity;
u32 unmap_alignment;
u32 index;
unsigned int physical_block_size;
unsigned int max_medium_access_timeouts;
unsigned int medium_access_timed_out;
u8 media_present;
u8 write_prot;
u8 protection_type;
u8 provisioning_mode;
u8 zeroing_mode;
unsigned int ATO;
unsigned int cache_override;
unsigned int WCE;
unsigned int RCD;
unsigned int DPOFUA;
unsigned int first_scan;
unsigned int lbpme;
unsigned int lbprz;
unsigned int lbpu;
unsigned int lbpws;
unsigned int lbpws10;
unsigned int lbpvpd;
unsigned int ws10;
unsigned int ws16;
unsigned int rc_basis;
unsigned int zoned;
unsigned int urswrz;
unsigned int security;
unsigned int ignore_medium_access_errors;
};
ppc64el: ✅struct scsi_disk {
struct scsi_driver *driver;
struct scsi_device *device;
struct device dev;
struct gendisk *disk;
struct opal_dev *opal_dev;
u32 nr_zones;
u32 zone_blocks;
u32 zones_optimal_open;
u32 zones_optimal_nonseq;
u32 zones_max_open;
atomic_t openers;
sector_t capacity;
u32 max_xfer_blocks;
u32 opt_xfer_blocks;
u32 max_ws_blocks;
u32 max_unmap_blocks;
u32 unmap_granularity;
u32 unmap_alignment;
u32 index;
unsigned int physical_block_size;
unsigned int max_medium_access_timeouts;
unsigned int medium_access_timed_out;
u8 media_present;
u8 write_prot;
u8 protection_type;
u8 provisioning_mode;
u8 zeroing_mode;
unsigned int ATO;
unsigned int cache_override;
unsigned int WCE;
unsigned int RCD;
unsigned int DPOFUA;
unsigned int first_scan;
unsigned int lbpme;
unsigned int lbprz;
unsigned int lbpu;
unsigned int lbpws;
unsigned int lbpws10;
unsigned int lbpvpd;
unsigned int ws10;
unsigned int ws16;
unsigned int rc_basis;
unsigned int zoned;
unsigned int urswrz;
unsigned int security;
unsigned int ignore_medium_access_errors;
};
riscv64: ✅struct scsi_disk {
struct scsi_driver *driver;
struct scsi_device *device;
struct device dev;
struct gendisk *disk;
struct opal_dev *opal_dev;
u32 nr_zones;
u32 zone_blocks;
u32 zones_optimal_open;
u32 zones_optimal_nonseq;
u32 zones_max_open;
atomic_t openers;
sector_t capacity;
u32 max_xfer_blocks;
u32 opt_xfer_blocks;
u32 max_ws_blocks;
u32 max_unmap_blocks;
u32 unmap_granularity;
u32 unmap_alignment;
u32 index;
unsigned int physical_block_size;
unsigned int max_medium_access_timeouts;
unsigned int medium_access_timed_out;
u8 media_present;
u8 write_prot;
u8 protection_type;
u8 provisioning_mode;
u8 zeroing_mode;
unsigned int ATO;
unsigned int cache_override;
unsigned int WCE;
unsigned int RCD;
unsigned int DPOFUA;
unsigned int first_scan;
unsigned int lbpme;
unsigned int lbprz;
unsigned int lbpu;
unsigned int lbpws;
unsigned int lbpws10;
unsigned int lbpvpd;
unsigned int ws10;
unsigned int ws16;
unsigned int rc_basis;
unsigned int zoned;
unsigned int urswrz;
unsigned int security;
unsigned int ignore_medium_access_errors;
};
aws: ✅struct scsi_disk {
struct scsi_driver *driver;
struct scsi_device *device;
struct device dev;
struct gendisk *disk;
struct opal_dev *opal_dev;
u32 nr_zones;
u32 zone_blocks;
u32 zones_optimal_open;
u32 zones_optimal_nonseq;
u32 zones_max_open;
atomic_t openers;
sector_t capacity;
u32 max_xfer_blocks;
u32 opt_xfer_blocks;
u32 max_ws_blocks;
u32 max_unmap_blocks;
u32 unmap_granularity;
u32 unmap_alignment;
u32 index;
unsigned int physical_block_size;
unsigned int max_medium_access_timeouts;
unsigned int medium_access_timed_out;
u8 media_present;
u8 write_prot;
u8 protection_type;
u8 provisioning_mode;
u8 zeroing_mode;
unsigned int ATO;
unsigned int cache_override;
unsigned int WCE;
unsigned int RCD;
unsigned int DPOFUA;
unsigned int first_scan;
unsigned int lbpme;
unsigned int lbprz;
unsigned int lbpu;
unsigned int lbpws;
unsigned int lbpws10;
unsigned int lbpvpd;
unsigned int ws10;
unsigned int ws16;
unsigned int rc_basis;
unsigned int zoned;
unsigned int urswrz;
unsigned int security;
unsigned int ignore_medium_access_errors;
};
azure: ✅struct scsi_disk {
struct scsi_driver *driver;
struct scsi_device *device;
struct device dev;
struct gendisk *disk;
struct opal_dev *opal_dev;
u32 nr_zones;
u32 zone_blocks;
u32 zones_optimal_open;
u32 zones_optimal_nonseq;
u32 zones_max_open;
atomic_t openers;
sector_t capacity;
u32 max_xfer_blocks;
u32 opt_xfer_blocks;
u32 max_ws_blocks;
u32 max_unmap_blocks;
u32 unmap_granularity;
u32 unmap_alignment;
u32 index;
unsigned int physical_block_size;
unsigned int max_medium_access_timeouts;
unsigned int medium_access_timed_out;
u8 media_present;
u8 write_prot;
u8 protection_type;
u8 provisioning_mode;
u8 zeroing_mode;
unsigned int ATO;
unsigned int cache_override;
unsigned int WCE;
unsigned int RCD;
unsigned int DPOFUA;
unsigned int first_scan;
unsigned int lbpme;
unsigned int lbprz;
unsigned int lbpu;
unsigned int lbpws;
unsigned int lbpws10;
unsigned int lbpvpd;
unsigned int ws10;
unsigned int ws16;
unsigned int rc_basis;
unsigned int zoned;
unsigned int urswrz;
unsigned int security;
unsigned int ignore_medium_access_errors;
};
gcp: ✅struct scsi_disk {
struct scsi_driver *driver;
struct scsi_device *device;
struct device dev;
struct gendisk *disk;
struct opal_dev *opal_dev;
u32 nr_zones;
u32 zone_blocks;
u32 zones_optimal_open;
u32 zones_optimal_nonseq;
u32 zones_max_open;
atomic_t openers;
sector_t capacity;
u32 max_xfer_blocks;
u32 opt_xfer_blocks;
u32 max_ws_blocks;
u32 max_unmap_blocks;
u32 unmap_granularity;
u32 unmap_alignment;
u32 index;
unsigned int physical_block_size;
unsigned int max_medium_access_timeouts;
unsigned int medium_access_timed_out;
u8 media_present;
u8 write_prot;
u8 protection_type;
u8 provisioning_mode;
u8 zeroing_mode;
unsigned int ATO;
unsigned int cache_override;
unsigned int WCE;
unsigned int RCD;
unsigned int DPOFUA;
unsigned int first_scan;
unsigned int lbpme;
unsigned int lbprz;
unsigned int lbpu;
unsigned int lbpws;
unsigned int lbpws10;
unsigned int lbpvpd;
unsigned int ws10;
unsigned int ws16;
unsigned int rc_basis;
unsigned int zoned;
unsigned int urswrz;
unsigned int security;
unsigned int ignore_medium_access_errors;
};
lowlatency: ✅struct scsi_disk {
struct scsi_driver *driver;
struct scsi_device *device;
struct device dev;
struct gendisk *disk;
struct opal_dev *opal_dev;
u32 nr_zones;
u32 zone_blocks;
u32 zones_optimal_open;
u32 zones_optimal_nonseq;
u32 zones_max_open;
atomic_t openers;
sector_t capacity;
u32 max_xfer_blocks;
u32 opt_xfer_blocks;
u32 max_ws_blocks;
u32 max_unmap_blocks;
u32 unmap_granularity;
u32 unmap_alignment;
u32 index;
unsigned int physical_block_size;
unsigned int max_medium_access_timeouts;
unsigned int medium_access_timed_out;
u8 media_present;
u8 write_prot;
u8 protection_type;
u8 provisioning_mode;
u8 zeroing_mode;
unsigned int ATO;
unsigned int cache_override;
unsigned int WCE;
unsigned int RCD;
unsigned int DPOFUA;
unsigned int first_scan;
unsigned int lbpme;
unsigned int lbprz;
unsigned int lbpu;
unsigned int lbpws;
unsigned int lbpws10;
unsigned int lbpvpd;
unsigned int ws10;
unsigned int ws16;
unsigned int rc_basis;
unsigned int zoned;
unsigned int urswrz;
unsigned int security;
unsigned int ignore_medium_access_errors;
};
Regular
4.4 and 4.8 ✅
4.8 and 4.10 ⚠️unsigned int nr_zones
unsigned int zone_blocks
unsigned int zone_shift
long unsigned int *zones_wlock
unsigned int zones_optimal_open
unsigned int zones_optimal_nonseq
unsigned int zones_max_open
unsigned int rc_basis
unsigned int zoned
unsigned int urswrz
4.10 and 4.13 ⚠️struct opal_dev *opal_dev
u8 zeroing_mode
unsigned int security
unsigned int ignore_medium_access_errors
4.13 and 4.15 ✅
4.15 and 4.18 ⚠️long unsigned int *zones_wlock
unsigned int nr_zones ➡️ u32 nr_zones
unsigned int zone_blocks ➡️ u32 zone_blocks
unsigned int zone_shift ➡️ u32 zone_shift
unsigned int zones_optimal_open ➡️ u32 zones_optimal_open
unsigned int zones_optimal_nonseq ➡️ u32 zones_optimal_nonseq
unsigned int zones_max_open ➡️ u32 zones_max_open
4.18 and 5.0 ⚠️u32 zone_shift
5.0 and 5.3 ✅
5.3 and 5.4 ✅
5.4 and 5.8 ⚠️u32 *zones_wp_offset
spinlock_t zones_wp_offset_lock
u32 *rev_wp_offset
struct mutex rev_mutex
struct work_struct zone_wp_offset_work
char *zone_wp_update_buf
5.8 and 5.11 ⚠️u32 rev_nr_zones
u32 rev_zone_blocks
int max_retries
5.11 and 5.13 ✅
5.13 and 5.15 ✅
5.15 and 5.19 ⚠️struct device disk_dev
struct zoned_disk_info early_zone_info
struct zoned_disk_info zone_info
u32 zone_starting_lba_gran
u32 min_xfer_blocks
u8 nr_actuators
struct scsi_driver *driver
struct device dev
u32 nr_zones
u32 rev_nr_zones
u32 zone_blocks
u32 rev_zone_blocks
5.19 and 6.2 ✅
6.2 and 6.5 ✅
6.5 and 6.8 ⚠️bool suspended
amd64 and arm64 ✅
amd64 and armhf ✅
amd64 and ppc64el ✅
amd64 and riscv64 ✅
generic and aws ✅
generic and azure ✅
generic and gcp ✅
generic and lowlatency ✅