Displaying 20 results from an estimated 300 matches similar to: "[PATCH] Btrfs: remove almost all of the BUG()'s from tree-log.c"
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
2010 Jul 29
1
[Bug] check return of kmalloc()
Hi,
I''ve discovered that some btrfs code doesn''t check whether kmalloc()
call succeeded. I poorly understand what this code does and how it can
be changed, maybe it would be happy with __GFP_NOFAIL.
Also there are BUG_ON() after kmalloc()''s, if they could be changed not
to panic it would be great.
--- ./fs/btrfs/compression.c 2010-07-06 16:45:48.000000000 +0400
+++
2013 Aug 04
0
[PATCH] Btrfs: fix inode leak on kmalloc failure in tree-log.c
In tree-log.c:replay_one_name(), if memory allocation for
the name fails, ensure we iput the dir inode we got before
before we return.
Signed-off-by: Filipe David Borba Manana <fdmanana@gmail.com>
---
fs/btrfs/tree-log.c | 6 ++++--
1 file changed, 4 insertions(+), 2 deletions(-)
diff --git a/fs/btrfs/tree-log.c b/fs/btrfs/tree-log.c
index ff60d89..6797a93 100644
---
2013 Oct 07
0
[PATCH] Btrfs: cleanup reserved space when freeing tree log on error
On error we will wait and free the tree log at unmount without a transaction.
This means that the actual freeing of the blocks doesn''t happen which means we
complain about space leaks on unmount. So to fix this just skip the transaction
specific cleanup part of the tree log free''ing if we don''t have a transaction
and that way we can free up our reserved space and our
2012 Jul 31
0
[PATCH V2 1/2] Btrfs: fix error path in create_pending_snapshot()
This patch fixes the following problem:
- If we failed to deal with the delayed dir items, we should abort transaction,
just as its comment said. Fix it.
- If root reference or root back reference insertion failed, we should
abort transaction. Fix it.
- Do not restore the trans->rsv if we doesn''t change it.
- make the error path more clearly.
Signed-off-by: Miao Xie
2012 Jun 21
0
[RFC PATCH V2] Btrfs: introduce extent buffer cache for each i-node
This patch introduce extent buffer cache for every i-node. By this
way, we can save the search time and reduce the lock contention of the root
because we needn''t search the item from the root of b+ tree.
Implementation:
- add two pointers of extent buffer into btrfs_inode struct, one for
nodes/leaves of fs/file tree, the other for nodes/leaves of the log tree.
- add a variant to tell
2012 Sep 06
2
[PATCH V4 01/12] Btrfs: fix error path in create_pending_snapshot()
This patch fixes the following problem:
- If we failed to deal with the delayed dir items, we should abort transaction,
just as its comment said. Fix it.
- If root reference or root back reference insertion failed, we should
abort transaction. Fix it.
- Fix the double free problem of pending->inherit.
- Do not restore the trans->rsv if we doesn''t change it.
- make the error path
2011 Aug 26
0
[PATCH] Btrfs: make some functions return void
The type of some functions that return only 0 is changed to ''void''.
In addition, the check on the return value in the caller of these
functions becomes unnecessary. So, these check is removed.
Signed-off-by: Tsutomu Itoh <t-itoh@jp.fujitsu.com>
---
fs/btrfs/async-thread.c | 17 ++++--------
fs/btrfs/async-thread.h | 4 +-
fs/btrfs/compression.c | 14 ++++------
2013 Nov 12
0
[PATCH] Btrfs: incompatible format change to remove hole extents V4
Btrfs has always had these filler extent data items for holes in inodes. This
has made somethings very easy, like logging hole punches and sending hole
punches. However for large holey files these extent data items are pure
overhead. So add an incompatible feature to no longer add hole extents to
reduce the amount of metadata used by these sort of files. This has a few
changes for logging and
2013 Oct 16
3
trivial cleanups
Hi gang,
Here''s some trivial cleanups that I''ve built up while reading through
the code. They''ve been run through xfstests -g quick.
- z
--
To unsubscribe from this list: send the line "unsubscribe linux-btrfs" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
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 Jan 28
0
[PATCH] ctree code cleanups
The following has been done as a part of cleanup -
o Eliminated bin_search() by replacing with btrfs_bin_search()
o Eliminated unused return value in fixup_low_keys()
o Eliminated additional variable (sret) in setup_nodes_for_search()
Signed-off-by: Goldwyn Rodrigues <rgoldwyn@suse.de>
---
ctree.c | 71 ++++++++++++++++++----------------------------------------------
1 file changed, 20
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
2009 May 12
0
[PATCH 1/2] btrfs-progs: mixed back ref support
This patch adds mixed back ref support for btrfs programs.
The mixed back ref is a new disk format. back compatilibity
is still not implemented. To try the new disk format, you
need fresh formatted btrfs.
Signed-off-by: Yan Zheng <zheng.yan@oracle.com>
---
diff -urp btrfs-progs-unstable/crc32c.h btrfs-progs-2/crc32c.h
--- btrfs-progs-unstable/crc32c.h 2008-09-30 16:50:58.898877720 +0800
2013 Jan 10
0
[PATCH 03/11] Btrfs: use atomic for fs_info->last_trans_log_full_commit
fs_info->last_trans_log_full_commit is a 64bits variant, we might get a
wrong value on the 32bit machines if we access it directly. Fix it by atomic
operation.
Signed-off-by: Zhao Lei <zhaolei@cn.fujitsu.com>
Signed-off-by: Miao Xie <miaox@cn.fujitsu.com>
---
fs/btrfs/ctree.h | 2 +-
fs/btrfs/extent-tree.c | 3 ++-
fs/btrfs/inode.c | 3 ++-
fs/btrfs/tree-log.c |
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
2013 Jan 10
0
[PATCH 02/11] Btrfs: use atomic for fs_info->last_trans_committed
fs_info->last_trans_committed is a 64bits variant, we might get a wrong
value on the 32bit machines if we access it directly. Fix it by atomic
operation.
Signed-off-by: Zhao Lei <zhaolei@cn.fujitsu.com>
Signed-off-by: Miao Xie <miaox@cn.fujitsu.com>
---
fs/btrfs/ctree.h | 2 +-
fs/btrfs/disk-io.c | 2 +-
fs/btrfs/file.c | 2 +-
fs/btrfs/ioctl.c | 2
2008 Jun 24
1
[RFC][PATCH] btrfs orphan code
Hello,
I want to throw this out here now that I''ve got most of the heavy lifting done
for this code to make sure what I''m doing is ok for now. I''ve added an
ORPHAN_DIR item key to have a hidden dir per root. Right now it just does it
for whatever the default root is on mount, but I''m going to fix that to do the
orphan dir check/creation on lookup of a
2012 May 27
0
[RFC PATCH] Decrease Metadata Fragment Using A Caterpillar Band Method
I made an attempt to partly decrease fragment by using a preallocated
area of multiple size of a std blocksize for a tree block when it is COWed.
The basic idea is that if any a tree block need to be created,
we offer, say, 2 or 4 multiples of a std blocksize for it, then use the
first block in the continuous blocks. When this block need a cow in the
future, a new free block in these continuous
2013 May 22
0
[PATCH 1/2] Btrfs: dont do log_removal in insert_new_root
As for splitting a leaf, root is just the leaf, and tree mod log does not apply
on leaf, so in this case, we don''t do log_removal.
As for splitting a node, the old root is kept as a normal node and we have nicely
put records in tree mod log for moving keys and items, so in this case we don''t do
that either.
As above, insert_new_root can get rid of log_removal.
Signed-off-by: