search for: btrfs_free_block_groups

Displaying 11 results from an estimated 11 matches for "btrfs_free_block_groups".

2012 Mar 08
17
kernel BUG at fs/btrfs/delayed-inode.c:1466!
Hi, this shown up today. I had to do a hard reboot as graceful hanged on sync(). ------------[ cut here ]------------ kernel BUG at fs/btrfs/delayed-inode.c:1466! invalid opcode: 0000 [#1] SMP CPU 10 Modules linked in: btrfs zlib_deflate lzo_compress ipmi_devintf autofs4 be2iscsi iscsi_boot_sysfs ib_iser rdma_cm ib_cm iw_cm ib_sa ib_mad ib_addr iscsi_tcp bnx2i cnic uio ipv6 cxgb3i libcxgbi
2011 Feb 09
1
warning in btrfs_free_block_groups
I suspect this might be related to previous btrfs errors I''ve had on the same filesystem. See: http://python.ca/nas/linux/btrfs_bug.txt The most recent kernel message is: WARNING: at fs/btrfs/extent-tree.c:8239 btrfs_free_block_groups+0x218/0x275() Hardware name: MS-7388 Modules linked in: udf crc_itu_t isofs loop nls_iso8859_1 vboxnetflt vboxdrv nls_utf8 nls_cp437 vfat fat kvm_amd kvm ipv6 fuse f71882fg snd_hda_codec_realtek snd_hda_intel snd_hda_codec snd_hwdep snd_pcm_oss snd_mixer_oss snd_pcm snd_seq_midi snd_rawmidi...
2013 Mar 18
0
[PATCH] Btrfs-progs: fix memory leaks on cleanup
...;fs_info->extent_cache); extent_io_tree_cleanup(&fs_info->free_space_cache); extent_io_tree_cleanup(&fs_info->block_group_cache); diff --git a/extent-tree.c b/extent-tree.c index eede633..ba47688 100644 --- a/extent-tree.c +++ b/extent-tree.c @@ -3172,10 +3172,12 @@ out: int btrfs_free_block_groups(struct btrfs_fs_info *info) { + struct btrfs_space_info *sinfo; u64 start; u64 end; u64 ptr; int ret; + while(1) { ret = find_first_extent_bit(&info->block_group_cache, 0, &start, &end, (unsigned int)-1); @@ -3195,6 +3197,13 @@ int btrfs_free_block_groups(stru...
2010 May 11
0
[PATCH 4/5] btrfs: don't cache empty block groups during mount
...- spin_lock(&block_group->space_info->lock); - block_group->space_info->bytes_super += block_group->bytes_super; - spin_unlock(&block_group->space_info->lock); - last = max_t(u64, block_group->key.objectid, BTRFS_SUPER_INFO_OFFSET); /* @@ -7499,6 +7541,7 @@ int btrfs_free_block_groups(struct btrfs if (block_group->cached == BTRFS_CACHE_STARTED) wait_block_group_cache_done(block_group); + free_excluded_extents(info->extent_root, block_group); btrfs_remove_free_space_cache(block_group); btrfs_put_block_group(block_group); @@ -7586,26 +7629,12 @@ int btrfs_r...
2013 Feb 07
1
[PATCH] Btrfs: cleanup orphan reservation if truncate fails
I noticed we were getting lots of warnings with xfstest 83 because we have reservations outstanding. This is because we moved the orphan add outside of the truncate, but we don''t actually cleanup our reservation if something fails. This fixes the problem and I no longer see warnings. Thanks, Signed-off-by: Josef Bacik <jbacik@fusionio.com> --- fs/btrfs/inode.c | 2 ++ 1
2008 Oct 10
1
[PATCH] fix enospc when there is plenty of space
...info(struct btrfs_space_info *info, u64 bytes) btrfs_dump_free_space(cache, bytes); spin_unlock(&cache->lock); } - spin_unlock(&info->lock); + up_read(&info->groups_sem); } static int __btrfs_reserve_extent(struct btrfs_trans_handle *trans, @@ -5079,9 +5019,9 @@ int btrfs_free_block_groups(struct btrfs_fs_info *info) rb_erase(&block_group->cache_node, &info->block_group_cache_tree); - spin_lock(&block_group->space_info->lock); + down_write(&block_group->space_info->groups_sem); list_del(&block_group->list); - spin_unlock(&b...
2013 Apr 03
0
[PATCH] Btrfs-progs: add a free space cache checker to fsck
.../extent-tree.c @@ -26,6 +26,7 @@ #include "transaction.h" #include "crc32c.h" #include "volumes.h" +#include "free-space-cache.h" #define BLOCK_GROUP_DATA EXTENT_WRITEBACK #define BLOCK_GROUP_METADATA EXTENT_UPTODATE @@ -3176,6 +3177,7 @@ out: int btrfs_free_block_groups(struct btrfs_fs_info *info) { struct btrfs_space_info *sinfo; + struct btrfs_block_group_cache *cache; u64 start; u64 end; u64 ptr; @@ -3187,8 +3189,14 @@ int btrfs_free_block_groups(struct btrfs_fs_info *info) if (ret) break; ret = get_state_private(&info->block_group_cac...
2010 Apr 19
0
[PATCH 08/12] Btrfs: Introduce global metadata reservation
...- (unsigned long long)info->bytes_root, - (unsigned long long)info->bytes_super, - (unsigned long long)info->bytes_reserved); + (unsigned long long)info->bytes_readonly); spin_unlock(&info->lock); if (!dump_block_groups) @@ -7598,6 +7704,8 @@ int btrfs_free_block_groups(struct btrfs */ synchronize_rcu(); + release_global_block_rsv(info); + while(!list_empty(&info->space_info)) { space_info = list_entry(info->space_info.next, struct btrfs_space_info, diff -urp 8/fs/btrfs/inode.c 9/fs/btrfs/inode.c --- 8/fs/btrfs/inode.c 2010-04-18 10:58:...
2013 Aug 29
4
[PATCH] Notify caching_thread()s to give up on extent_commit_sem when needed.
...ache *cache; struct btrfs_space_info *space_info; - down_write(&fs_info->extent_commit_sem); + BTRFS_DOWN_WRITE_EXTENT_COMMIT_SEM(fs_info); list_for_each_entry_safe(caching_ctl, next, &fs_info->caching_block_groups, list) { @@ -8219,7 +8220,7 @@ int btrfs_free_block_groups(struct btrfs_fs_info *info) struct btrfs_caching_control *caching_ctl; struct rb_node *n; - down_write(&info->extent_commit_sem); + BTRFS_DOWN_WRITE_EXTENT_COMMIT_SEM(fs_info); while (!list_empty(&info->caching_block_groups)) { caching_ctl = list_entry(i...
2009 May 12
0
[PATCH 1/2] btrfs-progs: mixed back ref support
...NOMEM); } btrfs_set_buffer_uptodate(buf); trans->blocks_used++; + return buf; } +#if 0 + static int noinline drop_leaf_ref(struct btrfs_trans_handle *trans, struct btrfs_root *root, struct extent_buffer *leaf) @@ -2356,6 +2452,8 @@ out: return ret; } +#endif + int btrfs_free_block_groups(struct btrfs_fs_info *info) { u64 start; diff -urp btrfs-progs-unstable/kerncompat.h btrfs-progs-2/kerncompat.h --- btrfs-progs-unstable/kerncompat.h 2009-01-08 08:30:09.758081132 +0800 +++ btrfs-progs-2/kerncompat.h 2009-04-22 15:13:09.000000000 +0800 @@ -191,6 +191,7 @@ static inline long IS_E...
2011 Oct 06
26
[PATCH v0 00/18] btfs: Subvolume Quota Groups
This is a first draft of a subvolume quota implementation. It is possible to limit subvolumes and any group of subvolumes and also to track the amount of space that will get freed when deleting snapshots. The current version is functionally incomplete, with the main missing feature being the initial scan and rescan of an existing filesystem. I put some effort into writing an introduction into