search for: block_info

Displaying 5 results from an estimated 5 matches for "block_info".

Did you mean: lock_info
2012 May 27
0
[RFC PATCH] Decrease Metadata Fragment Using A Caterpillar Band Method
...ent_item, flags, 64); +BTRFS_SETGET_FUNCS(extent_cater, struct btrfs_extent_item, + cater_index_factor, 8); BTRFS_SETGET_FUNCS(extent_refs_v0, struct btrfs_extent_item_v0, refs, 32); @@ -1781,6 +1786,16 @@ static inline void btrfs_set_tree_block_ write_eb_member(eb, item, struct btrfs_tree_block_info, key, key); } +static inline u8 btrfs_cater_factor(u8 cater_index_factor) +{ + return (cater_index_factor & 15); +} + +static inline u8 btrfs_cater_index(u8 cater_index_factor) +{ + return (cater_index_factor >> 4); +} + BTRFS_SETGET_FUNCS(extent_data_ref_root, struct btrfs_extent_dat...
2013 Mar 15
0
[PATCH] Btrfs-progs: add skinny metadata support to progs V3
...refs, 0, 0, 0, metadata, num_bytes); ptr = (unsigned long)(ei + 1); - if (btrfs_extent_flags(eb, ei) & BTRFS_EXTENT_FLAG_TREE_BLOCK) + if (btrfs_extent_flags(eb, ei) & BTRFS_EXTENT_FLAG_TREE_BLOCK && + key.type == BTRFS_EXTENT_ITEM_KEY) ptr += sizeof(struct btrfs_tree_block_info); end = (unsigned long)ei + item_size; @@ -2568,18 +2584,18 @@ static int process_extent_item(struct cache_tree *extent_cache, dref), btrfs_extent_data_ref_offset(eb, dref), btrfs_extent_data_ref_count(eb, dref), - 0, key.offset); + 0, num_bytes); break;...
2013 Oct 17
0
[PATCH] Btrfs-progs: fix btrfsck improper prompt on dropping snapshots
...;objectid == drop_key->objectid) { + if (key->type < drop_key->type) + return 1; + else if (key->type == drop_key->type) { + if (key->offset < drop_key->offset) + return 1; + } + } + return 0; +} + static int run_next_block(struct btrfs_root *root, struct block_info *bits, int bits_nr, @@ -3612,7 +3633,8 @@ static int run_next_block(struct btrfs_root *root, struct cache_tree *chunk_cache, struct rb_root *dev_cache, struct block_group_tree *block_group_cache, - struct device_extent_tree *dev_extent_cache) + struct device_extent_t...
2009 May 12
0
[PATCH 1/2] btrfs-progs: mixed back ref support
...lt;< 1) + +/* following flags only apply to tree blocks */ + +/* tree block is not referenced by its owner tree */ +#define BTRFS_BLOCK_NO_OWNER_REF (1ULL << 8) +/* use full backrefs for extent pointers in the block*/ +#define BTRFS_BLOCK_FULL_BACKREF (1ULL << 9) + +struct btrfs_tree_block_info { + struct btrfs_disk_key key; + u8 level; } __attribute__ ((__packed__)); -struct btrfs_extent_ref { +struct btrfs_extent_data_ref { __le64 root; - __le64 generation; __le64 objectid; - __le32 num_refs; + __le64 offset; + __le32 count; +} __attribute__ ((__packed__)); + +struct btrfs_shared...
2013 Apr 03
0
[PATCH] Btrfs-progs: add a free space cache checker to fsck
...!ret) + continue; + + ret = verify_space_cache(root, cache); + if (ret) { + fprintf(stderr, "cache appears valid but isnt %Lu\n", + cache->key.objectid); + error++; + } + } + + return error ? -EINVAL : 0; +} + static int run_next_block(struct btrfs_root *root, struct block_info *bits, int bits_nr, @@ -3862,6 +4066,11 @@ int cmd_check(int argc, char **argv) if (ret) fprintf(stderr, "Errors found in extent allocation tree\n"); + fprintf(stderr, "checking free space cache\n"); + ret = check_space_cache(root); + if (ret) + goto out; + fprin...