mirror of https://github.com/vitalif/e2fsprogs
filefrag: don't print extent header on bmap fallback
The extent list header gets printed before we fall back to bmap: # filefrag -v /mnt/test/bar Filesystem type is: 58465342 File size of /mnt/test/bar is 12288 (3 blocks, blocksize 4096) ext logical physical expected length flags <---- HERE Discontinuity: Block 2 is at 17 (was 16) /mnt/test/bar: 2 extents found so delay printing it until we know fiemap is working. (though ideally it'd be nice to have the same verbose output regardless of the interface we used, I think). Signed-off-by: Eric Sandeen <sandeen@redhat.com> Signed-off-by: Theodore Ts'o <tytso@mit.edu>bitmap-optimize
parent
1f3d16deaa
commit
334cfccbca
|
@ -174,6 +174,7 @@ static int filefrag_fiemap(int fd, int blk_shift, int *num_extents)
|
|||
unsigned long flags = 0;
|
||||
unsigned int i;
|
||||
static int fiemap_incompat_printed;
|
||||
int fiemap_header_printed = 0;
|
||||
int tot_extents = 1, n = 0;
|
||||
int last = 0;
|
||||
int rc;
|
||||
|
@ -191,11 +192,6 @@ static int filefrag_fiemap(int fd, int blk_shift, int *num_extents)
|
|||
if (xattr_map)
|
||||
flags |= FIEMAP_FLAG_XATTR;
|
||||
|
||||
if (verbose)
|
||||
printf(" ext %*s %*s %*s length flags\n", logical_width,
|
||||
"logical", physical_width, "physical",
|
||||
physical_width, "expected");
|
||||
|
||||
do {
|
||||
fiemap->fm_length = ~0ULL;
|
||||
fiemap->fm_flags = flags;
|
||||
|
@ -210,6 +206,13 @@ static int filefrag_fiemap(int fd, int blk_shift, int *num_extents)
|
|||
return rc;
|
||||
}
|
||||
|
||||
if (verbose && !fiemap_header_printed) {
|
||||
printf(" ext %*s %*s %*s length flags\n", logical_width,
|
||||
"logical", physical_width, "physical",
|
||||
physical_width, "expected");
|
||||
fiemap_header_printed = 1;
|
||||
}
|
||||
|
||||
if (!verbose) {
|
||||
*num_extents = fiemap->fm_mapped_extents;
|
||||
goto out;
|
||||
|
|
Loading…
Reference in New Issue