Linux Kernel  3.7.1
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
Macros | Functions | Variables
xfs_da_btree.c File Reference
#include "xfs.h"
#include "xfs_fs.h"
#include "xfs_types.h"
#include "xfs_bit.h"
#include "xfs_log.h"
#include "xfs_trans.h"
#include "xfs_sb.h"
#include "xfs_ag.h"
#include "xfs_mount.h"
#include "xfs_da_btree.h"
#include "xfs_bmap_btree.h"
#include "xfs_dir2.h"
#include "xfs_dir2_format.h"
#include "xfs_dir2_priv.h"
#include "xfs_dinode.h"
#include "xfs_inode.h"
#include "xfs_inode_item.h"
#include "xfs_alloc.h"
#include "xfs_bmap.h"
#include "xfs_attr.h"
#include "xfs_attr_leaf.h"
#include "xfs_error.h"
#include "xfs_trace.h"

Go to the source code of this file.

Macros

#define xfs_da_blkinfo_onlychild_validate(blkinfo, level)
 

Functions

STATIC int xfs_da_root_split (xfs_da_state_t *state, xfs_da_state_blk_t *existing_root, xfs_da_state_blk_t *new_child)
 
STATIC int xfs_da_node_split (xfs_da_state_t *state, xfs_da_state_blk_t *existing_blk, xfs_da_state_blk_t *split_blk, xfs_da_state_blk_t *blk_to_add, int treelevel, int *result)
 
STATIC void xfs_da_node_rebalance (xfs_da_state_t *state, xfs_da_state_blk_t *node_blk_1, xfs_da_state_blk_t *node_blk_2)
 
STATIC void xfs_da_node_add (xfs_da_state_t *state, xfs_da_state_blk_t *old_node_blk, xfs_da_state_blk_t *new_node_blk)
 
STATIC int xfs_da_root_join (xfs_da_state_t *state, xfs_da_state_blk_t *root_blk)
 
STATIC int xfs_da_node_toosmall (xfs_da_state_t *state, int *retval)
 
STATIC void xfs_da_node_remove (xfs_da_state_t *state, xfs_da_state_blk_t *drop_blk)
 
STATIC void xfs_da_node_unbalance (xfs_da_state_t *state, xfs_da_state_blk_t *src_node_blk, xfs_da_state_blk_t *dst_node_blk)
 
STATIC uint xfs_da_node_lasthash (struct xfs_buf *bp, int *count)
 
STATIC int xfs_da_node_order (struct xfs_buf *node1_bp, struct xfs_buf *node2_bp)
 
STATIC int xfs_da_blk_unlink (xfs_da_state_t *state, xfs_da_state_blk_t *drop_blk, xfs_da_state_blk_t *save_blk)
 
STATIC void xfs_da_state_kill_altpath (xfs_da_state_t *state)
 
int xfs_da_node_create (xfs_da_args_t *args, xfs_dablk_t blkno, int level, struct xfs_buf **bpp, int whichfork)
 
int xfs_da_split (xfs_da_state_t *state)
 
int xfs_da_join (xfs_da_state_t *state)
 
void xfs_da_fixhashpath (xfs_da_state_t *state, xfs_da_state_path_t *path)
 
int xfs_da_node_lookup_int (xfs_da_state_t *state, int *result)
 
int xfs_da_blk_link (xfs_da_state_t *state, xfs_da_state_blk_t *old_blk, xfs_da_state_blk_t *new_blk)
 
int xfs_da_path_shift (xfs_da_state_t *state, xfs_da_state_path_t *path, int forward, int release, int *result)
 
xfs_dahash_t xfs_da_hashname (const __uint8_t *name, int namelen)
 
enum xfs_dacmp xfs_da_compname (struct xfs_da_args *args, const unsigned char *name, int len)
 
int xfs_da_grow_inode_int (struct xfs_da_args *args, xfs_fileoff_t *bno, int count)
 
int xfs_da_grow_inode (struct xfs_da_args *args, xfs_dablk_t *new_blkno)
 
