block_deviceRegular
4.4: ✅struct block_device {
dev_t bd_dev;
int bd_openers;
struct inode *bd_inode;
struct super_block *bd_super;
struct mutex bd_mutex;
struct list_head bd_inodes;
void *bd_claiming;
void *bd_holder;
int bd_holders;
bool bd_write_holder;
struct list_head bd_holder_disks;
struct block_device *bd_contains;
unsigned int bd_block_size;
struct hd_struct *bd_part;
unsigned int bd_part_count;
int bd_invalidated;
struct gendisk *bd_disk;
struct request_queue *bd_queue;
struct list_head bd_list;
long unsigned int bd_private;
int bd_fsfreeze_count;
struct mutex bd_fsfreeze_mutex;
};
4.8: ✅struct block_device {
dev_t bd_dev;
int bd_openers;
struct inode *bd_inode;
struct super_block *bd_super;
struct mutex bd_mutex;
void *bd_claiming;
void *bd_holder;
int bd_holders;
bool bd_write_holder;
struct list_head bd_holder_disks;
struct block_device *bd_contains;
unsigned int bd_block_size;
struct hd_struct *bd_part;
unsigned int bd_part_count;
int bd_invalidated;
struct gendisk *bd_disk;
struct request_queue *bd_queue;
struct list_head bd_list;
long unsigned int bd_private;
int bd_fsfreeze_count;
struct mutex bd_fsfreeze_mutex;
};
4.10: ✅struct block_device {
dev_t bd_dev;
int bd_openers;
struct inode *bd_inode;
struct super_block *bd_super;
struct mutex bd_mutex;
void *bd_claiming;
void *bd_holder;
int bd_holders;
bool bd_write_holder;
struct list_head bd_holder_disks;
struct block_device *bd_contains;
unsigned int bd_block_size;
struct hd_struct *bd_part;
unsigned int bd_part_count;
int bd_invalidated;
struct gendisk *bd_disk;
struct request_queue *bd_queue;
struct list_head bd_list;
long unsigned int bd_private;
int bd_fsfreeze_count;
struct mutex bd_fsfreeze_mutex;
};
4.13: ✅struct block_device {
dev_t bd_dev;
int bd_openers;
struct inode *bd_inode;
struct super_block *bd_super;
struct mutex bd_mutex;
void *bd_claiming;
void *bd_holder;
int bd_holders;
bool bd_write_holder;
struct list_head bd_holder_disks;
struct block_device *bd_contains;
unsigned int bd_block_size;
struct hd_struct *bd_part;
unsigned int bd_part_count;
int bd_invalidated;
struct gendisk *bd_disk;
struct request_queue *bd_queue;
struct backing_dev_info *bd_bdi;
struct list_head bd_list;
long unsigned int bd_private;
int bd_fsfreeze_count;
struct mutex bd_fsfreeze_mutex;
};
4.15: ✅struct block_device {
dev_t bd_dev;
int bd_openers;
struct inode *bd_inode;
struct super_block *bd_super;
struct mutex bd_mutex;
void *bd_claiming;
void *bd_holder;
int bd_holders;
bool bd_write_holder;
struct list_head bd_holder_disks;
struct block_device *bd_contains;
unsigned int bd_block_size;
u8 bd_partno;
struct hd_struct *bd_part;
unsigned int bd_part_count;
int bd_invalidated;
struct gendisk *bd_disk;
struct request_queue *bd_queue;
struct backing_dev_info *bd_bdi;
struct list_head bd_list;
long unsigned int bd_private;
int bd_fsfreeze_count;
struct mutex bd_fsfreeze_mutex;
};
4.18: ✅struct block_device {
dev_t bd_dev;
int bd_openers;
struct inode *bd_inode;
struct super_block *bd_super;
struct mutex bd_mutex;
void *bd_claiming;
void *bd_holder;
int bd_holders;
bool bd_write_holder;
struct list_head bd_holder_disks;
struct block_device *bd_contains;
unsigned int bd_block_size;
u8 bd_partno;
struct hd_struct *bd_part;
unsigned int bd_part_count;
int bd_invalidated;
struct gendisk *bd_disk;
struct request_queue *bd_queue;
struct backing_dev_info *bd_bdi;
struct list_head bd_list;
long unsigned int bd_private;
int bd_fsfreeze_count;
struct mutex bd_fsfreeze_mutex;
};
5.0: ✅struct block_device {
dev_t bd_dev;
int bd_openers;
struct inode *bd_inode;
struct super_block *bd_super;
struct mutex bd_mutex;
void *bd_claiming;
void *bd_holder;
int bd_holders;
bool bd_write_holder;
struct list_head bd_holder_disks;
struct block_device *bd_contains;
unsigned int bd_block_size;
u8 bd_partno;
struct hd_struct *bd_part;
unsigned int bd_part_count;
int bd_invalidated;
struct gendisk *bd_disk;
struct request_queue *bd_queue;
struct backing_dev_info *bd_bdi;
struct list_head bd_list;
long unsigned int bd_private;
int bd_fsfreeze_count;
struct mutex bd_fsfreeze_mutex;
};
5.3: ✅struct block_device {
dev_t bd_dev;
int bd_openers;
struct inode *bd_inode;
struct super_block *bd_super;
struct mutex bd_mutex;
void *bd_claiming;
void *bd_holder;
int bd_holders;
bool bd_write_holder;
struct list_head bd_holder_disks;
struct block_device *bd_contains;
unsigned int bd_block_size;
u8 bd_partno;
struct hd_struct *bd_part;
unsigned int bd_part_count;
int bd_invalidated;
struct gendisk *bd_disk;
struct request_queue *bd_queue;
struct backing_dev_info *bd_bdi;
struct list_head bd_list;
long unsigned int bd_private;
int bd_fsfreeze_count;
struct mutex bd_fsfreeze_mutex;
};
5.4: ✅struct block_device {
dev_t bd_dev;
int bd_openers;
struct inode *bd_inode;
struct super_block *bd_super;
struct mutex bd_mutex;
void *bd_claiming;
void *bd_holder;
int bd_holders;
bool bd_write_holder;
struct list_head bd_holder_disks;
struct block_device *bd_contains;
unsigned int bd_block_size;
u8 bd_partno;
struct hd_struct *bd_part;
unsigned int bd_part_count;
int bd_invalidated;
struct gendisk *bd_disk;
struct request_queue *bd_queue;
struct backing_dev_info *bd_bdi;
struct list_head bd_list;
long unsigned int bd_private;
int bd_fsfreeze_count;
struct mutex bd_fsfreeze_mutex;
};
5.8: ✅struct block_device {
dev_t bd_dev;
int bd_openers;
struct inode *bd_inode;
struct super_block *bd_super;
struct mutex bd_mutex;
void *bd_claiming;
void *bd_holder;
int bd_holders;
bool bd_write_holder;
struct list_head bd_holder_disks;
struct block_device *bd_contains;
unsigned int bd_block_size;
u8 bd_partno;
struct hd_struct *bd_part;
unsigned int bd_part_count;
int bd_invalidated;
struct gendisk *bd_disk;
struct request_queue *bd_queue;
struct backing_dev_info *bd_bdi;
struct list_head bd_list;
long unsigned int bd_private;
int bd_fsfreeze_count;
struct mutex bd_fsfreeze_mutex;
};
5.11: ✅struct block_device {
sector_t bd_start_sect;
struct disk_stats *bd_stats;
long unsigned int bd_stamp;
bool bd_read_only;
dev_t bd_dev;
int bd_openers;
struct inode *bd_inode;
struct super_block *bd_super;
struct mutex bd_mutex;
void *bd_claiming;
struct device bd_device;
void *bd_holder;
int bd_holders;
bool bd_write_holder;
struct list_head bd_holder_disks;
struct kobject *bd_holder_dir;
u8 bd_partno;
unsigned int bd_part_count;
spinlock_t bd_size_lock;
struct gendisk *bd_disk;
struct backing_dev_info *bd_bdi;
int bd_fsfreeze_count;
struct mutex bd_fsfreeze_mutex;
struct super_block *bd_fsfreeze_sb;
struct partition_meta_info *bd_meta_info;
};
5.13: ✅struct block_device {
sector_t bd_start_sect;
struct disk_stats *bd_stats;
long unsigned int bd_stamp;
bool bd_read_only;
dev_t bd_dev;
int bd_openers;
struct inode *bd_inode;
struct super_block *bd_super;
struct mutex bd_mutex;
void *bd_claiming;
struct device bd_device;
void *bd_holder;
int bd_holders;
bool bd_write_holder;
struct list_head bd_holder_disks;
struct kobject *bd_holder_dir;
u8 bd_partno;
unsigned int bd_part_count;
spinlock_t bd_size_lock;
struct gendisk *bd_disk;
struct backing_dev_info *bd_bdi;
int bd_fsfreeze_count;
struct mutex bd_fsfreeze_mutex;
struct super_block *bd_fsfreeze_sb;
struct partition_meta_info *bd_meta_info;
};
5.15: ✅struct block_device {
sector_t bd_start_sect;
struct disk_stats *bd_stats;
long unsigned int bd_stamp;
bool bd_read_only;
dev_t bd_dev;
int bd_openers;
struct inode *bd_inode;
struct super_block *bd_super;
void *bd_claiming;
struct device bd_device;
void *bd_holder;
int bd_holders;
bool bd_write_holder;
struct kobject *bd_holder_dir;
u8 bd_partno;
spinlock_t bd_size_lock;
struct gendisk *bd_disk;
int bd_fsfreeze_count;
struct mutex bd_fsfreeze_mutex;
struct super_block *bd_fsfreeze_sb;
struct partition_meta_info *bd_meta_info;
};
5.19: ✅struct block_device {
sector_t bd_start_sect;
sector_t bd_nr_sectors;
struct disk_stats *bd_stats;
long unsigned int bd_stamp;
bool bd_read_only;
dev_t bd_dev;
atomic_t bd_openers;
struct inode *bd_inode;
struct super_block *bd_super;
void *bd_claiming;
struct device bd_device;
void *bd_holder;
int bd_holders;
bool bd_write_holder;
struct kobject *bd_holder_dir;
u8 bd_partno;
spinlock_t bd_size_lock;
struct gendisk *bd_disk;
struct request_queue *bd_queue;
int bd_fsfreeze_count;
struct mutex bd_fsfreeze_mutex;
struct super_block *bd_fsfreeze_sb;
struct partition_meta_info *bd_meta_info;
};
6.2: ✅struct block_device {
sector_t bd_start_sect;
sector_t bd_nr_sectors;
struct disk_stats *bd_stats;
long unsigned int bd_stamp;
bool bd_read_only;
dev_t bd_dev;
atomic_t bd_openers;
struct inode *bd_inode;
struct super_block *bd_super;
void *bd_claiming;
struct device bd_device;
void *bd_holder;
int bd_holders;
bool bd_write_holder;
struct kobject *bd_holder_dir;
u8 bd_partno;
spinlock_t bd_size_lock;
struct gendisk *bd_disk;
struct request_queue *bd_queue;
int bd_fsfreeze_count;
struct mutex bd_fsfreeze_mutex;
struct super_block *bd_fsfreeze_sb;
struct partition_meta_info *bd_meta_info;
};
6.5: ✅struct block_device {
sector_t bd_start_sect;
sector_t bd_nr_sectors;
struct gendisk *bd_disk;
struct request_queue *bd_queue;
struct disk_stats *bd_stats;
long unsigned int bd_stamp;
bool bd_read_only;
u8 bd_partno;
bool bd_write_holder;
bool bd_has_submit_bio;
dev_t bd_dev;
atomic_t bd_openers;
spinlock_t bd_size_lock;
struct inode *bd_inode;
struct super_block *bd_super;
void *bd_claiming;
void *bd_holder;
const struct blk_holder_ops *bd_holder_ops;
struct mutex bd_holder_lock;
int bd_fsfreeze_count;
int bd_holders;
struct kobject *bd_holder_dir;
struct mutex bd_fsfreeze_mutex;
struct super_block *bd_fsfreeze_sb;
struct partition_meta_info *bd_meta_info;
struct device bd_device;
};
6.8: ✅struct block_device {
sector_t bd_start_sect;
sector_t bd_nr_sectors;
struct gendisk *bd_disk;
struct request_queue *bd_queue;
struct disk_stats *bd_stats;
long unsigned int bd_stamp;
bool bd_read_only;
u8 bd_partno;
bool bd_write_holder;
bool bd_has_submit_bio;
dev_t bd_dev;
struct inode *bd_inode;
atomic_t bd_openers;
spinlock_t bd_size_lock;
void *bd_claiming;
void *bd_holder;
const struct blk_holder_ops *bd_holder_ops;
struct mutex bd_holder_lock;
int bd_holders;
struct kobject *bd_holder_dir;
atomic_t bd_fsfreeze_count;
struct mutex bd_fsfreeze_mutex;
struct partition_meta_info *bd_meta_info;
bool bd_ro_warned;
int bd_writers;
struct device bd_device;
};
arm64: ✅struct block_device {
dev_t bd_dev;
int bd_openers;
struct inode *bd_inode;
struct super_block *bd_super;
struct mutex bd_mutex;
void *bd_claiming;
void *bd_holder;
int bd_holders;
bool bd_write_holder;
struct list_head bd_holder_disks;
struct block_device *bd_contains;
unsigned int bd_block_size;
u8 bd_partno;
struct hd_struct *bd_part;
unsigned int bd_part_count;
int bd_invalidated;
struct gendisk *bd_disk;
struct request_queue *bd_queue;
struct backing_dev_info *bd_bdi;
struct list_head bd_list;
long unsigned int bd_private;
int bd_fsfreeze_count;
struct mutex bd_fsfreeze_mutex;
};
armhf: ✅struct block_device {
dev_t bd_dev;
int bd_openers;
struct inode *bd_inode;
struct super_block *bd_super;
struct mutex bd_mutex;
void *bd_claiming;
void *bd_holder;
int bd_holders;
bool bd_write_holder;
struct list_head bd_holder_disks;
struct block_device *bd_contains;
unsigned int bd_block_size;
u8 bd_partno;
struct hd_struct *bd_part;
unsigned int bd_part_count;
int bd_invalidated;
struct gendisk *bd_disk;
struct request_queue *bd_queue;
struct backing_dev_info *bd_bdi;
struct list_head bd_list;
long unsigned int bd_private;
int bd_fsfreeze_count;
struct mutex bd_fsfreeze_mutex;
};
ppc64el: ✅struct block_device {
dev_t bd_dev;
int bd_openers;
struct inode *bd_inode;
struct super_block *bd_super;
struct mutex bd_mutex;
void *bd_claiming;
void *bd_holder;
int bd_holders;
bool bd_write_holder;
struct list_head bd_holder_disks;
struct block_device *bd_contains;
unsigned int bd_block_size;
u8 bd_partno;
struct hd_struct *bd_part;
unsigned int bd_part_count;
int bd_invalidated;
struct gendisk *bd_disk;
struct request_queue *bd_queue;
struct backing_dev_info *bd_bdi;
struct list_head bd_list;
long unsigned int bd_private;
int bd_fsfreeze_count;
struct mutex bd_fsfreeze_mutex;
};
riscv64: ✅struct block_device {
dev_t bd_dev;
int bd_openers;
struct inode *bd_inode;
struct super_block *bd_super;
struct mutex bd_mutex;
void *bd_claiming;
void *bd_holder;
int bd_holders;
bool bd_write_holder;
struct list_head bd_holder_disks;
struct block_device *bd_contains;
unsigned int bd_block_size;
u8 bd_partno;
struct hd_struct *bd_part;
unsigned int bd_part_count;
int bd_invalidated;
struct gendisk *bd_disk;
struct request_queue *bd_queue;
struct backing_dev_info *bd_bdi;
struct list_head bd_list;
long unsigned int bd_private;
int bd_fsfreeze_count;
struct mutex bd_fsfreeze_mutex;
};
aws: ✅struct block_device {
dev_t bd_dev;
int bd_openers;
struct inode *bd_inode;
struct super_block *bd_super;
struct mutex bd_mutex;
void *bd_claiming;
void *bd_holder;
int bd_holders;
bool bd_write_holder;
struct list_head bd_holder_disks;
struct block_device *bd_contains;
unsigned int bd_block_size;
u8 bd_partno;
struct hd_struct *bd_part;
unsigned int bd_part_count;
int bd_invalidated;
struct gendisk *bd_disk;
struct request_queue *bd_queue;
struct backing_dev_info *bd_bdi;
struct list_head bd_list;
long unsigned int bd_private;
int bd_fsfreeze_count;
struct mutex bd_fsfreeze_mutex;
};
azure: ✅struct block_device {
dev_t bd_dev;
int bd_openers;
struct inode *bd_inode;
struct super_block *bd_super;
struct mutex bd_mutex;
void *bd_claiming;
void *bd_holder;
int bd_holders;
bool bd_write_holder;
struct list_head bd_holder_disks;
struct block_device *bd_contains;
unsigned int bd_block_size;
u8 bd_partno;
struct hd_struct *bd_part;
unsigned int bd_part_count;
int bd_invalidated;
struct gendisk *bd_disk;
struct request_queue *bd_queue;
struct backing_dev_info *bd_bdi;
struct list_head bd_list;
long unsigned int bd_private;
int bd_fsfreeze_count;
struct mutex bd_fsfreeze_mutex;
};
gcp: ✅struct block_device {
dev_t bd_dev;
int bd_openers;
struct inode *bd_inode;
struct super_block *bd_super;
struct mutex bd_mutex;
void *bd_claiming;
void *bd_holder;
int bd_holders;
bool bd_write_holder;
struct list_head bd_holder_disks;
struct block_device *bd_contains;
unsigned int bd_block_size;
u8 bd_partno;
struct hd_struct *bd_part;
unsigned int bd_part_count;
int bd_invalidated;
struct gendisk *bd_disk;
struct request_queue *bd_queue;
struct backing_dev_info *bd_bdi;
struct list_head bd_list;
long unsigned int bd_private;
int bd_fsfreeze_count;
struct mutex bd_fsfreeze_mutex;
};
lowlatency: ✅struct block_device {
dev_t bd_dev;
int bd_openers;
struct inode *bd_inode;
struct super_block *bd_super;
struct mutex bd_mutex;
void *bd_claiming;
void *bd_holder;
int bd_holders;
bool bd_write_holder;
struct list_head bd_holder_disks;
struct block_device *bd_contains;
unsigned int bd_block_size;
u8 bd_partno;
struct hd_struct *bd_part;
unsigned int bd_part_count;
int bd_invalidated;
struct gendisk *bd_disk;
struct request_queue *bd_queue;
struct backing_dev_info *bd_bdi;
struct list_head bd_list;
long unsigned int bd_private;
int bd_fsfreeze_count;
struct mutex bd_fsfreeze_mutex;
};
Regular
4.4 and 4.8 ⚠️struct list_head bd_inodes
4.8 and 4.10 ✅
4.10 and 4.13 ⚠️struct backing_dev_info *bd_bdi
4.13 and 4.15 ⚠️u8 bd_partno
4.15 and 4.18 ✅
4.18 and 5.0 ✅
5.0 and 5.3 ✅
5.3 and 5.4 ✅
5.4 and 5.8 ✅
5.8 and 5.11 ⚠️sector_t bd_start_sect
struct disk_stats *bd_stats
long unsigned int bd_stamp
bool bd_read_only
struct device bd_device
struct kobject *bd_holder_dir
spinlock_t bd_size_lock
struct super_block *bd_fsfreeze_sb
struct partition_meta_info *bd_meta_info
struct block_device *bd_contains
unsigned int bd_block_size
struct hd_struct *bd_part
int bd_invalidated
struct request_queue *bd_queue
struct list_head bd_list
long unsigned int bd_private
5.11 and 5.13 ✅
5.13 and 5.15 ⚠️struct mutex bd_mutex
struct list_head bd_holder_disks
unsigned int bd_part_count
struct backing_dev_info *bd_bdi
5.15 and 5.19 ⚠️sector_t bd_nr_sectors
struct request_queue *bd_queue
int bd_openers ➡️ atomic_t bd_openers
5.19 and 6.2 ✅
6.2 and 6.5 ⚠️bool bd_has_submit_bio
const struct blk_holder_ops *bd_holder_ops
struct mutex bd_holder_lock
6.5 and 6.8 ⚠️bool bd_ro_warned
int bd_writers
struct super_block *bd_super
struct super_block *bd_fsfreeze_sb
int bd_fsfreeze_count ➡️ atomic_t bd_fsfreeze_count
amd64 and arm64 ✅
amd64 and armhf ✅
amd64 and ppc64el ✅
amd64 and riscv64 ✅
generic and aws ✅
generic and azure ✅
generic and gcp ✅
generic and lowlatency ✅