ASSERT(ctx->roots == NULL);
 
        key.objectid = ctx->bytenr;
-       key.offset = (u64)-1;
        if (btrfs_fs_incompat(ctx->fs_info, SKINNY_METADATA))
                key.type = BTRFS_METADATA_ITEM_KEY;
        else
                key.type = BTRFS_EXTENT_ITEM_KEY;
+       key.offset = (u64)-1;
 
        path = btrfs_alloc_path();
        if (!path)
        struct btrfs_extent_item *ei;
        struct btrfs_key key;
 
+       key.objectid = logical;
        if (btrfs_fs_incompat(fs_info, SKINNY_METADATA))
                key.type = BTRFS_METADATA_ITEM_KEY;
        else
                key.type = BTRFS_EXTENT_ITEM_KEY;
-       key.objectid = logical;
        key.offset = (u64)-1;
 
        ret = btrfs_search_slot(NULL, extent_root, &key, path, 0, 0);
 
        path->reada = READA_FORWARD;
 
        key.objectid = last;
-       key.offset = 0;
        key.type = BTRFS_EXTENT_ITEM_KEY;
+       key.offset = 0;
 
 next:
        ret = btrfs_search_slot(NULL, extent_root, &key, path, 0, 0);
 
                if (key.objectid < last) {
                        key.objectid = last;
-                       key.offset = 0;
                        key.type = BTRFS_EXTENT_ITEM_KEY;
+                       key.offset = 0;
                        btrfs_release_path(path);
                        goto next;
                }
                return fill_dummy_bgs(info);
 
        key.objectid = 0;
-       key.offset = 0;
        key.type = BTRFS_BLOCK_GROUP_ITEM_KEY;
+       key.offset = 0;
        path = btrfs_alloc_path();
        if (!path)
                return -ENOMEM;
 
                root = fs_info->tree_root;
        } else {
                key.objectid = ino;
-               key.offset = btrfs_ino(BTRFS_I(dir));
                key.type = BTRFS_INODE_REF_KEY;
+               key.offset = btrfs_ino(BTRFS_I(dir));
        }
 
        ret = btrfs_search_slot(NULL, root, &key, path, 0, 0);
 
                return -ENOMEM;
 
        key.objectid = start;
-       key.offset = len;
        key.type = BTRFS_EXTENT_ITEM_KEY;
+       key.offset = len;
        ret = btrfs_search_slot(NULL, root, &key, path, 0, 0);
        btrfs_free_path(path);
        return ret;
 
 search_again:
        key.objectid = bytenr;
-       key.offset = offset;
        if (metadata)
                key.type = BTRFS_METADATA_ITEM_KEY;
        else
                key.type = BTRFS_EXTENT_ITEM_KEY;
+       key.offset = offset;
 
        extent_root = btrfs_extent_root(fs_info, bytenr);
        ret = btrfs_search_slot(NULL, extent_root, &key, path, 0, 0);
                                metadata = 0;
 
                                key.objectid = head->bytenr;
-                               key.offset = head->num_bytes;
                                key.type = BTRFS_EXTENT_ITEM_KEY;
+                               key.offset = head->num_bytes;
                                goto again;
                        }
                } else {
        int ret;
 
        key.objectid = bytenr;
-       key.offset = (u64)-1;
        key.type = BTRFS_EXTENT_ITEM_KEY;
+       key.offset = (u64)-1;
 
        ret = btrfs_search_slot(NULL, extent_root, &key, path, 0, 0);
        if (ret < 0)
 
        path = btrfs_alloc_path();
        if (!path)
                return -ENOMEM;
+
        file_key.objectid = objectid;
-       file_key.offset = pos;
        file_key.type = BTRFS_EXTENT_DATA_KEY;
+       file_key.offset = pos;
 
        ret = btrfs_insert_empty_item(trans, root, path, &file_key,
                                      sizeof(*item));
        int csums_in_item;
 
        file_key.objectid = BTRFS_EXTENT_CSUM_OBJECTID;
-       file_key.offset = bytenr;
        file_key.type = BTRFS_EXTENT_CSUM_KEY;
+       file_key.offset = bytenr;
        ret = btrfs_search_slot(trans, root, &file_key, path, 0, cow);
        if (ret < 0)
                goto fail;
        int cow = mod != 0;
 
        file_key.objectid = objectid;
-       file_key.offset = offset;
        file_key.type = BTRFS_EXTENT_DATA_KEY;
+       file_key.offset = offset;
 
        return btrfs_search_slot(trans, root, &file_key, path, ins_len, cow);
 }
        path->nowait = nowait;
 
        key.objectid = BTRFS_EXTENT_CSUM_OBJECTID;
-       key.offset = start;
        key.type = BTRFS_EXTENT_CSUM_KEY;
