Displaying 10 results from an estimated 10 matches for "btrfs_evict_inode".
2011 Jun 08
1
[PATCH] Btrfs: use join_transaction in btrfs_evict_inode()
...itsu.com>
Signed-off-by: Li Zefan <lizf@cn.fujitsu.com>
---
fs/btrfs/inode.c | 2 +-
1 files changed, 1 insertions(+), 1 deletions(-)
diff --git a/fs/btrfs/inode.c b/fs/btrfs/inode.c
index 02ff4a1..4e9aa28 100644
--- a/fs/btrfs/inode.c
+++ b/fs/btrfs/inode.c
@@ -3646,7 +3646,7 @@ void btrfs_evict_inode(struct inode *inode)
btrfs_i_size_write(inode, 0);
while (1) {
- trans = btrfs_start_transaction(root, 0);
+ trans = btrfs_join_transaction(root);
BUG_ON(IS_ERR(trans));
trans->block_rsv = root->orphan_block_rsv;
-- 1.7.3.1
--
To unsubscribe from this list: send the line &quo...
2011 Aug 08
0
[PATCH] Btrfs: fix how we reserve space for deleting inodes
I converted btrfs_truncate to do sane reservations for truncate, but didn''t
convert btrfs_evict_inode. Basically we need to save the orphan_rsv for
deleting the orphan item, and do normal reservations for our truncate. Thanks,
Signed-off-by: Josef Bacik <josef@redhat.com>
---
fs/btrfs/inode.c | 31 +++++++++++++++++++------------
1 files changed, 19 insertions(+), 12 deletions(-)
diff...
2013 Nov 19
6
[PATCH] Btrfs: fix very slow inode eviction and fs unmount
...state->start, state->end,
+ EXTENT_LOCKED | EXTENT_DIRTY |
+ EXTENT_DELALLOC | EXTENT_DO_ACCOUNTING |
+ EXTENT_DEFRAG, 1, 1,
+ &cached_state, GFP_NOFS);
+ free_extent_state(state);
+
+ spin_lock(&io_tree->lock);
+ }
+ spin_unlock(&io_tree->lock);
+}
+
void btrfs_evict_inode(struct inode *inode)
{
struct btrfs_trans_handle *trans;
@@ -4498,7 +4554,8 @@ void btrfs_evict_inode(struct inode *inode)
trace_btrfs_inode_evict(inode);
- truncate_inode_pages(&inode->i_data, 0);
+ evict_inode_truncate_pages(inode);
+
if (inode->i_nlink &&
((btr...
2012 Aug 24
4
[PATCH] Btrfs: pass lockdep rwsem metadata to async commit transaction
The freeze rwsem is taken by sb_start_intwrite() and dropped during the
commit_ or end_transaction(). In the async case, that happens in a worker
thread. Tell lockdep the calling thread is releasing ownership of the
rwsem and the async thread is picking it up.
Josef and I worked out a more complicated solution that made the async
commit thread join and potentially get a later transaction, but
2013 Aug 19
11
[RFC PATCH] Btrfs: fix memory leak of orphan block rsv
...t in a commit, that is,
inode.c:btrfs_orphan_commit_root() doesn''t get called (via
transaction.c:commit_fs_roots()).
The respective inode will end up being called by inode.c:btrfs_evict_node()
(via the VFS). So my likely dirty hack, after some debugging, of
freeing the orphan block rsv in btrfs_evict_inode() if its not being
used by other tasks, seems to fix the leak without failing xfstests
so far. But this is unlikely to be a correct solution without causing
issues elsewhere.
This commit also changes calls to btrfs_orphan_del() which grabbed the
root''s orphan_block_rsv without acquiring t...
2012 Apr 20
44
Ceph on btrfs 3.4rc
After running ceph on XFS for some time, I decided to try btrfs again.
Performance with the current "for-linux-min" branch and big metadata
is much better. The only problem (?) I''m still seeing is a warning
that seems to occur from time to time:
[87703.784552] ------------[ cut here ]------------
[87703.789759] WARNING: at fs/btrfs/inode.c:2103
2011 May 05
12
Having parent transid verify failed
Hello, I have a 5.5TB Btrfs filesystem on top of a md-raid 5 device. Now
if i run some file operations like find, i get these messages.
kernel is 2.6.38.5-1 on arch linux
May 5 14:15:12 mail kernel: [13559.089713] parent transid verify failed
on 3062073683968 wanted 5181 found 5188
May 5 14:15:12 mail kernel: [13559.089834] parent transid verify failed
on 3062073683968 wanted 5181 found 5188
2011 May 11
8
[PATCH 1/4] Btrfs: map the node block when looking for readahead targets
If we have particularly full nodes, we could call btrfs_node_blockptr up to 32
times, which is 32 pairs of kmap/kunmap, which _sucks_. So go ahead and map the
extent buffer while we look for readahead targets. Thanks,
Signed-off-by: Josef Bacik <josef@redhat.com>
---
fs/btrfs/ctree.c | 23 +++++++++++++++++++++--
1 files changed, 21 insertions(+), 2 deletions(-)
diff --git
2011 Feb 16
2
RE: [PATCH V2 0/3] drivers/staging: zcache: dynamic page cache/swap compression
...gt; btrfs_release_path+0x15/0x70
> >>> Feb 14 02:02:49 lupus kernel: [ 534.578624] [<ffffffff8130bf29>]
> ?
> >>> btrfs_run_delayed_iputs+0x49/0x120
> >>> Feb 14 02:02:49 lupus kernel: [ 534.578644] [<ffffffff813107e7>]
> ?
> >>> btrfs_evict_inode+0x27/0x1e0
> >>> Feb 14 02:02:49 lupus kernel: [ 534.578663] [<ffffffff810fc3aa>]
> ?
> >>> evict+0x1a/0xa0
> >>> Feb 14 02:02:49 lupus kernel: [ 534.578678] [<ffffffff810fc6bd>]
> ?
> >>> iput+0x1cd/0x2b0
> >>> Feb 1...
2010 Sep 03
0
[PATCH 1/2] btrfs: document where we use BUG_ON instead of error handling
...+3636,7 @@ static int btrfs_setattr_size(struct inode *inode, struct iattr *attr)
/* we don''t support swapfiles, so vmtruncate shouldn''t fail */
ret = vmtruncate(inode, attr->ia_size);
- BUG_ON(ret);
+ btrfs_fixable_bug_on(ret);
return 0;
}
@@ -3708,7 +3708,7 @@ void btrfs_evict_inode(struct inode *inode)
if (ret) {
BUG_ON(ret != -EAGAIN);
ret = btrfs_commit_transaction(trans, root);
- BUG_ON(ret);
+ btrfs_fixable_bug_on(ret);
continue;
}
@@ -3725,7 +3725,7 @@ void btrfs_evict_inode(struct inode *inode)
if (ret == 0) {
ret = btrfs_orphan_del(trans,...