• Home
  • Raw
  • Download

Lines Matching refs:info

60 				      struct ext4_getfsmap_info *info);
74 static bool ext4_getfsmap_rec_before_low_key(struct ext4_getfsmap_info *info, in ext4_getfsmap_rec_before_low_key() argument
77 return rec->fmr_physical < info->gfi_low.fmr_physical; in ext4_getfsmap_rec_before_low_key()
85 struct ext4_getfsmap_info *info, in ext4_getfsmap_helper() argument
102 if (ext4_getfsmap_rec_before_low_key(info, rec)) { in ext4_getfsmap_helper()
104 if (info->gfi_next_fsblk < rec_fsblk) in ext4_getfsmap_helper()
105 info->gfi_next_fsblk = rec_fsblk; in ext4_getfsmap_helper()
110 if (info->gfi_head->fmh_count == 0) { in ext4_getfsmap_helper()
111 if (rec_fsblk > info->gfi_next_fsblk) in ext4_getfsmap_helper()
112 info->gfi_head->fmh_entries++; in ext4_getfsmap_helper()
114 if (info->gfi_last) in ext4_getfsmap_helper()
117 info->gfi_head->fmh_entries++; in ext4_getfsmap_helper()
120 if (info->gfi_next_fsblk < rec_fsblk) in ext4_getfsmap_helper()
121 info->gfi_next_fsblk = rec_fsblk; in ext4_getfsmap_helper()
130 if (rec_fsblk > info->gfi_next_fsblk) { in ext4_getfsmap_helper()
131 if (info->gfi_head->fmh_entries >= info->gfi_head->fmh_count) in ext4_getfsmap_helper()
134 ext4_get_group_no_and_offset(sb, info->gfi_next_fsblk, in ext4_getfsmap_helper()
136 trace_ext4_fsmap_mapping(sb, info->gfi_dev, agno, in ext4_getfsmap_helper()
138 rec_fsblk - info->gfi_next_fsblk, in ext4_getfsmap_helper()
141 fmr.fmr_device = info->gfi_dev; in ext4_getfsmap_helper()
142 fmr.fmr_physical = info->gfi_next_fsblk; in ext4_getfsmap_helper()
144 fmr.fmr_length = rec_fsblk - info->gfi_next_fsblk; in ext4_getfsmap_helper()
146 error = info->gfi_formatter(&fmr, info->gfi_format_arg); in ext4_getfsmap_helper()
149 info->gfi_head->fmh_entries++; in ext4_getfsmap_helper()
152 if (info->gfi_last) in ext4_getfsmap_helper()
156 if (info->gfi_head->fmh_entries >= info->gfi_head->fmh_count) in ext4_getfsmap_helper()
160 trace_ext4_fsmap_mapping(sb, info->gfi_dev, agno, EXT4_C2B(sbi, cno), in ext4_getfsmap_helper()
163 fmr.fmr_device = info->gfi_dev; in ext4_getfsmap_helper()
168 error = info->gfi_formatter(&fmr, info->gfi_format_arg); in ext4_getfsmap_helper()
171 info->gfi_head->fmh_entries++; in ext4_getfsmap_helper()
175 if (info->gfi_next_fsblk < rec_fsblk) in ext4_getfsmap_helper()
176 info->gfi_next_fsblk = rec_fsblk; in ext4_getfsmap_helper()
191 struct ext4_getfsmap_info *info = priv; in ext4_getfsmap_datadev_helper() local
203 if (info->gfi_lastfree.fmr_owner) { in ext4_getfsmap_datadev_helper()
205 if (ext4_fsmap_next_pblk(&info->gfi_lastfree) == fsb) { in ext4_getfsmap_datadev_helper()
206 info->gfi_lastfree.fmr_length += fslen; in ext4_getfsmap_datadev_helper()
214 error = ext4_getfsmap_helper(sb, info, &info->gfi_lastfree); in ext4_getfsmap_datadev_helper()
217 info->gfi_lastfree.fmr_owner = 0; in ext4_getfsmap_datadev_helper()
221 list_for_each_entry_safe(p, tmp, &info->gfi_meta_list, fmr_list) { in ext4_getfsmap_datadev_helper()
222 if (p->fmr_physical + p->fmr_length <= info->gfi_next_fsblk) { in ext4_getfsmap_datadev_helper()
226 error = ext4_getfsmap_helper(sb, info, p); in ext4_getfsmap_datadev_helper()
244 info->gfi_lastfree = irec; in ext4_getfsmap_datadev_helper()
249 return ext4_getfsmap_helper(sb, info, &irec); in ext4_getfsmap_datadev_helper()
254 struct ext4_getfsmap_info *info) in ext4_getfsmap_logdev() argument
260 info->gfi_low = keys[0]; in ext4_getfsmap_logdev()
261 info->gfi_low.fmr_length = 0; in ext4_getfsmap_logdev()
263 memset(&info->gfi_high, 0xFF, sizeof(info->gfi_high)); in ext4_getfsmap_logdev()
265 trace_ext4_fsmap_low_key(sb, info->gfi_dev, 0, in ext4_getfsmap_logdev()
266 info->gfi_low.fmr_physical, in ext4_getfsmap_logdev()
267 info->gfi_low.fmr_length, in ext4_getfsmap_logdev()
268 info->gfi_low.fmr_owner); in ext4_getfsmap_logdev()
270 trace_ext4_fsmap_high_key(sb, info->gfi_dev, 0, in ext4_getfsmap_logdev()
271 info->gfi_high.fmr_physical, in ext4_getfsmap_logdev()
272 info->gfi_high.fmr_length, in ext4_getfsmap_logdev()
273 info->gfi_high.fmr_owner); in ext4_getfsmap_logdev()
284 return ext4_getfsmap_helper(sb, info, &irec); in ext4_getfsmap_logdev()
465 struct ext4_getfsmap_info *info) in ext4_getfsmap_datadev() argument
498 info->gfi_low = keys[0]; in ext4_getfsmap_datadev()
499 info->gfi_low.fmr_physical = EXT4_C2B(sbi, first_cluster); in ext4_getfsmap_datadev()
500 info->gfi_low.fmr_length = 0; in ext4_getfsmap_datadev()
502 memset(&info->gfi_high, 0xFF, sizeof(info->gfi_high)); in ext4_getfsmap_datadev()
505 error = ext4_getfsmap_find_fixed_metadata(sb, &info->gfi_meta_list); in ext4_getfsmap_datadev()
510 for (info->gfi_agno = start_ag; in ext4_getfsmap_datadev()
511 info->gfi_agno <= end_ag; in ext4_getfsmap_datadev()
512 info->gfi_agno++) { in ext4_getfsmap_datadev()
517 if (info->gfi_agno == end_ag) { in ext4_getfsmap_datadev()
518 info->gfi_high = keys[1]; in ext4_getfsmap_datadev()
519 info->gfi_high.fmr_physical = EXT4_C2B(sbi, in ext4_getfsmap_datadev()
521 info->gfi_high.fmr_length = 0; in ext4_getfsmap_datadev()
524 trace_ext4_fsmap_low_key(sb, info->gfi_dev, info->gfi_agno, in ext4_getfsmap_datadev()
525 info->gfi_low.fmr_physical, in ext4_getfsmap_datadev()
526 info->gfi_low.fmr_length, in ext4_getfsmap_datadev()
527 info->gfi_low.fmr_owner); in ext4_getfsmap_datadev()
529 trace_ext4_fsmap_high_key(sb, info->gfi_dev, info->gfi_agno, in ext4_getfsmap_datadev()
530 info->gfi_high.fmr_physical, in ext4_getfsmap_datadev()
531 info->gfi_high.fmr_length, in ext4_getfsmap_datadev()
532 info->gfi_high.fmr_owner); in ext4_getfsmap_datadev()
534 error = ext4_mballoc_query_range(sb, info->gfi_agno, in ext4_getfsmap_datadev()
535 EXT4_B2C(sbi, info->gfi_low.fmr_physical), in ext4_getfsmap_datadev()
536 EXT4_B2C(sbi, info->gfi_high.fmr_physical), in ext4_getfsmap_datadev()
537 ext4_getfsmap_datadev_helper, info); in ext4_getfsmap_datadev()
545 if (info->gfi_agno == start_ag) in ext4_getfsmap_datadev()
546 memset(&info->gfi_low, 0, sizeof(info->gfi_low)); in ext4_getfsmap_datadev()
550 if (info->gfi_lastfree.fmr_owner) { in ext4_getfsmap_datadev()
551 error = ext4_getfsmap_helper(sb, info, &info->gfi_lastfree); in ext4_getfsmap_datadev()
557 info->gfi_last = true; in ext4_getfsmap_datadev()
558 error = ext4_getfsmap_datadev_helper(sb, end_ag, last_cluster, 0, info); in ext4_getfsmap_datadev()
563 ext4_getfsmap_free_fixed_metadata(&info->gfi_meta_list); in ext4_getfsmap_datadev()
629 struct ext4_getfsmap_info info = { NULL }; in ext4_getfsmap() local
674 info.gfi_next_fsblk = head->fmh_keys[0].fmr_physical + in ext4_getfsmap()
676 info.gfi_formatter = formatter; in ext4_getfsmap()
677 info.gfi_format_arg = arg; in ext4_getfsmap()
678 info.gfi_head = head; in ext4_getfsmap()
702 info.gfi_dev = handlers[i].gfd_dev; in ext4_getfsmap()
703 info.gfi_last = false; in ext4_getfsmap()
704 info.gfi_agno = -1; in ext4_getfsmap()
705 error = handlers[i].gfd_fn(sb, dkeys, &info); in ext4_getfsmap()
708 info.gfi_next_fsblk = 0; in ext4_getfsmap()