You've already forked linux-apfs
mirror of
https://github.com/linux-apfs/linux-apfs.git
synced 2026-05-01 15:00:59 -07:00
Btrfs: extent_map optimizations to cut down on CPU usage
Signed-off-by: Chris Mason <chris.mason@oracle.com>
This commit is contained in:
+10
-10
@@ -644,20 +644,20 @@ int close_ctree(struct btrfs_root *root)
|
||||
|
||||
int btrfs_buffer_uptodate(struct extent_buffer *buf)
|
||||
{
|
||||
struct inode *btree_inode = buf->last_page->mapping->host;
|
||||
struct inode *btree_inode = buf->first_page->mapping->host;
|
||||
return extent_buffer_uptodate(&BTRFS_I(btree_inode)->extent_tree, buf);
|
||||
}
|
||||
|
||||
int btrfs_set_buffer_uptodate(struct extent_buffer *buf)
|
||||
{
|
||||
struct inode *btree_inode = buf->last_page->mapping->host;
|
||||
struct inode *btree_inode = buf->first_page->mapping->host;
|
||||
return set_extent_buffer_uptodate(&BTRFS_I(btree_inode)->extent_tree,
|
||||
buf);
|
||||
}
|
||||
|
||||
void btrfs_mark_buffer_dirty(struct extent_buffer *buf)
|
||||
{
|
||||
struct btrfs_root *root = BTRFS_I(buf->last_page->mapping->host)->root;
|
||||
struct btrfs_root *root = BTRFS_I(buf->first_page->mapping->host)->root;
|
||||
u64 transid = btrfs_header_generation(buf);
|
||||
struct inode *btree_inode = root->fs_info->btree_inode;
|
||||
|
||||
@@ -678,7 +678,7 @@ void btrfs_btree_balance_dirty(struct btrfs_root *root, unsigned long nr)
|
||||
|
||||
void btrfs_set_buffer_defrag(struct extent_buffer *buf)
|
||||
{
|
||||
struct btrfs_root *root = BTRFS_I(buf->last_page->mapping->host)->root;
|
||||
struct btrfs_root *root = BTRFS_I(buf->first_page->mapping->host)->root;
|
||||
struct inode *btree_inode = root->fs_info->btree_inode;
|
||||
set_extent_bits(&BTRFS_I(btree_inode)->extent_tree, buf->start,
|
||||
buf->start + buf->len - 1, EXTENT_DEFRAG, GFP_NOFS);
|
||||
@@ -686,7 +686,7 @@ void btrfs_set_buffer_defrag(struct extent_buffer *buf)
|
||||
|
||||
void btrfs_set_buffer_defrag_done(struct extent_buffer *buf)
|
||||
{
|
||||
struct btrfs_root *root = BTRFS_I(buf->last_page->mapping->host)->root;
|
||||
struct btrfs_root *root = BTRFS_I(buf->first_page->mapping->host)->root;
|
||||
struct inode *btree_inode = root->fs_info->btree_inode;
|
||||
set_extent_bits(&BTRFS_I(btree_inode)->extent_tree, buf->start,
|
||||
buf->start + buf->len - 1, EXTENT_DEFRAG_DONE,
|
||||
@@ -695,7 +695,7 @@ void btrfs_set_buffer_defrag_done(struct extent_buffer *buf)
|
||||
|
||||
int btrfs_buffer_defrag(struct extent_buffer *buf)
|
||||
{
|
||||
struct btrfs_root *root = BTRFS_I(buf->last_page->mapping->host)->root;
|
||||
struct btrfs_root *root = BTRFS_I(buf->first_page->mapping->host)->root;
|
||||
struct inode *btree_inode = root->fs_info->btree_inode;
|
||||
return test_range_bit(&BTRFS_I(btree_inode)->extent_tree,
|
||||
buf->start, buf->start + buf->len - 1, EXTENT_DEFRAG, 0);
|
||||
@@ -703,7 +703,7 @@ int btrfs_buffer_defrag(struct extent_buffer *buf)
|
||||
|
||||
int btrfs_buffer_defrag_done(struct extent_buffer *buf)
|
||||
{
|
||||
struct btrfs_root *root = BTRFS_I(buf->last_page->mapping->host)->root;
|
||||
struct btrfs_root *root = BTRFS_I(buf->first_page->mapping->host)->root;
|
||||
struct inode *btree_inode = root->fs_info->btree_inode;
|
||||
return test_range_bit(&BTRFS_I(btree_inode)->extent_tree,
|
||||
buf->start, buf->start + buf->len - 1,
|
||||
@@ -712,7 +712,7 @@ int btrfs_buffer_defrag_done(struct extent_buffer *buf)
|
||||
|
||||
int btrfs_clear_buffer_defrag_done(struct extent_buffer *buf)
|
||||
{
|
||||
struct btrfs_root *root = BTRFS_I(buf->last_page->mapping->host)->root;
|
||||
struct btrfs_root *root = BTRFS_I(buf->first_page->mapping->host)->root;
|
||||
struct inode *btree_inode = root->fs_info->btree_inode;
|
||||
return clear_extent_bits(&BTRFS_I(btree_inode)->extent_tree,
|
||||
buf->start, buf->start + buf->len - 1,
|
||||
@@ -721,7 +721,7 @@ int btrfs_clear_buffer_defrag_done(struct extent_buffer *buf)
|
||||
|
||||
int btrfs_clear_buffer_defrag(struct extent_buffer *buf)
|
||||
{
|
||||
struct btrfs_root *root = BTRFS_I(buf->last_page->mapping->host)->root;
|
||||
struct btrfs_root *root = BTRFS_I(buf->first_page->mapping->host)->root;
|
||||
struct inode *btree_inode = root->fs_info->btree_inode;
|
||||
return clear_extent_bits(&BTRFS_I(btree_inode)->extent_tree,
|
||||
buf->start, buf->start + buf->len - 1,
|
||||
@@ -730,7 +730,7 @@ int btrfs_clear_buffer_defrag(struct extent_buffer *buf)
|
||||
|
||||
int btrfs_read_buffer(struct extent_buffer *buf)
|
||||
{
|
||||
struct btrfs_root *root = BTRFS_I(buf->last_page->mapping->host)->root;
|
||||
struct btrfs_root *root = BTRFS_I(buf->first_page->mapping->host)->root;
|
||||
struct inode *btree_inode = root->fs_info->btree_inode;
|
||||
return read_extent_buffer_pages(&BTRFS_I(btree_inode)->extent_tree,
|
||||
buf, 1);
|
||||
|
||||
Reference in New Issue
Block a user