Skip to contentSkip to conversation

perf trace beauty: Print O_RDONLY when (flags & O_ACCMODE) == 0

tip:perf/core tip-bot for Arnaldo Carvalho de Melo 1 participant 1 message Dec 20, 2018 perf events

lore
Share & tools
lore
#0 lore raw
Commit-ID:  601d66d43309534eb7a268bdc42c205521014645
Gitweb:     https://git.kernel.org/tip/601d66d43309534eb7a268bdc42c205521014645
Author:     Arnaldo Carvalho de Melo <[email protected]>
AuthorDate: Mon, 17 Dec 2018 11:55:57 -0300
Committer:  Arnaldo Carvalho de Melo <[email protected]>
CommitDate: Tue, 18 Dec 2018 16:07:42 -0300

perf trace beauty: Print O_RDONLY when (flags & O_ACCMODE) == 0

And there are more flags, to match strace's output.

openat(AT_FDCWD, "/etc/ld.so.cache", O_RDONLY|O_CLOEXEC) = 3

Also to help with regression tests.

---
 tools/perf/trace/beauty/open_flags.c | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)
tools/perf/trace/beauty/open_flags.c +3 -1
index 6da48893a1bb..78f6566ef110 100644
@@ -27,8 +27,10 @@ size_t open__scnprintf_flags(unsigned long flags, char *bf, size_t size, bool sh
 	const char *prefix = "O_";
 	int printed = 0;
 
+	if ((flags & O_ACCMODE) == O_RDONLY)
+		printed = scnprintf(bf, size, "%s%s", show_prefix ? prefix : "", "RDONLY");
 	if (flags == 0)
-		return scnprintf(bf, size, "%s%s", show_prefix ? prefix : "", "RDONLY");
+		return printed;
 #define	P_FLAG(n) \
 	if (flags & O_##n) { \
 		printed += scnprintf(bf + printed, size - printed, "%s%s%s", printed ? "|" : "", show_prefix ? prefix : "", #n); \