+       key.offset = start;
 
        ret = btrfs_search_slot(NULL, root, &key, path, 0, 0);
        if (ret < 0)
 
        while (1) {
                key.objectid = BTRFS_EXTENT_CSUM_OBJECTID;
-               key.offset = end_byte - 1;
                key.type = BTRFS_EXTENT_CSUM_KEY;
+               key.offset = end_byte - 1;
 
                ret = btrfs_search_slot(trans, root, &key, path, -1, 1);
                if (ret > 0) {
        found_next = 0;
        bytenr = sums->logical + total_bytes;
        file_key.objectid = BTRFS_EXTENT_CSUM_OBJECTID;
-       file_key.offset = bytenr;
        file_key.type = BTRFS_EXTENT_CSUM_KEY;
+       file_key.offset = bytenr;
 
        item = btrfs_lookup_csum(trans, root, path, bytenr, 1);
        if (!IS_ERR(item)) {
 
        int ret;
 
        key.objectid = BTRFS_FREE_SPACE_OBJECTID;
-       key.offset = offset;
        key.type = 0;
+       key.offset = offset;
 
        ret = btrfs_search_slot(NULL, root, &key, path, 0, 0);
        if (ret < 0)
        btrfs_release_path(path);
 
        key.objectid = BTRFS_FREE_SPACE_OBJECTID;
-       key.offset = offset;
        key.type = 0;
+       key.offset = offset;
        ret = btrfs_insert_empty_item(trans, root, path, &key,
                                      sizeof(struct btrfs_free_space_header));
        if (ret < 0) {
                return 0;
 
        key.objectid = BTRFS_FREE_SPACE_OBJECTID;
-       key.offset = offset;
        key.type = 0;
+       key.offset = offset;
 
        ret = btrfs_search_slot(NULL, root, &key, path, 0, 0);
        if (ret < 0)
        int ret;
 
        key.objectid = BTRFS_FREE_SPACE_OBJECTID;
-       key.offset = offset;
        key.type = 0;
+       key.offset = offset;
 
        ret = btrfs_search_slot(trans, root, &key, path, 0, 1);
        if (ret < 0) {
 
        int del_len = name->len + sizeof(*ref);
 
        key.objectid = inode_objectid;
-       key.offset = ref_objectid;
        key.type = BTRFS_INODE_REF_KEY;
+       key.offset = ref_objectid;
 
        path = btrfs_alloc_path();
        if (!path)
        int ins_len = name->len + sizeof(*ref);
 
        key.objectid = inode_objectid;
-       key.offset = ref_objectid;
        key.type = BTRFS_INODE_REF_KEY;
+       key.offset = ref_objectid;
 
        path = btrfs_alloc_path();
        if (!path)
        path->reada = READA_BACK;
 
        key.objectid = control->ino;
-       key.offset = (u64)-1;
        key.type = (u8)-1;
+       key.offset = (u64)-1;
 
 search_again:
        /*
 
                size_t datasize;
 
                key.objectid = btrfs_ino(inode);
-               key.offset = 0;
                key.type = BTRFS_EXTENT_DATA_KEY;
+               key.offset = 0;
 
                datasize = btrfs_file_extent_calc_inline_size(cur_size);
                ret = btrfs_insert_empty_item(trans, root, path, &key,
 
        if (!drop_args.extent_inserted) {
                ins.objectid = btrfs_ino(inode);
-               ins.offset = file_pos;
                ins.type = BTRFS_EXTENT_DATA_KEY;
+               ins.offset = file_pos;
 
                ret = btrfs_insert_empty_item(trans, root, path, &ins,
                                              sizeof(*stack_fi));
                btrfs_update_inode_bytes(inode, num_bytes, drop_args.bytes_found);
 
        ins.objectid = disk_bytenr;
-       ins.offset = disk_num_bytes;
        ins.type = BTRFS_EXTENT_ITEM_KEY;
+       ins.offset = disk_num_bytes;
 
        ret = btrfs_inode_set_file_extent_range(inode, file_pos, ram_bytes);
        if (ret)
                goto out;
        }
        key.objectid = btrfs_ino(BTRFS_I(inode));
-       key.offset = 0;
        key.type = BTRFS_EXTENT_DATA_KEY;
+       key.offset = 0;
        datasize = btrfs_file_extent_calc_inline_size(name_len);
        err = btrfs_insert_empty_item(trans, root, path, &key,
                                      datasize);
 
        btrfs_set_root_dirid(root_item, BTRFS_FIRST_FREE_OBJECTID);
 
        key.objectid = objectid;
-       key.offset = 0;
        key.type = BTRFS_ROOT_ITEM_KEY;
+       key.offset = 0;
        ret = btrfs_insert_root(trans, fs_info->tree_root, &key,
                                root_item);
        if (ret) {
                }
 
                sh.objectid = key->objectid;
-               sh.offset = key->offset;
                sh.type = key->type;
+               sh.offset = key->offset;
                sh.len = item_len;
                sh.transid = found_transid;
 
 
                return -ENOMEM;
 
        key.objectid = 0;
-       key.offset = 0;
        key.type = 0;
+       key.offset = 0;
 
        while (1) {
                ret = btrfs_search_slot(trans, root, &key, path, -1, 1);
 
        if (path->nodes[0])
                goto search_forward;
 
+       key.objectid = search_start;
        if (btrfs_fs_incompat(fs_info, SKINNY_METADATA))
                key.type = BTRFS_METADATA_ITEM_KEY;
        else
                key.type = BTRFS_EXTENT_ITEM_KEY;
-       key.objectid = search_start;
        key.offset = (u64)-1;
 
        ret = btrfs_search_slot(NULL, extent_root, &key, path, 0, 0);
        path->skip_locking = 1;
 
        key.objectid = scrub_dev->devid;
-       key.offset = 0ull;
        key.type = BTRFS_DEV_EXTENT_KEY;
+       key.offset = 0ull;
 
        while (1) {
                u64 dev_extent_len;
 
        }
 
        key.objectid = objectid;
-       key.offset = (u64)-1;
        key.type = BTRFS_ROOT_ITEM_KEY;
+       key.offset = (u64)-1;
 
        rsv = trans->block_rsv;
        trans->block_rsv = &pending->block_rsv;
 
                                (unsigned long)item,  sizeof(*item));
 
                ins.objectid = btrfs_file_extent_disk_bytenr(eb, item);
-               ins.offset = btrfs_file_extent_disk_num_bytes(eb, item);
                ins.type = BTRFS_EXTENT_ITEM_KEY;
+               ins.offset = btrfs_file_extent_disk_num_bytes(eb, item);
                offset = key->offset - btrfs_file_extent_offset(eb, item);
 
                /*
        struct btrfs_dir_log_item *item;
 
        key.objectid = dirid;
-       key.offset = first_offset;
        key.type = BTRFS_DIR_LOG_INDEX_KEY;
+       key.offset = first_offset;
        ret = btrfs_insert_empty_item(trans, log, path, &key, sizeof(*item));
        /*
         * -EEXIST is fine and can happen sporadically when we are logging a
 
 again:
        key.objectid = BTRFS_TREE_LOG_OBJECTID;
-       key.offset = (u64)-1;
        key.type = BTRFS_ROOT_ITEM_KEY;
+       key.offset = (u64)-1;
 
        while (1) {
                ret = btrfs_search_slot(NULL, log_root_tree, &key, path, 0, 0);
 
        path->skip_locking = 1;
 
        key.objectid = device->devid;
-       key.offset = search_start;
        key.type = BTRFS_DEV_EXTENT_KEY;
+       key.offset = search_start;
 
        ret = btrfs_search_backwards(root, &key, path);
        if (ret < 0)
                return -ENOMEM;
 
        key.objectid = device->devid;
-       key.offset = start;
        key.type = BTRFS_DEV_EXTENT_KEY;
+       key.offset = start;
 again:
        ret = btrfs_search_slot(trans, root, &key, path, -1, 1);
        if (ret > 0) {
                return -ENOMEM;
 
        key.objectid = BTRFS_DEV_ITEMS_OBJECTID;
-       key.offset = 0;
        key.type = BTRFS_DEV_ITEM_KEY;
+       key.offset = 0;
 
        while (1) {
                btrfs_reserve_chunk_metadata(trans, false);
                return -ENOMEM;
 
        key.objectid = BTRFS_FIRST_CHUNK_TREE_OBJECTID;
-       key.offset = chunk_offset;
        key.type = BTRFS_CHUNK_ITEM_KEY;
+       key.offset = chunk_offset;
 
        ret = btrfs_search_slot(trans, root, &key, path, -1, 1);
        if (ret < 0)
 
 again:
        key.objectid = BTRFS_FIRST_CHUNK_TREE_OBJECTID;
-       key.offset = (u64)-1;
        key.type = BTRFS_CHUNK_ITEM_KEY;
+       key.offset = (u64)-1;
 
        while (1) {
                mutex_lock(&fs_info->reclaim_bgs_lock);
                bctl->sys.limit = limit_sys;
        }
        key.objectid = BTRFS_FIRST_CHUNK_TREE_OBJECTID;
-       key.offset = (u64)-1;
        key.type = BTRFS_CHUNK_ITEM_KEY;
+       key.offset = (u64)-1;
 
        while (1) {
                if ((!counting && atomic_read(&fs_info->balance_pause_req)) ||
 
 again:
        key.objectid = device->devid;
-       key.offset = (u64)-1;
        key.type = BTRFS_DEV_EXTENT_KEY;
+       key.offset = (u64)-1;
 
        do {
                mutex_lock(&fs_info->reclaim_bgs_lock);
         * item - BTRFS_FIRST_CHUNK_TREE_OBJECTID).
         */
        key.objectid = BTRFS_DEV_ITEMS_OBJECTID;
-       key.offset = 0;
        key.type = 0;
+       key.offset = 0;
        btrfs_for_each_slot(root, &key, &found_key, path, iter_ret) {
                struct extent_buffer *node = path->nodes[1];