Lines Matching defs:pblk_line_mgmt
490 struct pblk_line_mgmt { struct
491 int nr_lines; /* Total number of full lines */
492 int nr_free_lines; /* Number of full lines in free list */
495 struct list_head free_list; /* Full lines ready to use */
496 struct list_head corrupt_list; /* Full lines corrupted */
497 struct list_head bad_list; /* Full lines bad */
500 struct list_head *gc_lists[PBLK_GC_NR_LISTS];
501 struct list_head gc_high_list; /* Full lines ready to GC, high isc */
502 struct list_head gc_mid_list; /* Full lines ready to GC, mid isc */
503 struct list_head gc_low_list; /* Full lines ready to GC, low isc */
505 struct list_head gc_werr_list; /* Write err recovery list */
507 struct list_head gc_full_list; /* Full lines ready to GC, no valid */
508 struct list_head gc_empty_list; /* Full lines close, all valid */
510 struct pblk_line *log_line; /* Current FTL log line */
511 struct pblk_line *data_line; /* Current data line */
512 struct pblk_line *log_next; /* Next FTL log line */
513 struct pblk_line *data_next; /* Next data line */
515 struct list_head emeta_list; /* Lines queued to schedule emeta */
517 __le32 *vsc_list; /* Valid sector counts for all lines */
520 struct pblk_smeta *sline_meta[PBLK_DATA_LINES];
521 struct pblk_emeta *eline_meta[PBLK_DATA_LINES];
522 unsigned long meta_bitmap;
525 struct kmem_cache *bitmap_cache;
526 mempool_t *bitmap_pool;
529 unsigned long *bb_template;
530 unsigned long *bb_aux;
532 unsigned long d_seq_nr; /* Data line unique sequence number */
533 unsigned long l_seq_nr; /* Log line unique sequence number */
535 spinlock_t free_lock;
536 spinlock_t close_lock;
537 spinlock_t gc_lock;