__u64 *last_logical)
{
__u64 lstart;
+ __u64 llast;
__u64 len;
__u64 block;
char lbuf[48];
char bbuf[48];
char flgbuf[16];
+ llast = *last_logical / blocksize;
lstart = extent->fe_logical / blocksize;
len = extent->fe_length / blocksize;
block = extent->fe_physical / blocksize;
memset(lbuf, 0, sizeof(lbuf));
memset(bbuf, 0, sizeof(bbuf));
- if (lstart != *last_logical) {
- snprintf(lbuf, sizeof(lbuf), "[%llu..%llu]:", *last_logical,
+ if (lstart != llast) {
+ snprintf(lbuf, sizeof(lbuf), "[%llu..%llu]:", llast,
lstart - 1ULL);
printf("%4d: %-*s %-*s %*llu\n", *cur_extent, foff_w, lbuf,
- boff_w, _("hole"), tot_w, lstart - *last_logical);
+ boff_w, _("hole"), tot_w, lstart - llast);
(*cur_extent)++;
memset(lbuf, 0, sizeof(lbuf));
}
__u64 *last_logical)
{
__u64 lstart;
+ __u64 llast;
__u64 block;
__u64 len;
+ llast = *last_logical / blocksize;
lstart = extent->fe_logical / blocksize;
len = extent->fe_length / blocksize;
block = extent->fe_physical / blocksize;
- if (lstart != *last_logical) {
+ if (lstart != llast) {
printf("\t%d: [%llu..%llu]: hole", *cur_extent,
- *last_logical, lstart - 1ULL);
+ llast, lstart - 1ULL);
if (lflag)
- printf(_(" %llu blocks\n"),
- lstart - *last_logical);
+ printf(_(" %llu blocks\n"), lstart - llast);
else
printf("\n");
(*cur_extent)++;
print_plain(extent, lflag, blocksize,
max_extents, &cur_extent,
&last_logical);
+
if (extent->fe_flags & FIEMAP_EXTENT_LAST) {
last = 1;
break;
return 0;
}
- if (cur_extent && last_logical < (st.st_size / blocksize)) {
+ if (cur_extent && last_logical < st.st_size) {
char lbuf[32];
snprintf(lbuf, sizeof(lbuf), "[%llu..%llu]:",
- last_logical, (st.st_size / blocksize) - 1);
+ last_logical / blocksize, (st.st_size / blocksize) - 1);
if (vflag) {
printf("%4d: %-*s %-*s %*llu\n", cur_extent,
foff_w, lbuf, boff_w, _("hole"), tot_w,
- (st.st_size / blocksize) - last_logical);
+ (st.st_size - last_logical) / blocksize);
} else {
printf("\t%d: %s %s", cur_extent, lbuf,
_("hole"));
if (lflag)
printf(_(" %llu blocks\n"),
- (st.st_size / blocksize) -
- last_logical);
+ (st.st_size - last_logical) / blocksize);
else
printf("\n");
}