#include <linux/time.h>
#include <linux/fs.h>
#include <linux/namei.h>
#include <linux/quotaops.h>
#include <linux/buffer_head.h>
#include <linux/swap.h>
#include <linux/pagemap.h>
#include <linux/blkdev.h>
#include <linux/slab.h>
#include "ext4.h"
struct ext4_system_zone { … };
static struct kmem_cache *ext4_system_zone_cachep;
int __init ext4_init_system_zone(void)
{ … }
void ext4_exit_system_zone(void)
{ … }
static inline int can_merge(struct ext4_system_zone *entry1,
struct ext4_system_zone *entry2)
{ … }
static void release_system_zone(struct ext4_system_blocks *system_blks)
{ … }
static int add_system_zone(struct ext4_system_blocks *system_blks,
ext4_fsblk_t start_blk,
unsigned int count, u32 ino)
{ … }
static void debug_print_tree(struct ext4_sb_info *sbi)
{ … }
static int ext4_protect_reserved_inode(struct super_block *sb,
struct ext4_system_blocks *system_blks,
u32 ino)
{ … }
static void ext4_destroy_system_zone(struct rcu_head *rcu)
{ … }
int ext4_setup_system_zone(struct super_block *sb)
{ … }
void ext4_release_system_zone(struct super_block *sb)
{ … }
int ext4_sb_block_valid(struct super_block *sb, struct inode *inode,
ext4_fsblk_t start_blk, unsigned int count)
{ … }
int ext4_inode_block_valid(struct inode *inode, ext4_fsblk_t start_blk,
unsigned int count)
{ … }
int ext4_check_blockref(const char *function, unsigned int line,
struct inode *inode, __le32 *p, unsigned int max)
{ … }