diff options
author | Rakesh Pandit <rakesh@tuxera.com> | 2014-07-27 19:56:27 -0400 |
---|---|---|
committer | Theodore Ts'o <tytso@mit.edu> | 2014-07-27 19:56:27 -0400 |
commit | abc4697d5ae65052d766effa9e3d254673fd3ac4 (patch) | |
tree | aea7c38e6b131872136a4932234abc18d6c32a51 /misc | |
parent | 8dd650ab9ac394c6d6d19b02e8bb22d5a1e5da0d (diff) | |
download | e2fsprogs-abc4697d5ae65052d766effa9e3d254673fd3ac4.tar.gz |
filefrag: fix -B option and extents calculation for FIBMAP
29758d2 broke -B option which is useful for filesystems not supporting
FIEMAP. Also, fix extents calculation for -B which is broken since
2508eaa7.
Signed-off-by: Rakesh Pandit <rakesh@tuxera.com>
Signed-off-by: Theodore Ts'o <tytso@mit.edu>
Diffstat (limited to 'misc')
-rw-r--r-- | misc/filefrag.c | 9 |
1 files changed, 5 insertions, 4 deletions
diff --git a/misc/filefrag.c b/misc/filefrag.c index 820821b5..bb060b6d 100644 --- a/misc/filefrag.c +++ b/misc/filefrag.c @@ -331,9 +331,10 @@ static int filefrag_fibmap(int fd, int blk_shift, int *num_extents, fm_ext.fe_physical = block * st->st_blksize; fm_ext.fe_length = 0; (*num_extents)++; - } else if (verbose && last_block && (block != last_block + 1)) { - printf("Discontinuity: Block %ld is at %lu (was %lu)\n", - i, block, last_block + 1); + } else if (last_block && (block != last_block + 1)) { + if (verbose) + printf("Discontinuity: Block %ld is at %lu (was " + "%lu)\n", i, block, last_block + 1); (*num_extents)++; } fm_ext.fe_length += st->st_blksize; @@ -439,7 +440,7 @@ static int frag_report(const char *filename) expected = 0; } - if (rc < 0) { + if (force_bmap || rc < 0) { expected = filefrag_fibmap(fd, blk_shift, &num_extents, &st, numblocks, is_ext2); if (expected < 0) { |