Lines Matching full:dbi
187 uint32_t *dbi; member
492 #define tcmu_cmd_set_dbi(cmd, index) ((cmd)->dbi[(cmd)->dbi_cur++] = (index))
493 #define tcmu_cmd_get_dbi(cmd) ((cmd)->dbi[(cmd)->dbi_cur++])
501 clear_bit(tcmu_cmd->dbi[i], udev->data_bitmap); in tcmu_cmd_free_data()
510 int i, cnt, dbi, dpi; in tcmu_get_empty_block() local
513 dbi = find_first_zero_bit(udev->data_bitmap, udev->dbi_thresh); in tcmu_get_empty_block()
514 if (dbi == udev->dbi_thresh) in tcmu_get_empty_block()
517 dpi = dbi * udev->data_pages_per_blk; in tcmu_get_empty_block()
540 if (i && dbi > udev->dbi_max) in tcmu_get_empty_block()
541 udev->dbi_max = dbi; in tcmu_get_empty_block()
543 set_bit(dbi, udev->data_bitmap); in tcmu_get_empty_block()
544 tcmu_cmd_set_dbi(tcmu_cmd, dbi); in tcmu_get_empty_block()
546 if (dbi != prev_dbi + 1) in tcmu_get_empty_block()
549 return i == page_cnt ? dbi : -1; in tcmu_get_empty_block()
555 /* start value of dbi + 1 must not be a valid dbi */ in tcmu_get_empty_blocks()
556 int dbi = -2; in tcmu_get_empty_blocks() local
562 dbi = tcmu_get_empty_block(udev, tcmu_cmd, dbi, blk_data_len, in tcmu_get_empty_blocks()
564 if (dbi < 0) in tcmu_get_empty_blocks()
572 kfree(tcmu_cmd->dbi); in tcmu_free_cmd()
597 /* Get the next dbi */ in new_block_to_iov()
598 int dbi = tcmu_cmd_get_dbi(cmd); in new_block_to_iov() local
607 if (dbi != prev_dbi + 1) { in new_block_to_iov()
608 /* dbi is not next to previous dbi, so start new iov */ in new_block_to_iov()
613 (udev->data_off + dbi * udev->data_blk_size); in new_block_to_iov()
617 return dbi; in new_block_to_iov()
623 /* start value of dbi + 1 must not be a valid dbi */ in tcmu_setup_iovs()
624 int dbi = -2; in tcmu_setup_iovs() local
628 dbi = new_block_to_iov(udev, cmd, iov, dbi, data_length); in tcmu_setup_iovs()
646 tcmu_cmd->dbi = kcalloc(tcmu_cmd->dbi_cnt, sizeof(uint32_t), in tcmu_alloc_cmd()
648 if (!tcmu_cmd->dbi) { in tcmu_alloc_cmd()
705 /* start value of dbi + 1 must not be a valid dbi */ in tcmu_copy_data()
706 int dbi = -2; in tcmu_copy_data() local
722 dbi = new_block_to_iov(udev, tcmu_cmd, iov, dbi, in tcmu_copy_data()
725 dbi = tcmu_cmd_get_dbi(tcmu_cmd); in tcmu_copy_data()
731 dpi = dbi * udev->data_pages_per_blk; in tcmu_copy_data()