STATIC int xfs_da_swap_lastblock (xfs_da_args_t *args, xfs_dablk_t *dead_blknop, struct xfs_buf **dead_bufp)
 
int xfs_da_shrink_inode (xfs_da_args_t *args, xfs_dablk_t dead_blkno, struct xfs_buf *dead_buf)
 
STATIC int xfs_da_map_covers_blocks (int nmap, xfs_bmbt_irec_t *mapp, xfs_dablk_t bno, int count)
 
int xfs_da_get_buf (struct xfs_trans *trans, struct xfs_inode *dp, xfs_dablk_t bno, xfs_daddr_t mappedbno, struct xfs_buf **bpp, int whichfork)
 
int xfs_da_read_buf (struct xfs_trans *trans, struct xfs_inode *dp, xfs_dablk_t bno, xfs_daddr_t mappedbno, struct xfs_buf **bpp, int whichfork)
 
xfs_daddr_t xfs_da_reada_buf (struct xfs_trans *trans, struct xfs_inode *dp, xfs_dablk_t bno, int whichfork)
 
xfs_da_state_txfs_da_state_alloc (void)
 
void xfs_da_state_free (xfs_da_state_t *state)
 

Variables

struct xfs_nameops xfs_default_nameops
 
kmem_zone_txfs_da_state_zone
 

Macro Definition Documentation

#define xfs_da_blkinfo_onlychild_validate (   blkinfo,
  level 
)

Definition at line 711 of file xfs_da_btree.c.

Function Documentation

int xfs_da_blk_link ( xfs_da_state_t state,
xfs_da_state_blk_t old_blk,
xfs_da_state_blk_t new_blk 
)

Definition at line 1199 of file xfs_da_btree.c.

STATIC int xfs_da_blk_unlink ( xfs_da_state_t state,
xfs_da_state_blk_t drop_blk,
xfs_da_state_blk_t save_blk 
)

Definition at line 1332 of file xfs_da_btree.c.

enum xfs_dacmp xfs_da_compname ( struct xfs_da_args args,
const unsigned char name,
int  len 
)

Definition at line 1546 of file xfs_da_btree.c.

void xfs_da_fixhashpath ( xfs_da_state_t state,
xfs_da_state_path_t path 
)

Definition at line 895 of file xfs_da_btree.c.

int xfs_da_get_buf ( struct xfs_trans *  trans,
struct xfs_inode *  dp,
xfs_dablk_t  bno,
xfs_daddr_t  mappedbno,
struct xfs_buf **  bpp,
int  whichfork 
)

Definition at line 2083 of file xfs_da_btree.c.

int xfs_da_grow_inode ( struct xfs_da_args args,
xfs_dablk_t new_blkno 
)

Definition at line 1658 of file xfs_da_btree.c.

int xfs_da_grow_inode_int ( struct xfs_da_args args,
xfs_fileoff_t bno,
int  count 
)

Definition at line 1568 of file xfs_da_btree.c.

xfs_dahash_t xfs_da_hashname ( const __uint8_t *  name,
int  namelen 
)

Definition at line 1518 of file xfs_da_btree.c.

int xfs_da_join ( xfs_da_state_t state)

Definition at line 616 of file xfs_da_btree.c.

STATIC int xfs_da_map_covers_blocks ( int  nmap,
xfs_bmbt_irec_t mapp,
xfs_dablk_t  bno,
int  count 
)

Definition at line 1933 of file xfs_da_btree.c.

STATIC void xfs_da_node_add ( xfs_da_state_t state,
xfs_da_state_blk_t old_node_blk,
xfs_da_state_blk_t new_node_blk 
)

Definition at line 567 of file xfs_da_btree.c.

int xfs_da_node_create ( xfs_da_args_t args,
xfs_dablk_t  blkno,
int  level,
struct xfs_buf **  bpp,
int  whichfork 
)

Definition at line 102 of file xfs_da_btree.c.

