Lines Matching refs:bi_iter
108 static sector_t bvec_top(struct bvec_iter *bi_iter) in bvec_top() argument
110 return bi_iter->bi_sector + bi_iter->bi_size / SECTOR_SIZE; in bvec_top()
118 struct bvec_iter *bi_iter) in find_first_overlapping_range() argument
126 if (br->sector <= bi_iter->bi_sector in find_first_overlapping_range()
127 && bi_iter->bi_sector < range_top(br)) in find_first_overlapping_range()
130 if (bi_iter->bi_sector < br->sector) in find_first_overlapping_range()
140 if (range_top(br) - bi_iter->bi_sector in find_first_overlapping_range()
141 < bi_iter->bi_size >> SECTOR_SHIFT) in find_first_overlapping_range()
142 bi_iter->bi_size = (range_top(br) - bi_iter->bi_sector) in find_first_overlapping_range()
172 struct bvec_iter *bi_iter) in split_range() argument
176 if (bi_iter->bi_sector < (*br)->sector) { in split_range()
181 if (bi_iter->bi_sector > (*br)->sector) { in split_range()
193 (*br)->sector = bi_iter->bi_sector; in split_range()
196 if (bvec_top(bi_iter) >= range_top(*br)) { in split_range()
197 bi_iter->bi_size = (range_top(*br) - (*br)->sector) in split_range()
208 (*br)->sector = bvec_top(bi_iter); in split_range()
331 struct bvec_iter bi_iter; in backup_log_sector() local
351 bi_iter.bi_sector = free_br->sector; in backup_log_sector()
352 bi_iter.bi_size = bc->block_size; in backup_log_sector()
353 ret = split_range(bc, &free_br, &bi_iter); in backup_log_sector()
356 if (bi_iter.bi_size != bc->block_size) { in backup_log_sector()
414 struct bvec_iter bi_iter; in prepare_log() local
429 bi_iter.bi_sector = 0; in prepare_log()
430 bi_iter.bi_size = bc->block_size; in prepare_log()
431 ret = split_range(bc, &first_br, &bi_iter); in prepare_log()
444 bi_iter.bi_sector = free_br->sector; in prepare_log()
445 bi_iter.bi_size = bc->block_size; in prepare_log()
446 ret = split_range(bc, &free_br, &bi_iter); in prepare_log()
462 bi_iter.bi_sector = free_br->sector; in prepare_log()
463 bi_iter.bi_size = bc->block_size; in prepare_log()
464 ret = split_range(bc, &free_br, &bi_iter); in prepare_log()
496 struct bvec_iter bi_iter; in find_sector0_current() local
498 bi_iter.bi_sector = bc->log_sector->sector0; in find_sector0_current()
499 bi_iter.bi_size = bc->block_size; in find_sector0_current()
500 return find_first_overlapping_range(&bc->ranges, &bi_iter); in find_sector0_current()
805 struct bvec_iter *bi_iter, in prepare_unchanged_range() argument
824 backup_bi.bi_size = min(range_size(backup_br), (u64) bi_iter->bi_size); in prepare_unchanged_range()
833 bi_iter->bi_size = backup_bi.bi_size; in prepare_unchanged_range()
834 ret = split_range(bc, &br, bi_iter); in prepare_unchanged_range()
887 struct bvec_iter *bi_iter) in prepare_free_range() argument
891 ret = split_range(bc, &br, bi_iter); in prepare_free_range()
899 struct bvec_iter *bi_iter) in prepare_changed_range() argument
906 struct bvec_iter *bi_iter) in prepare_one_range() argument
909 bi_iter); in prepare_one_range()
912 return prepare_changed_range(bc, br, bi_iter); in prepare_one_range()
915 return prepare_free_range(bc, br, bi_iter); in prepare_one_range()
919 return prepare_unchanged_range(bc, br, bi_iter, true); in prepare_one_range()
926 return prepare_unchanged_range(bc, br, bi_iter, false); in prepare_one_range()
947 struct bvec_iter bi_iter = bio->bi_iter; in bow_write() local
954 ret = prepare_one_range(bc, &bi_iter); in bow_write()
955 bi_iter.bi_sector += bi_iter.bi_size / SECTOR_SIZE; in bow_write()
956 bi_iter.bi_size = bio->bi_iter.bi_size in bow_write()
957 - (bi_iter.bi_sector - bio->bi_iter.bi_sector) in bow_write()
959 } while (!ret && bi_iter.bi_size); in bow_write()
993 if (bio->bi_iter.bi_size > bc->block_size) { in handle_sector0()
1006 split->bi_iter.bi_sector = bc->log_sector->sector0; in handle_sector0()
1013 bio->bi_iter.bi_sector = bc->log_sector->sector0; in handle_sector0()
1022 struct bvec_iter bi_iter = bio->bi_iter; in add_trim() local
1025 (unsigned long long)bio->bi_iter.bi_sector, in add_trim()
1026 bio->bi_iter.bi_size); in add_trim()
1029 br = find_first_overlapping_range(&bc->ranges, &bi_iter); in add_trim()
1033 if (!split_range(bc, &br, &bi_iter)) in add_trim()
1047 bi_iter.bi_sector += bi_iter.bi_size / SECTOR_SIZE; in add_trim()
1048 bi_iter.bi_size = bio->bi_iter.bi_size in add_trim()
1049 - (bi_iter.bi_sector - bio->bi_iter.bi_sector) in add_trim()
1052 } while (bi_iter.bi_size); in add_trim()
1061 struct bvec_iter bi_iter = bio->bi_iter; in remove_trim() local
1064 (unsigned long long)bio->bi_iter.bi_sector, in remove_trim()
1065 bio->bi_iter.bi_size); in remove_trim()
1068 br = find_first_overlapping_range(&bc->ranges, &bi_iter); in remove_trim()
1076 if (!split_range(bc, &br, &bi_iter)) in remove_trim()
1086 bi_iter.bi_sector += bi_iter.bi_size / SECTOR_SIZE; in remove_trim()
1087 bi_iter.bi_size = bio->bi_iter.bi_size in remove_trim()
1088 - (bi_iter.bi_sector - bio->bi_iter.bi_sector) in remove_trim()
1091 } while (bi_iter.bi_size); in remove_trim()
1118 if (bio_data_dir(bio) == READ && bio->bi_iter.bi_sector != 0) in dm_bow_map()
1134 if (bio->bi_iter.bi_sector == 0) in dm_bow_map()