Displaying 20 results from an estimated 200 matches similar to: "Memory barrier not required in cached_block_group"
2009 Mar 20
1
[PATCH 2/4] Btrfs: clean up find_free_extent
The whole loop=0,1,2 thing was kind of odd and not very self explanatory. I''ve
replaced it with a list_for_each_entry on space_info->block_groups. If we have
a hint we just jump into the loop with the block group and start looking for
space. If we don''t find anything we start at the beginning and start looking.
We never come out of the loop with a ref on the block_group
2008 Oct 10
1
[PATCH] fix enospc when there is plenty of space
Hello,
So there is an odd case where we can possibly return -ENOSPC when there is in
fact space to be had. I think I finally have a hold on what the problem is, it
only happens with Metadata writes, and happens _very_ infrequently. What has to
happen is we have to allocate have allocated out of the first logical byte on
the disk, which would set last_alloc to first_logical_byte(root, 0), so
2013 Aug 29
4
[PATCH] Notify caching_thread()s to give up on extent_commit_sem when needed.
caching_thread()s do all their work under read access to extent_commit_sem.
They give up on this read access only when need_resched() tells them, or
when they exit. As a result, somebody that wants a WRITE access to this sem,
might wait for a long time. Especially this is problematic in
cache_block_group(),
which can be called on critical paths like find_free_extent() and in commit
path via
2007 Nov 12
0
[PATCH]Minor fix for find_search_start
Hello,
This patch adds a new parameter 'full_scan' to 'find_search_start',
thereby 'find_search_start' can know whether 'find_free_extent' is in
full scan phrase. I feel that 'find_search_start' should skip calling
'btrfs_find_block_group' when 'find_free_extent' is in full scan
phrase. In my test on a 2GB volume, Oops occurs when space
2008 Sep 30
0
[PATCH] fix seekiness due to finding the wrong block group
Hello,
This patch fixes a problem where we end up seeking too much when *last_ptr is
valid. This happens because btrfs_lookup_first_block_group only returns a block
group that starts on or after the given search start, so if the search_start is
in the middle of a block group it will return the block group after the given
search_start, which is suboptimal. This patch fixes that by doing a
2012 Sep 06
1
[PATCH 2/3] btrfs: remove unnecessary -ENOMEM BUG_ON check in extent-tree.c/btrfs_alloc_logged_file_extent
The memory allocation failure is BUG_ON in add_excluded_extent
(following the code path). No need to BUG_ON -ENOMEM inside
btrfs_alloc_logged_file_extent.
Signed-off-by: Wang Sheng-Hui <shhuiw@gmail.com>
---
fs/btrfs/extent-tree.c | 6 ++----
1 files changed, 2 insertions(+), 4 deletions(-)
diff --git a/fs/btrfs/extent-tree.c b/fs/btrfs/extent-tree.c
index 95492cc..9b9a6fa 100644
---
2010 Sep 03
0
[PATCH 1/2] btrfs: document where we use BUG_ON instead of error handling
Document those places in the btrfs code which are BUGing on non-fatal error
conditions that should be handled by proper error paths. This makes it
easier to distinguish between what needs fixing versus which BUG_ON''s we
might want to keep (to trap code bugs, unexpected inconsistencies, etc).
Do this with a trivial macro, ''btrfs_fixable_bug_on'' which just defines to
2011 Jul 26
0
[PATCH] Btrfs: use bytes_may_use for all ENOSPC reservations
We have been using bytes_reserved for metadata reservations, which is wrong
since we use that to keep track of outstanding reservations from the allocator.
This resulted in us doing a lot of silly things to make sure we don''t allocate a
bunch of metadata chunks since we never had a real view of how much space was
actually in use by metadata.
There are a lot of fixes in here to make this
2011 Jul 27
0
[PATCH] Btrfs: use bytes_may_use for all ENOSPC reservations V2
We have been using bytes_reserved for metadata reservations, which is wrong
since we use that to keep track of outstanding reservations from the allocator.
This resulted in us doing a lot of silly things to make sure we don''t allocate a
bunch of metadata chunks since we never had a real view of how much space was
actually in use by metadata.
There are a lot of fixes in here to make this
2013 Feb 03
3
kernel BUG at fs/btrfs/extent-tree.c:6185!
Hi guys,
my computer suddenly failed to boot. It seams that it is unable to mount
/home which is btrfs. Here are the messages I get during the boot (the
relevant part; hopefully):
Feb 02 13:59:58 Edge kernel: kernel BUG at fs/btrfs/extent-tree.c:6185!
Feb 02 13:59:58 Edge kernel: invalid opcode: 0000 [#1] PREEMPT SMP
Feb 02 13:59:58 Edge kernel: Modules linked in: joydev coretemp kvm_intel
kvm
2008 Oct 27
0
[PATCH 3/4] update nodatacow code
Hello,
This patch simplifies the nodatacow checker. If all references
were created after the latest snapshot, then we can avoid COW
safely. This patch also updates run_delalloc_nocow to do more
fine-grained checking.
Regards
Signed-off-by: Yan Zheng <zheng.yan@oracle.com>
---
diff -urp 3/fs/btrfs/ctree.h 4/fs/btrfs/ctree.h
--- 3/fs/btrfs/ctree.h 2008-10-27 16:31:51.000000000 +0800
+++
2012 Jun 27
7
WARNING: at fs/btrfs/free-space-cache.c:1887 after hard shutdown.
Hello,
My computer locked up and I had to press the reset button.
Ever since then I can''t mount the btrfs filesystem, here''s the output:
[ 37.645583] ------------[ cut here ]------------
[ 37.645598] WARNING: at fs/btrfs/free-space-cache.c:1887
btrfs_remove_free_space+0x329/0x350 [btrfs]()
[ 37.645600] Modules linked in: btrfs zlib_deflate libcrc32c ext4
jbd2 mbcache crc16
2013 Mar 15
0
[PATCH] Btrfs-progs: add skinny metadata support to progs V3
This fixes up the progs to properly deal with skinny metadata. This adds the -x
option to mkfs and btrfstune for enabling the skinny metadata option. This also
makes changes to fsck so it can properly deal with the skinny metadata entries.
Thanks,
Signed-off-by: Josef Bacik <jbacik@fusionio.com>
---
V2->V3: update the mkfs.btrfs man page with the new option
This is based on
2013 Apr 03
0
[PATCH] Btrfs-progs: add a free space cache checker to fsck
In trying to track down a weird tree log problem I wanted to make sure that the
free space cache was actually valid, which we currently have no way of doing.
So this patch adds a bunch of support for the free space cache code and then a
checker to fsck. Basically we go through and if we can actually load the free
space cache then we will walk the extent tree and verify that the free space
cache
2009 Aug 24
0
[PATCH] Btrfs: proper metadata -ENOSPC handling
This patch finally gives us full proper -ENOSPC handling for btrfs. Now
whenever you do a btrfs_start_transaction, you must specify the number of items
you are planning to add/delete/modify. The worst case number of blocks that
could be modified by changing that number of items will be calculated and
checked against the amount of free space in the space_info where the root you
are modifying
2011 May 25
0
[PATCH] Btrfs: cache bitmaps when searching for a cluster
If we are looking for a cluster in a particularly sparse or fragmented block
group, we will do a lot of looping through the free space tree looking for
various things, and if we need to look at bitmaps we will endup doing the whole
dance twice. So instead add the bitmap entries to a temporary list so if we
have to do the bitmap search we can just look through the list of entries we''ve
2009 Jul 31
1
[PATCH] Btrfs: make sure we find a bitmap entry
Yan Zheng hit a problem where we tried to remove some free space but failed
because we couldn''t find the free space entry. This is because the free space
was held within a bitmap that had a starting offset well before the actual
offset of the free space, and there were free space extents that were in the
same range as that offset, so tree_search_offset returned with NULL because we
2010 May 11
0
[PATCH 4/5] btrfs: don't cache empty block groups during mount
the tree log recover code expects no free space cached before it executes.
Signed-off-by: Yan Zheng <zheng.yan@oracle.com>
---
diff -urp 4/fs/btrfs/extent-tree.c 8/fs/btrfs/extent-tree.c
--- 4/fs/btrfs/extent-tree.c 2010-05-11 14:15:29.174108554 +0800
+++ 8/fs/btrfs/extent-tree.c 2010-05-11 13:26:38.036107000 +0800
@@ -316,11 +329,6 @@ static int caching_kthread(void *data)
if (!path)
2002 Mar 09
1
another quota related ext3fs crash...
hiya!
see the attached file for the resolved bug() call. my kernel spit out 185
messages like this:
Mar 9 17:15:13 srck@trottelkunde attempt to access beyond end of device
Mar 9 17:15:13 srck@trottelkunde 16:42: rw=0, want=0, limit=12289725
right before the bug().
this message didn't get parsed by ksymoops
Mar 9 17:15:13 srck@trottelkunde Assertion failure in journal_start() at
2011 Mar 31
4
[PATCH] Btrfs: fix free space cache when there are pinned extents and clusters
I noticed a huge problem with the free space cache that was presenting as an
early ENOSPC. Turns out when writing the free space cache out I forgot to take
into account pinned extents and more importantly clusters. This would result in
us leaking free space everytime we unmounted the filesystem and remounted it. I
fix this by making sure to check and see if the current block group has a
cluster