diff options
author | Matthew Wilcox <willy@infradead.org> | 2017-11-03 20:30:42 +0300 |
---|---|---|
committer | Matthew Wilcox <willy@infradead.org> | 2018-09-30 05:47:49 +0300 |
commit | 3159f943aafdbacb2f94c38fdaadabf2bbde2a14 (patch) | |
tree | 7e06823a1ab7e90774535d17a217a939bdddda3b /fs/btrfs/compression.c | |
parent | 66ee620f06f99d72475db6eb638559ba608c7dee (diff) | |
download | linux-3159f943aafdbacb2f94c38fdaadabf2bbde2a14.tar.xz |
xarray: Replace exceptional entries
Introduce xarray value entries and tagged pointers to replace radix
tree exceptional entries. This is a slight change in encoding to allow
the use of an extra bit (we can now store BITS_PER_LONG - 1 bits in a
value entry). It is also a change in emphasis; exceptional entries are
intimidating and different. As the comment explains, you can choose
to store values or pointers in the xarray and they are both first-class
citizens.
Signed-off-by: Matthew Wilcox <willy@infradead.org>
Reviewed-by: Josef Bacik <jbacik@fb.com>
Diffstat (limited to 'fs/btrfs/compression.c')
-rw-r--r-- | fs/btrfs/compression.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/fs/btrfs/compression.c b/fs/btrfs/compression.c index 9bfa66592aa7..fd25e125303c 100644 --- a/fs/btrfs/compression.c +++ b/fs/btrfs/compression.c @@ -440,7 +440,7 @@ static noinline int add_ra_bio_pages(struct inode *inode, rcu_read_lock(); page = radix_tree_lookup(&mapping->i_pages, pg_index); rcu_read_unlock(); - if (page && !radix_tree_exceptional_entry(page)) { + if (page && !xa_is_value(page)) { misses++; if (misses > 4) break; |