Displaying 4 results from an estimated 4 matches for "groups_sem".
2008 Oct 10
1
[PATCH] fix enospc when there is plenty of space
...h again, with loop == 2. If we come
full circle and haven''t found what we need then we exit with -ENOSPC. I''ve been
running this for a couple of days now and it seems stable, and I haven''t yet hit
a -ENOSPC when there was plenty of space left.
Also I''ve made a groups_sem to handle the group list for the space_info. This
is part of my locking changes, but is relatively safe and seems better than
holding the space_info spinlock over that entire search time. Thanks,
Signed-off-by: Josef Bacik <jbacik@redhat.com>
diff --git a/fs/btrfs/ctree.h b/fs/btrfs/ctre...
2009 Mar 20
1
[PATCH 2/4] Btrfs: clean up find_free_extent
...{
- last_wanted = 0;
+ if (search_start == hint_byte) {
+ using_hint = 1;
+ block_group = btrfs_lookup_block_group(root->fs_info,
+ search_start);
+ if (block_group && block_group_bits(block_group, data)) {
+ total_needed += empty_size;
+ down_read(&space_info->groups_sem);
+ goto have_block_group;
+ }
+
empty_size += empty_cluster;
+ using_hint = 0;
}
- total_needed += empty_size;
- block_group = btrfs_lookup_block_group(root->fs_info, search_start);
- if (!block_group)
- block_group = btrfs_lookup_first_block_group(root->fs_info,
- sea...
2009 Aug 24
0
[PATCH] Btrfs: proper metadata -ENOSPC handling
...s_delalloc,
(unsigned long long)info->bytes_may_use,
- (unsigned long long)info->bytes_used);
+ (unsigned long long)info->bytes_used,
+ (unsigned long long)info->bytes_readonly,
+ (unsigned long long)info->bytes_super);
down_read(&info->groups_sem);
list_for_each_entry(cache, &info->block_groups, list) {
spin_lock(&cache->lock);
printk(KERN_INFO "block group %llu has %llu bytes, %llu used "
- "%llu pinned %llu reserved\n",
+ "%llu pinned %llu reserved %llu super and is%s "
+...
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.