lkml.org 
[lkml]   [2018]   [Mar]   [6]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Subject[PATCH v8 55/63] btrfs: Convert page cache to XArray
    Date
    From: Matthew Wilcox <mawilcox@microsoft.com>

    Signed-off-by: Matthew Wilcox <mawilcox@microsoft.com>
    ---
    fs/btrfs/compression.c | 4 +---
    fs/btrfs/extent_io.c | 8 +++-----
    2 files changed, 4 insertions(+), 8 deletions(-)

    diff --git a/fs/btrfs/compression.c b/fs/btrfs/compression.c
    index ad330af89eef..c2286f436571 100644
    --- a/fs/btrfs/compression.c
    +++ b/fs/btrfs/compression.c
    @@ -457,9 +457,7 @@ static noinline int add_ra_bio_pages(struct inode *inode,
    if (pg_index > end_index)
    break;

    - rcu_read_lock();
    - page = radix_tree_lookup(&mapping->i_pages, pg_index);
    - rcu_read_unlock();
    + page = xa_load(&mapping->i_pages, pg_index);
    if (page && !xa_is_value(page)) {
    misses++;
    if (misses > 4)
    diff --git a/fs/btrfs/extent_io.c b/fs/btrfs/extent_io.c
    index bcc24ee5a2c9..edc472b41037 100644
    --- a/fs/btrfs/extent_io.c
    +++ b/fs/btrfs/extent_io.c
    @@ -5170,11 +5170,9 @@ void clear_extent_buffer_dirty(struct extent_buffer *eb)

    clear_page_dirty_for_io(page);
    xa_lock_irq(&page->mapping->i_pages);
    - if (!PageDirty(page)) {
    - radix_tree_tag_clear(&page->mapping->i_pages,
    - page_index(page),
    - PAGECACHE_TAG_DIRTY);
    - }
    + if (!PageDirty(page))
    + __xa_clear_tag(&page->mapping->i_pages,
    + page_index(page), PAGECACHE_TAG_DIRTY);
    xa_unlock_irq(&page->mapping->i_pages);
    ClearPageError(page);
    unlock_page(page);
    --
    2.16.1
    \
     
     \ /
      Last update: 2018-03-06 20:28    [W:2.291 / U:0.004 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site