Lines Matching refs:vlun
30 if (!lun->vlun.blocks) in gennvm_blocks_free()
32 vfree(lun->vlun.blocks); in gennvm_blocks_free()
53 spin_lock_init(&lun->vlun.lock); in gennvm_luns_init()
59 lun->vlun.id = i; in gennvm_luns_init()
60 lun->vlun.lun_id = i % dev->luns_per_chnl; in gennvm_luns_init()
61 lun->vlun.chnl_id = i / dev->luns_per_chnl; in gennvm_luns_init()
62 lun->vlun.nr_free_blocks = dev->blks_per_lun; in gennvm_luns_init()
63 lun->vlun.nr_inuse_blocks = 0; in gennvm_luns_init()
64 lun->vlun.nr_bad_blocks = 0; in gennvm_luns_init()
84 blk = &lun->vlun.blocks[i]; in gennvm_block_bb()
91 lun->vlun.nr_bad_blocks++; in gennvm_block_bb()
134 blk = &lun->vlun.blocks[div_u64(pba, dev->sec_per_blk)]; in gennvm_block_map()
143 lun->vlun.nr_free_blocks--; in gennvm_block_map()
144 lun->vlun.nr_inuse_blocks++; in gennvm_block_map()
159 lun->vlun.blocks = vzalloc(sizeof(struct nvm_block) * in gennvm_blocks_init()
161 if (!lun->vlun.blocks) in gennvm_blocks_init()
165 block = &lun->vlun.blocks[blk_iter]; in gennvm_blocks_init()
169 block->lun = &lun->vlun; in gennvm_blocks_init()
174 lun->vlun.nr_free_blocks--; in gennvm_blocks_init()
185 ppa.g.ch = lun->vlun.chnl_id; in gennvm_blocks_init()
186 ppa.g.lun = lun->vlun.id; in gennvm_blocks_init()
259 struct nvm_lun *vlun, unsigned long flags) in gennvm_get_blk() argument
261 struct gen_lun *lun = container_of(vlun, struct gen_lun, vlun); in gennvm_get_blk()
265 spin_lock(&vlun->lock); in gennvm_get_blk()
269 lun->vlun.id); in gennvm_get_blk()
273 if (!is_gc && lun->vlun.nr_free_blocks < lun->reserved_blocks) in gennvm_get_blk()
280 lun->vlun.nr_free_blocks--; in gennvm_get_blk()
281 lun->vlun.nr_inuse_blocks++; in gennvm_get_blk()
284 spin_unlock(&vlun->lock); in gennvm_get_blk()
290 struct nvm_lun *vlun = blk->lun; in gennvm_put_blk() local
291 struct gen_lun *lun = container_of(vlun, struct gen_lun, vlun); in gennvm_put_blk()
293 spin_lock(&vlun->lock); in gennvm_put_blk()
298 lun->vlun.nr_free_blocks++; in gennvm_put_blk()
299 lun->vlun.nr_inuse_blocks--; in gennvm_put_blk()
304 lun->vlun.nr_bad_blocks++; in gennvm_put_blk()
305 lun->vlun.nr_inuse_blocks--; in gennvm_put_blk()
312 lun->vlun.nr_bad_blocks++; in gennvm_put_blk()
313 lun->vlun.nr_inuse_blocks--; in gennvm_put_blk()
316 spin_unlock(&vlun->lock); in gennvm_put_blk()
376 blk = &lun->vlun.blocks[ppa->g.blk]; in gennvm_blk_set_type()
470 return &gn->luns[lunid].vlun; in gennvm_get_lun()
481 spin_lock(&lun->vlun.lock); in gennvm_lun_info_print()
485 lun->vlun.nr_free_blocks, in gennvm_lun_info_print()
486 lun->vlun.nr_inuse_blocks, in gennvm_lun_info_print()
487 lun->vlun.nr_bad_blocks); in gennvm_lun_info_print()
489 spin_unlock(&lun->vlun.lock); in gennvm_lun_info_print()