Lines Matching refs:lb
525 static void finish_range(struct list_blocks_struct *lb)
527 if (lb->first_block == 0)
529 if (lb->first)
530 lb->first = 0;
532 fprintf(lb->f, ", ");
533 if (lb->first_block == lb->last_block)
534 fprintf(lb->f, "(%lld):%llu",
535 (long long)lb->first_bcnt, lb->first_block);
537 fprintf(lb->f, "(%lld-%lld):%llu-%llu",
538 (long long)lb->first_bcnt, (long long)lb->last_bcnt,
539 lb->first_block, lb->last_block);
540 lb->first_block = 0;
549 struct list_blocks_struct *lb = (struct list_blocks_struct *) private;
551 lb->total++;
556 if (lb->first_block &&
557 (lb->last_block+1 == *blocknr) &&
558 (lb->last_bcnt+1 == blockcnt)) {
559 lb->last_block = *blocknr;
560 lb->last_bcnt = blockcnt;
566 finish_range(lb);
567 lb->first_block = lb->last_block = *blocknr;
568 lb->first_bcnt = lb->last_bcnt = blockcnt;
574 finish_range(lb);
575 if (lb->first)
576 lb->first = 0;
578 fprintf(lb->f, ", ");
580 fprintf(lb->f, "(IND):%llu", (unsigned long long) *blocknr);
582 fprintf(lb->f, "(DIND):%llu", (unsigned long long) *blocknr);
584 fprintf(lb->f, "(TIND):%llu", (unsigned long long) *blocknr);
604 struct list_blocks_struct lb;
607 lb.total = 0;
608 lb.first_block = 0;
609 lb.f = f;
610 lb.first = 1;
612 list_blocks_proc, (void *)&lb);
613 finish_range(&lb);
614 if (lb.total)
615 fprintf(f, "\n%sTOTAL: %lld\n", prefix, (long long)lb.total);