]> granicus.if.org Git - strace/blobdiff - btrfs.c
Update statx parser and syscall entries lists to the upstream
[strace] / btrfs.c
diff --git a/btrfs.c b/btrfs.c
index b5d5d9231a5d59fc5db57ea965453979ac0b0706..e007040fd1fdc8209616c45cb55f165ed19f8687 100644 (file)
--- a/btrfs.c
+++ b/btrfs.c
@@ -32,6 +32,7 @@
 #include DEF_MPERS_TYPE(struct_btrfs_ioctl_dev_replace_args)
 #include DEF_MPERS_TYPE(struct_btrfs_ioctl_send_args)
 #include DEF_MPERS_TYPE(struct_btrfs_ioctl_received_subvol_args)
+#include DEF_MPERS_TYPE(struct_btrfs_ioctl_vol_args_v2)
 
 # include <linux/btrfs.h>
 
@@ -41,6 +42,8 @@ typedef struct btrfs_ioctl_send_args
        struct_btrfs_ioctl_send_args;
 typedef struct btrfs_ioctl_received_subvol_args
        struct_btrfs_ioctl_received_subvol_args;
+typedef struct btrfs_ioctl_vol_args_v2
+       struct_btrfs_ioctl_vol_args_v2;
 
 #endif /* HAVE_LINUX_BTRFS_H */
 
@@ -201,7 +204,7 @@ btrfs_print_balance_args(const char *name, const struct btrfs_balance_args *bba)
 }
 
 static void
-btrfs_print_balance(struct tcb *tcp, const long arg, bool out)
+btrfs_print_balance(struct tcb *const tcp, const kernel_ulong_t arg, bool out)
 {
        struct btrfs_ioctl_balance_args balance_args;
 
@@ -373,14 +376,14 @@ print_uint64(struct tcb *tcp, void *elem_buf, size_t elem_size, void *data)
 }
 
 static void
-btrfs_print_qgroup_inherit(struct tcb *tcp, const uint64_t qgi_addr)
+btrfs_print_qgroup_inherit(struct tcb *const tcp, const kernel_ulong_t qgi_addr)
 {
        struct btrfs_qgroup_inherit inherit;
 
        if (umove_or_printaddr(tcp, qgi_addr, &inherit))
                return;
 
-       tprintf("{flags=");
+       tprints("{flags=");
        printflags64(btrfs_qgroup_inherit_flags, inherit.flags,
                     "BTRFS_QGROUP_INHERIT_???");
        tprintf(", num_qgroups=%" PRI__u64 ", num_ref_copies=%" PRI__u64
@@ -420,7 +423,7 @@ btrfs_print_tree_search(struct tcb *tcp, struct btrfs_ioctl_search_key *key,
                        uint64_t buf_addr, uint64_t buf_size, bool print_size)
 {
        if (entering(tcp)) {
-               tprintf("{key={tree_id=");
+               tprints("{key={tree_id=");
                btrfs_print_objectid(key->tree_id);
 
                if (key->min_objectid != BTRFS_FIRST_FREE_OBJECTID ||
@@ -509,7 +512,8 @@ print_btrfs_ioctl_space_info(struct tcb *tcp, void *elem_buf,
 }
 
 MPERS_PRINTER_DECL(int, btrfs_ioctl,
-                  struct tcb *tcp, const unsigned int code, const long arg)
+                  struct tcb *const tcp, const unsigned int code,
+                  const kernel_ulong_t arg)
 {
        switch (code) {
        /* Take no arguments; command only. */
@@ -808,7 +812,7 @@ MPERS_PRINTER_DECL(int, btrfs_ioctl,
                sectorsize = args.sectorsize,
                clone_alignment = args.clone_alignment;
 #else
-               reserved32 = (__u32 *)args.reserved;
+               reserved32 = (__u32 *) (void *) args.reserved;
                nodesize = reserved32[0];
                sectorsize = reserved32[1];
                clone_alignment = reserved32[2];
@@ -1213,7 +1217,7 @@ MPERS_PRINTER_DECL(int, btrfs_ioctl,
                        tprints("...");
                else {
                        uint64_t record;
-                       print_array(tcp, (unsigned long) args.clone_sources,
+                       print_array(tcp, ptr_to_kulong(args.clone_sources),
                                    args.clone_sources_count,
                                    &record, sizeof(record),
                                    umoven_or_printaddr,
@@ -1294,7 +1298,7 @@ MPERS_PRINTER_DECL(int, btrfs_ioctl,
 
        case BTRFS_IOC_SNAP_CREATE_V2:
        case BTRFS_IOC_SUBVOL_CREATE_V2: { /* code is W, but is actually RW */
-               struct btrfs_ioctl_vol_args_v2 args;
+               struct_btrfs_ioctl_vol_args_v2 args;
 
                if (entering(tcp))
                        tprints(", ");
@@ -1313,19 +1317,19 @@ MPERS_PRINTER_DECL(int, btrfs_ioctl,
                        printflags64(btrfs_snap_flags_v2, args.flags,
                                     "BTRFS_SUBVOL_???");
                        if (args.flags & BTRFS_SUBVOL_QGROUP_INHERIT) {
-                               tprintf(", size=%" PRI__u64 ", qgroup_inherit=",
-                                       args.size);
+                               tprintf(", size=%" PRIu64 ", qgroup_inherit=",
+                                       (uint64_t) args.size);
 
                                btrfs_print_qgroup_inherit(tcp,
-                                       (unsigned long)args.qgroup_inherit);
+                                       ptr_to_kulong(args.qgroup_inherit));
                        }
-                       tprintf(", name=");
+                       tprints(", name=");
                        print_quoted_string(args.name, sizeof(args.name),
                                            QUOTE_0_TERMINATED);
                        tprints("}");
                        return 0;
                }
-               tprintf("{transid=%" PRI__u64 "}", args.transid);
+               tprintf("{transid=%" PRIu64 "}", (uint64_t) args.transid);
                break;
        }