Translate flags in fiemap_f output to human readable strings. Signed-off-by: Lukas Czerner <lczerner@xxxxxxxxxx> --- ltp/fsstress.c | 17 +++++++++++++++-- 1 file changed, 15 insertions(+), 2 deletions(-) diff --git a/ltp/fsstress.c b/ltp/fsstress.c index 24864db..869a8ac 100644 --- a/ltp/fsstress.c +++ b/ltp/fsstress.c @@ -2252,6 +2252,18 @@ fdatasync_f(int opno, long r) free_pathname(&f); close(fd); } + +#ifdef HAVE_LINUX_FIEMAP_H +struct print_flags fiemap_flags[] = { + { FIEMAP_FLAG_SYNC, "SYNC"}, + { FIEMAP_FLAG_XATTR, "XATTR"}, + { -1, NULL} +}; + +#define translate_fiemap_flags(mode) \ + ({translate_flags(mode, "|", fiemap_flags);}) +#endif + void fiemap_f(int opno, long r) { @@ -2314,9 +2326,10 @@ fiemap_f(int opno, long r) e = ioctl(fd, FS_IOC_FIEMAP, (unsigned long)fiemap); if (v) - printf("%d/%d: ioctl(FIEMAP) %s%s %lld %lld %x %d\n", + printf("%d/%d: ioctl(FIEMAP) %s%s %lld %lld (%s) %d\n", procid, opno, f.path, st, (long long)fiemap->fm_start, - (long long) fiemap->fm_length, fiemap->fm_flags, e); + (long long) fiemap->fm_length, + translate_fiemap_flags(fiemap->fm_flags), e); free(fiemap); free_pathname(&f); close(fd); -- 1.8.3.1 _______________________________________________ xfs mailing list xfs@xxxxxxxxxxx http://oss.sgi.com/mailman/listinfo/xfs