From: Nikolay Borisov Date: Thu, 24 Aug 2017 21:43:40 +0000 (-0500) Subject: fiemap: Eliminate num_extents X-Git-Tag: v4.13.0-rc1~13 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=cb404e20fa295803266b874a65d6036834440c50;p=thirdparty%2Fxfsprogs-dev.git fiemap: Eliminate num_extents Fiemap has this rather convoluted logic to calculate the number of extents to query. This introduces needless complexity with no real benefit. Remove num_extents and instead hardcode the number of extents we query for in a single go to 32. No functional changes Signed-off-by: Nikolay Borisov Reviewed-by: Eric Sandeen Reviewed-by: Darrick J. Wong Signed-off-by: Eric Sandeen --- diff --git a/io/fiemap.c b/io/fiemap.c index d284248e4..a31db790c 100644 --- a/io/fiemap.c +++ b/io/fiemap.c @@ -23,6 +23,8 @@ #include "init.h" #include "io.h" +#define EXTENT_BATCH 32 + static cmdinfo_t fiemap_cmd; static int max_extents = 0; @@ -195,7 +197,6 @@ fiemap_f( char **argv) { struct fiemap *fiemap; - int num_extents = 32; int last = 0; int lflag = 0; int vflag = 0; @@ -231,10 +232,8 @@ fiemap_f( } } - if (max_extents) - num_extents = min(num_extents, max_extents); map_size = sizeof(struct fiemap) + - (num_extents * sizeof(struct fiemap_extent)); + (EXTENT_BATCH * sizeof(struct fiemap_extent)); fiemap = malloc(map_size); if (!fiemap) { fprintf(stderr, _("%s: malloc of %d bytes failed.\n"), @@ -246,15 +245,12 @@ fiemap_f( printf("%s:\n", file->name); while (!last && ((cur_extent + 1) != max_extents)) { - if (max_extents) - num_extents = min(num_extents, - max_extents - (cur_extent + 1)); memset(fiemap, 0, map_size); fiemap->fm_flags = fiemap_flags; fiemap->fm_start = last_logical; fiemap->fm_length = -1LL; - fiemap->fm_extent_count = num_extents; + fiemap->fm_extent_count = EXTENT_BATCH; ret = ioctl(file->fd, FS_IOC_FIEMAP, (unsigned long)fiemap); if (ret < 0) {