[PATCH 6/8] fsstress: translate flags in fiemap_f
Lukas Czerner
lczerner at redhat.com
Fri Feb 28 10:11:03 CST 2014
Translate flags in fiemap_f output to human readable strings.
Signed-off-by: Lukas Czerner <lczerner at redhat.com>
---
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
More information about the xfs
mailing list