Displaying 4 results from an estimated 4 matches for "btrfs_log_inode".
2013 Jan 10
0
[PATCH 02/11] Btrfs: use atomic for fs_info->last_trans_committed
...k(&tree->lock);
- test_gen = root->fs_info->last_trans_committed;
+ test_gen = atomic64_read(&root->fs_info->last_trans_committed);
list_for_each_entry_safe(em, n, &tree->modified_extents, list) {
list_del_init(&em->list);
@@ -3496,7 +3496,8 @@ static int btrfs_log_inode(struct btrfs_trans_handle *trans,
/* Only run delayed items if we are a dir or a new file */
if (S_ISDIR(inode->i_mode) ||
- BTRFS_I(inode)->generation > root->fs_info->last_trans_committed) {
+ BTRFS_I(inode)->generation >
+ atomic64_read(&root->fs_inf...
2011 Jun 21
19
[GIT PULL v3] Btrfs: improve write ahead log with sub transaction
I''ve been working to try to improve the write-ahead log''s performance,
and I found that the bottleneck addresses in the checksum items,
especially when we want to make a random write on a large file, e.g a 4G file.
Then a idea for this suggested by Chris is to use sub transaction ids and just
to log the part of inode that had changed since either the last log commit or
the last
2013 Apr 13
0
btrfs crash (and softlockup btrfs-endio-wri)
...kernel: [1210991.390762] [<ffffffffa03efdeb>] ? fill_inode_item.isra.22+0x1fb/0x240 [btrfs]
Apr 13 04:05:54 datastore01 kernel: [1210991.390778] [<ffffffffa03d9ed7>] ? free_extent_buffer+0x37/0x90 [btrfs]
Apr 13 04:05:54 datastore01 kernel: [1210991.390794] [<ffffffffa03f4740>] btrfs_log_inode+0x420/0x6f0 [btrfs]
Apr 13 04:05:54 datastore01 kernel: [1210991.390800] [<ffffffff8113fe14>] ? __pagevec_release+0x24/0x40
Apr 13 04:05:54 datastore01 kernel: [1210991.390816] [<ffffffffa03f569b>] btrfs_log_inode_parent+0x17b/0x450 [btrfs]
Apr 13 04:05:54 datastore01 kernel: [1210991...
2013 Nov 12
0
[PATCH] Btrfs: incompatible format change to remove hole extents V4
...len, 0, len, 0,
+ 0, 0);
+ if (ret)
+ break;
+ *last_extent = offset + len;
+ }
+ /*
+ * Need to let the callers know we dropped the path so they should
+ * re-search.
+ */
+ if (!ret && need_find_last_extent)
+ ret = 1;
return ret;
}
@@ -3624,6 +3769,7 @@ static int btrfs_log_inode(struct btrfs_trans_handle *trans,
struct btrfs_key max_key;
struct btrfs_root *log = root->log_root;
struct extent_buffer *src = NULL;
+ u64 last_extent = 0;
int err = 0;
int ret;
int nritems;
@@ -3738,11 +3884,15 @@ again:
goto next_slot;
}
- ret = copy_items(trans, inode,...