The inode never changes so it's sufficient to dereference it and get
the iotree only once, before the execution of the main loop. No
functional changes, only the size of the function is decreased:
add/remove: 0/0 grow/shrink: 0/1 up/down: 0/-44 (-44)
Function old new delta
submit_compressed_extents 1240 1196 -44
Total: Before=88476, After=88432, chg -0.05%
Signed-off-by: Nikolay Borisov <nborisov@xxxxxxxx>
---
fs/btrfs/inode.c | 5 +----
1 file changed, 1 insertion(+), 4 deletions(-)
diff --git a/fs/btrfs/inode.c b/fs/btrfs/inode.c
index c6ee1863cd20..06408a278200 100644
--- a/fs/btrfs/inode.c
+++ b/fs/btrfs/inode.c
@@ -722,7 +722,7 @@ static noinline void submit_compressed_extents(struct async_cow *async_cow)
struct btrfs_key ins;
struct extent_map *em;
struct btrfs_root *root = BTRFS_I(inode)->root;
- struct extent_io_tree *io_tree;
+ struct extent_io_tree *io_tree = &BTRFS_I(inode)->io_tree;
int ret = 0;
again:
@@ -730,9 +730,6 @@ static noinline void submit_compressed_extents(struct async_cow *async_cow)
async_extent = list_entry(async_cow->extents.next,
struct async_extent, list);
list_del(&async_extent->list);
-
- io_tree = &BTRFS_I(inode)->io_tree;
-
retry:
/* did the compression code fall back to uncompressed IO? */
if (!async_extent->pages) {
--
2.17.1