]> granicus.if.org Git - strace/commitdiff
quotactl: add decoding of if_dqinfo.dqi_flags constants
authorDmitry V. Levin <ldv@altlinux.org>
Tue, 19 Jan 2016 02:10:23 +0000 (02:10 +0000)
committerDmitry V. Levin <ldv@altlinux.org>
Tue, 19 Jan 2016 02:10:23 +0000 (02:10 +0000)
* xlat/if_dqinfo_flags.in: New file.
* quota.c: Include "xlat/if_dqinfo_flags.h".
(decode_cmd_data): Print struct if_dqinfo.dqi_flags using printflags.

quota.c
xlat/if_dqinfo_flags.in [new file with mode: 0644]

diff --git a/quota.c b/quota.c
index ec075f58b407e49d04950d721402ff49ebd2005c..5926e2e028b6c0c5fb6719c62012f0afda21ca89 100644 (file)
--- a/quota.c
+++ b/quota.c
@@ -46,6 +46,7 @@
 #include "xlat/xfs_quota_flags.h"
 #include "xlat/xfs_dqblk_flags.h"
 #include "xlat/if_dqblk_valid.h"
+#include "xlat/if_dqinfo_flags.h"
 #include "xlat/if_dqinfo_valid.h"
 
 struct if_dqblk
@@ -301,8 +302,9 @@ decode_cmd_data(struct tcb *tcp, uint32_t cmd, unsigned long data)
                                break;
                        tprintf("{bgrace=%" PRIu64 ", ", dq.dqi_bgrace);
                        tprintf("igrace=%" PRIu64 ", ", dq.dqi_igrace);
-                       tprintf("flags=%#x, ", dq.dqi_flags);
-                       tprints("valid=");
+                       tprints("flags=");
+                       printflags(if_dqinfo_flags, dq.dqi_flags, "DQF_???");
+                       tprints(", valid=");
                        printflags(if_dqinfo_valid, dq.dqi_valid, "IIF_???");
                        tprints("}");
                        break;
@@ -318,8 +320,9 @@ decode_cmd_data(struct tcb *tcp, uint32_t cmd, unsigned long data)
                                break;
                        tprintf("{bgrace=%u, ", dq.dqi_bgrace);
                        tprintf("igrace=%u, ", dq.dqi_igrace);
-                       tprintf("flags=%#x, ", dq.dqi_flags);
-                       tprintf("blocks=%u, ", dq.dqi_blocks);
+                       tprints("flags=");
+                       printflags(if_dqinfo_flags, dq.dqi_flags, "DQF_???");
+                       tprintf(", blocks=%u, ", dq.dqi_blocks);
                        tprintf("free_blk=%u, ", dq.dqi_free_blk);
                        tprintf("free_entry=%u}", dq.dqi_free_entry);
                        break;
diff --git a/xlat/if_dqinfo_flags.in b/xlat/if_dqinfo_flags.in
new file mode 100644 (file)
index 0000000..914532c
--- /dev/null
@@ -0,0 +1,2 @@
+DQF_ROOT_SQUASH        (1 << 0)
+DQF_SYS_FILE   (1 << 16)