nvm_devRegular
4.4: ✅struct nvm_dev {
struct nvm_dev_ops *ops;
struct list_head devices;
struct list_head online_targets;
struct nvmm_type *mt;
void *mp;
struct nvm_sb_info sb;
int nr_chnls;
int nr_planes;
int luns_per_chnl;
int sec_per_pg;
int pgs_per_blk;
int blks_per_lun;
int sec_size;
int oob_size;
int mccap;
struct nvm_addr_format ppaf;
int max_rq_size;
int plane_mode;
int sec_per_pl;
int sec_per_blk;
int sec_per_lun;
int lps_per_blk;
int *lptbl;
long unsigned int total_pages;
long unsigned int total_blocks;
int nr_luns;
unsigned int max_pages_per_blk;
void *ppalist_pool;
struct nvm_id identity;
struct request_queue *q;
char name[32];
struct mutex mlock;
};
4.8: ✅struct nvm_dev {
struct nvm_dev_ops *ops;
struct list_head devices;
struct nvmm_type *mt;
void *mp;
struct nvm_sb_info sb;
int nr_chnls;
int nr_planes;
int luns_per_chnl;
int sec_per_pg;
int pgs_per_blk;
int blks_per_lun;
int fpg_size;
int pfpg_size;
int sec_size;
int oob_size;
int mccap;
struct nvm_addr_format ppaf;
int max_rq_size;
int plane_mode;
int sec_per_pl;
int sec_per_blk;
int sec_per_lun;
int lps_per_blk;
int *lptbl;
long unsigned int total_blocks;
long unsigned int total_secs;
int nr_luns;
long unsigned int *lun_map;
void *dma_pool;
struct nvm_id identity;
struct request_queue *q;
char name[32];
struct mutex mlock;
spinlock_t lock;
};
4.10: ✅struct nvm_dev {
struct nvm_dev_ops *ops;
struct list_head devices;
struct nvmm_type *mt;
void *mp;
struct nvm_sb_info sb;
struct nvm_geo geo;
int lps_per_blk;
int *lptbl;
long unsigned int total_secs;
long unsigned int *lun_map;
void *dma_pool;
struct nvm_id identity;
struct request_queue *q;
char name[32];
void *private_data;
void *rmap;
struct mutex mlock;
spinlock_t lock;
};
4.13: ✅struct nvm_dev {
struct nvm_dev_ops *ops;
struct list_head devices;
struct nvm_geo geo;
int lps_per_blk;
int *lptbl;
long unsigned int total_secs;
long unsigned int *lun_map;
void *dma_pool;
struct nvm_id identity;
struct request_queue *q;
char name[32];
void *private_data;
void *rmap;
struct mutex mlock;
spinlock_t lock;
struct list_head area_list;
struct list_head targets;
};
4.15: ✅struct nvm_dev {
struct nvm_dev_ops *ops;
struct list_head devices;
struct nvm_geo geo;
int lps_per_blk;
int *lptbl;
long unsigned int total_secs;
long unsigned int *lun_map;
void *dma_pool;
struct nvm_id identity;
struct request_queue *q;
char name[32];
void *private_data;
void *rmap;
struct mutex mlock;
spinlock_t lock;
struct list_head area_list;
struct list_head targets;
};
4.18: ✅struct nvm_dev {
struct nvm_dev_ops *ops;
struct list_head devices;
struct nvm_geo geo;
long unsigned int *lun_map;
void *dma_pool;
struct request_queue *q;
char name[32];
void *private_data;
void *rmap;
struct mutex mlock;
spinlock_t lock;
struct list_head area_list;
struct list_head targets;
};
5.0: ✅struct nvm_dev {
struct nvm_dev_ops *ops;
struct list_head devices;
struct nvm_geo geo;
long unsigned int *lun_map;
void *dma_pool;
struct request_queue *q;
char name[32];
void *private_data;
void *rmap;
struct mutex mlock;
spinlock_t lock;
struct list_head area_list;
struct list_head targets;
};
5.3: ✅struct nvm_dev {
struct nvm_dev_ops *ops;
struct list_head devices;
struct nvm_geo geo;
long unsigned int *lun_map;
void *dma_pool;
struct request_queue *q;
char name[32];
void *private_data;
struct kref ref;
void *rmap;
struct mutex mlock;
spinlock_t lock;
struct list_head area_list;
struct list_head targets;
};
5.4: ✅struct nvm_dev {
struct nvm_dev_ops *ops;
struct list_head devices;
struct nvm_geo geo;
long unsigned int *lun_map;
void *dma_pool;
struct request_queue *q;
char name[32];
void *private_data;
struct kref ref;
void *rmap;
struct mutex mlock;
spinlock_t lock;
struct list_head area_list;
struct list_head targets;
};
5.8: ✅struct nvm_dev {
struct nvm_dev_ops *ops;
struct list_head devices;
struct nvm_geo geo;
long unsigned int *lun_map;
void *dma_pool;
struct request_queue *q;
char name[32];
void *private_data;
struct kref ref;
void *rmap;
struct mutex mlock;
spinlock_t lock;
struct list_head area_list;
struct list_head targets;
};
5.11: ✅struct nvm_dev {
struct nvm_dev_ops *ops;
struct list_head devices;
struct nvm_geo geo;
long unsigned int *lun_map;
void *dma_pool;
struct request_queue *q;
char name[32];
void *private_data;
struct kref ref;
void *rmap;
struct mutex mlock;
spinlock_t lock;
struct list_head area_list;
struct list_head targets;
};
5.13: ✅struct nvm_dev {
struct nvm_dev_ops *ops;
struct list_head devices;
struct nvm_geo geo;
long unsigned int *lun_map;
void *dma_pool;
struct request_queue *q;
char name[32];
void *private_data;
struct kref ref;
void *rmap;
struct mutex mlock;
spinlock_t lock;
struct list_head area_list;
struct list_head targets;
};
5.15: Absent ⚠️
5.19: Absent ⚠️
6.2: Absent ⚠️
6.5: Absent ⚠️
6.8: Absent ⚠️
arm64: ✅struct nvm_dev {
struct nvm_dev_ops *ops;
struct list_head devices;
struct nvm_geo geo;
long unsigned int *lun_map;
void *dma_pool;
struct request_queue *q;
char name[32];
void *private_data;
struct kref ref;
void *rmap;
struct mutex mlock;
spinlock_t lock;
struct list_head area_list;
struct list_head targets;
};
armhf: ✅struct nvm_dev {
struct nvm_dev_ops *ops;
struct list_head devices;
struct nvm_geo geo;
long unsigned int *lun_map;
void *dma_pool;
struct request_queue *q;
char name[32];
void *private_data;
struct kref ref;
void *rmap;
struct mutex mlock;
spinlock_t lock;
struct list_head area_list;
struct list_head targets;
};
ppc64el: ✅struct nvm_dev {
struct nvm_dev_ops *ops;
struct list_head devices;
struct nvm_geo geo;
long unsigned int *lun_map;
void *dma_pool;
struct request_queue *q;
char name[32];
void *private_data;
struct kref ref;
void *rmap;
struct mutex mlock;
spinlock_t lock;
struct list_head area_list;
struct list_head targets;
};
riscv64: ✅struct nvm_dev {
struct nvm_dev_ops *ops;
struct list_head devices;
struct nvm_geo geo;
long unsigned int *lun_map;
void *dma_pool;
struct request_queue *q;
char name[32];
void *private_data;
struct kref ref;
void *rmap;
struct mutex mlock;
spinlock_t lock;
struct list_head area_list;
struct list_head targets;
};
aws: ✅struct nvm_dev {
struct nvm_dev_ops *ops;
struct list_head devices;
struct nvm_geo geo;
long unsigned int *lun_map;
void *dma_pool;
struct request_queue *q;
char name[32];
void *private_data;
struct kref ref;
void *rmap;
struct mutex mlock;
spinlock_t lock;
struct list_head area_list;
struct list_head targets;
};
azure: Absent ⚠️
gcp: ✅struct nvm_dev {
struct nvm_dev_ops *ops;
struct list_head devices;
struct nvm_geo geo;
long unsigned int *lun_map;
void *dma_pool;
struct request_queue *q;
char name[32];
void *private_data;
struct kref ref;
void *rmap;
struct mutex mlock;
spinlock_t lock;
struct list_head area_list;
struct list_head targets;
};
lowlatency: ✅struct nvm_dev {
struct nvm_dev_ops *ops;
struct list_head devices;
struct nvm_geo geo;
long unsigned int *lun_map;
void *dma_pool;
struct request_queue *q;
char name[32];
void *private_data;
struct kref ref;
void *rmap;
struct mutex mlock;
spinlock_t lock;
struct list_head area_list;
struct list_head targets;
};
Regular
4.4 and 4.8 ⚠️int fpg_size
int pfpg_size
long unsigned int total_secs
long unsigned int *lun_map
void *dma_pool
spinlock_t lock
struct list_head online_targets
long unsigned int total_pages
unsigned int max_pages_per_blk
void *ppalist_pool
4.8 and 4.10 ⚠️struct nvm_geo geo
void *private_data
void *rmap
int nr_chnls
int nr_planes
int luns_per_chnl
int sec_per_pg
int pgs_per_blk
int blks_per_lun
int fpg_size
int pfpg_size
int sec_size
int oob_size
int mccap
struct nvm_addr_format ppaf
int max_rq_size
int plane_mode
int sec_per_pl
int sec_per_blk
int sec_per_lun
long unsigned int total_blocks
int nr_luns
4.10 and 4.13 ⚠️struct list_head area_list
struct list_head targets
struct nvmm_type *mt
void *mp
struct nvm_sb_info sb
4.13 and 4.15 ✅
4.15 and 4.18 ⚠️int lps_per_blk
int *lptbl
long unsigned int total_secs
struct nvm_id identity
4.18 and 5.0 ✅
5.0 and 5.3 ⚠️struct kref ref
5.3 and 5.4 ✅
5.4 and 5.8 ✅
5.8 and 5.11 ✅
5.11 and 5.13 ✅
amd64 and arm64 ✅
amd64 and armhf ✅
amd64 and ppc64el ✅
amd64 and riscv64 ✅
generic and aws ✅
generic and gcp ✅
generic and lowlatency ✅