STATIC uint xfs_da_node_lasthash ( struct xfs_buf bp,
int count 
)

Definition at line 1313 of file xfs_da_btree.c.

int xfs_da_node_lookup_int ( xfs_da_state_t state,
int result 
)

Definition at line 1057 of file xfs_da_btree.c.

STATIC int xfs_da_node_order ( struct xfs_buf node1_bp,
struct xfs_buf node2_bp 
)

Definition at line 1289 of file xfs_da_btree.c.

STATIC void xfs_da_node_rebalance ( xfs_da_state_t state,
xfs_da_state_blk_t node_blk_1,
xfs_da_state_blk_t node_blk_2 
)

Definition at line 456 of file xfs_da_btree.c.

STATIC void xfs_da_node_remove ( xfs_da_state_t state,
xfs_da_state_blk_t drop_blk 
)

Definition at line 941 of file xfs_da_btree.c.

STATIC int xfs_da_node_split ( xfs_da_state_t state,
xfs_da_state_blk_t existing_blk,
xfs_da_state_blk_t split_blk,
xfs_da_state_blk_t blk_to_add,
int  treelevel,
int result 
)

Definition at line 366 of file xfs_da_btree.c.

STATIC int xfs_da_node_toosmall ( xfs_da_state_t state,
int retval 
)

Definition at line 773 of file xfs_da_btree.c.

STATIC void xfs_da_node_unbalance ( xfs_da_state_t state,
xfs_da_state_blk_t src_node_blk,
xfs_da_state_blk_t dst_node_blk 
)

Definition at line 984 of file xfs_da_btree.c.

int xfs_da_path_shift ( xfs_da_state_t state,
xfs_da_state_path_t path,
int  forward,
int  release,
int result 
)

Definition at line 1410 of file xfs_da_btree.c.

int xfs_da_read_buf ( struct xfs_trans *  trans,
struct xfs_inode *  dp,
xfs_dablk_t  bno,
xfs_daddr_t  mappedbno,
struct xfs_buf **  bpp,
int  whichfork 
)

Definition at line 2130 of file xfs_da_btree.c.

xfs_daddr_t xfs_da_reada_buf ( struct xfs_trans *  trans,
struct xfs_inode *  dp,
xfs_dablk_t  bno,
int  whichfork 
)

Definition at line 2210 of file xfs_da_btree.c.

STATIC int xfs_da_root_join ( xfs_da_state_t state,
xfs_da_state_blk_t root_blk 
)

Definition at line 719 of file xfs_da_btree.c.

STATIC int xfs_da_root_split ( xfs_da_state_t state,
xfs_da_state_blk_t existing_root,
xfs_da_state_blk_t new_child 
)

Definition at line 283 of file xfs_da_btree.c.

int xfs_da_shrink_inode ( xfs_da_args_t args,
xfs_dablk_t  dead_blkno,
struct xfs_buf dead_buf 
)

Definition at line 1886 of file xfs_da_btree.c.

int xfs_da_split ( xfs_da_state_t state)

Definition at line 137 of file xfs_da_btree.c.

xfs_da_state_t* xfs_da_state_alloc ( void  )

Definition at line 2252 of file xfs_da_btree.c.

void xfs_da_state_free ( xfs_da_state_t state)

Definition at line 2274 of file xfs_da_btree.c.

STATIC void xfs_da_state_kill_altpath ( xfs_da_state_t state)

Definition at line 2261 of file xfs_da_btree.c.

STATIC int xfs_da_swap_lastblock ( xfs_da_args_t args,
xfs_dablk_t dead_blknop,
struct xfs_buf **  dead_bufp 
)

Definition at line 1691 of file xfs_da_btree.c.

Variable Documentation

kmem_zone_t* xfs_da_state_zone

Definition at line 2245 of file xfs_da_btree.c.

struct xfs_nameops xfs_default_nameops
Initial value:
= {
.hashname = xfs_default_hashname,
.compname = xfs_da_compname
}

Definition at line 1562 of file xfs_da_btree.c.