Displaying 5 results from an estimated 5 matches for "btrfs_block_group_used".
2010 May 11
0
[PATCH 4/5] btrfs: don't cache empty block groups during mount
...nd therefore
- * don''t need to bother with the caching work since we won''t
- * find any space, or we are empty, and we can just add all
- * the space in and be done with it. This saves us _alot_ of
- * time, particularly in the full case.
- */
- if (found_key.offset == btrfs_block_group_used(&cache->item)) {
- exclude_super_stripes(root, cache);
- cache->last_byte_to_unpin = (u64)-1;
- cache->cached = BTRFS_CACHE_FINISHED;
- free_excluded_extents(root, cache);
- } else if (btrfs_block_group_used(&cache->item) == 0) {
- exclude_super_stripes(root, cache);...
2011 Mar 31
4
[PATCH] Btrfs: fix free space cache when there are pinned extents and clusters
...de "disk-io.h"
+#include "extent_io.h"
#define BITS_PER_BITMAP (PAGE_CACHE_SIZE * 8)
#define MAX_CACHE_BYTES_PER_GIG (32 * 1024)
@@ -222,6 +223,7 @@ int load_free_space_cache(struct btrfs_fs_info *fs_info,
u64 num_entries;
u64 num_bitmaps;
u64 generation;
+ u64 used = btrfs_block_group_used(&block_group->item);
u32 cur_crc = ~(u32)0;
pgoff_t index = 0;
unsigned long first_page_offset;
@@ -467,6 +469,17 @@ next:
index++;
}
+ spin_lock(&block_group->tree_lock);
+ if (btrfs_block_group_free_space(block_group) !=
+ (block_group->key.offset - used - block_...
2009 Aug 24
0
[PATCH] Btrfs: proper metadata -ENOSPC handling
...d "
- "%llu pinned %llu reserved\n",
+ "%llu pinned %llu reserved %llu super and is%s "
+ "read only\n",
(unsigned long long)cache->key.objectid,
(unsigned long long)cache->key.offset,
(unsigned long long)btrfs_block_group_used(&cache->item),
(unsigned long long)cache->pinned,
- (unsigned long long)cache->reserved);
+ (unsigned long long)cache->reserved,
+ (unsigned long long)cache->bytes_super,
+ cache->ro ? "" : " not");
btrfs_dump_fr...
2011 Aug 23
40
[PATCH 00/21] [RFC] Btrfs: restriper
Hello,
This patch series adds an initial implementation of restriper (it''s a
clever name for relocation framework that allows to do selective profile
changing and selective balancing with some goodies like pausing/resuming
and reporting progress to the user.
Profile changing is global (per-FS) so far, per-subvolume profiles
require some discussion and can be implemented in future.
2010 Sep 03
0
[PATCH 1/2] btrfs: document where we use BUG_ON instead of error handling
...ns,
ret = relocate_one_path(trans, root, path, first_key,
ref_path, NULL, NULL);
- BUG_ON(ret);
+ btrfs_fixable_bug_on(ret);
return 0;
}
@@ -7972,7 +7972,7 @@ int btrfs_read_block_groups(struct btrfs_root *root)
ret = update_space_info(info, cache->flags, found_key.offset,
btrfs_block_group_used(&cache->item),
&space_info);
- BUG_ON(ret);
+ btrfs_fixable_bug_on(ret);
cache->space_info = space_info;
spin_lock(&cache->space_info->lock);
cache->space_info->bytes_readonly += cache->bytes_super;
@@ -7981,7 +7981,7 @@ int btrfs_read_block_groups(...