#include <linux/pagemap.h>
#include <linux/pagevec.h>
#include <linux/sched.h>
#include <linux/slab.h>
#include <linux/sizes.h>
#include "btrfs-tests.h"
#include "../ctree.h"
#include "../extent_io.h"
#include "../disk-io.h"
#include "../btrfs_inode.h"
#define PROCESS_UNLOCK …
#define PROCESS_RELEASE …
#define PROCESS_TEST_LOCKED …
static noinline int process_page_range(struct inode *inode, u64 start, u64 end,
unsigned long flags)
{ … }
#define STATE_FLAG_STR_LEN …
#define PRINT_ONE_FLAG(state, dest, cur, name) …
static void extent_flag_to_str(const struct extent_state *state, char *dest)
{ … }
static void dump_extent_io_tree(const struct extent_io_tree *tree)
{ … }
static int test_find_delalloc(u32 sectorsize, u32 nodesize)
{ … }
static int check_eb_bitmap(unsigned long *bitmap, struct extent_buffer *eb)
{ … }
static int test_bitmap_set(const char *name, unsigned long *bitmap,
struct extent_buffer *eb,
unsigned long byte_start, unsigned long bit_start,
unsigned long bit_len)
{ … }
static int test_bitmap_clear(const char *name, unsigned long *bitmap,
struct extent_buffer *eb,
unsigned long byte_start, unsigned long bit_start,
unsigned long bit_len)
{ … }
static int __test_eb_bitmaps(unsigned long *bitmap, struct extent_buffer *eb)
{ … }
static int test_eb_bitmaps(u32 sectorsize, u32 nodesize)
{ … }
static int test_find_first_clear_extent_bit(void)
{ … }
static void dump_eb_and_memory_contents(struct extent_buffer *eb, void *memory,
const char *test_name)
{ … }
static int verify_eb_and_memory(struct extent_buffer *eb, void *memory,
const char *test_name)
{ … }
static void init_eb_and_memory(struct extent_buffer *eb, void *memory)
{ … }
static int test_eb_mem_ops(u32 sectorsize, u32 nodesize)
{ … }
int btrfs_test_extent_io(u32 sectorsize, u32 nodesize)
{ … }