search for: btrfs_evict_inode

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,...