Linux Kernel  3.7.1
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
Data Structures | Macros | Typedefs | Functions
jfs_xtree.h File Reference
#include "jfs_btree.h"

Go to the source code of this file.

Data Structures

struct  xad
 
struct  xadlist
 
union  xtpage_t
 
struct  xtpage_t::xtheader
 

Macros

#define MAXXLEN   ((1 << 24) - 1)
 
#define XTSLOTSIZE   16
 
#define L2XTSLOTSIZE   4
 
#define XADoffset(xad, offset64)
 
#define XADaddress(xad, address64)
 
#define XADlength(xad, length32)   (xad)->len = __cpu_to_le24(length32)
 
#define offsetXAD(xad)   ( ((s64)((xad)->off1)) << 32 | __le32_to_cpu((xad)->off2))
 
#define addressXAD(xad)   ( ((s64)((xad)->addr1)) << 32 | __le32_to_cpu((xad)->addr2))
 
#define lengthXAD(xad)   __le24_to_cpu((xad)->len)
 
#define XAD_NEW   0x01 /* new */
 
#define XAD_EXTENDED   0x02 /* extended */
 
#define XAD_COMPRESSED   0x04 /* compressed with recorded length */
 
#define XAD_NOTRECORDED   0x08 /* allocated but not recorded */
 
#define XAD_COW   0x10 /* copy-on-write */
 
#define XTROOTINITSLOT_DIR   6
 
#define XTROOTINITSLOT   10
 
#define XTROOTMAXSLOT   18
 
#define XTPAGEMAXSLOT   256
 
#define XTENTRYSTART   2
 

Typedefs

typedef struct xad xad_t
 

Functions

int xtLookup (struct inode *ip, s64 lstart, s64 llen, int *pflag, s64 *paddr, int *plen, int flag)
 
void xtInitRoot (tid_t tid, struct inode *ip)
 
int xtInsert (tid_t tid, struct inode *ip, int xflag, s64 xoff, int xlen, s64 *xaddrp, int flag)
 
int xtExtend (tid_t tid, struct inode *ip, s64 xoff, int xlen, int flag)
 
int xtUpdate (tid_t tid, struct inode *ip, struct xad *nxad)
 
int xtDelete (tid_t tid, struct inode *ip, s64 xoff, int xlen, int flag)
 
s64 xtTruncate (tid_t tid, struct inode *ip, s64 newsize, int type)
 
s64 xtTruncate_pmap (tid_t tid, struct inode *ip, s64 committed_size)
 
int xtRelocate (tid_t tid, struct inode *ip, xad_t *oxad, s64 nxaddr, int xtype)
 
int xtAppend (tid_t tid, struct inode *ip, int xflag, s64 xoff, int maxblocks, int *xlenp, s64 *xaddrp, int flag)
 

Macro Definition Documentation

#define addressXAD (   xad)    ( ((s64)((xad)->addr1)) << 32 | __le32_to_cpu((xad)->addr2))

Definition at line 62 of file jfs_xtree.h.

#define L2XTSLOTSIZE   4

Definition at line 44 of file jfs_xtree.h.

#define lengthXAD (   xad)    __le24_to_cpu((xad)->len)

Definition at line 64 of file jfs_xtree.h.

#define MAXXLEN   ((1 << 24) - 1)

Definition at line 41 of file jfs_xtree.h.

#define offsetXAD (   xad)    ( ((s64)((xad)->off1)) << 32 | __le32_to_cpu((xad)->off2))

Definition at line 60 of file jfs_xtree.h.

#define XAD_COMPRESSED   0x04 /* compressed with recorded length */

Definition at line 76 of file jfs_xtree.h.

#define XAD_COW   0x10 /* copy-on-write */

Definition at line 78 of file jfs_xtree.h.

#define XAD_EXTENDED   0x02 /* extended */

Definition at line 75 of file jfs_xtree.h.

#define XAD_NEW   0x01 /* new */

Definition at line 74 of file jfs_xtree.h.

#define XAD_NOTRECORDED   0x08 /* allocated but not recorded */

Definition at line 77 of file jfs_xtree.h.

#define XADaddress (   xad,
  address64 
)
Value:
{\
(xad)->addr1 = ((u64)address64) >> 32;\
(xad)->addr2 = __cpu_to_le32((address64) & 0xffffffff);\
}

Definition at line 52 of file jfs_xtree.h.

#define XADlength (   xad,
  length32 
)    (xad)->len = __cpu_to_le24(length32)

Definition at line 57 of file jfs_xtree.h.

#define XADoffset (   xad,
  offset64 
)
Value:
{\
(xad)->off1 = ((u64)offset64) >> 32;\
(xad)->off2 = __cpu_to_le32((offset64) & 0xffffffff);\
}

Definition at line 47 of file jfs_xtree.h.

#define XTENTRYSTART   2

Definition at line 86 of file jfs_xtree.h.

#define XTPAGEMAXSLOT   256

Definition at line 85 of file jfs_xtree.h.

#define XTROOTINITSLOT   10

Definition at line 83 of file jfs_xtree.h.

#define XTROOTINITSLOT_DIR   6

Definition at line 82 of file jfs_xtree.h.

#define XTROOTMAXSLOT   18

Definition at line 84 of file jfs_xtree.h.

#define XTSLOTSIZE   16

Definition at line 43 of file jfs_xtree.h.

Typedef Documentation

typedef struct xad xad_t

Function Documentation

int xtAppend ( tid_t  tid,
struct inode ip,
int  xflag,
s64  xoff,
int  maxblocks,
int xlenp,
s64 xaddrp,
int  flag 
)

Definition at line 2170 of file jfs_xtree.c.

int xtDelete ( tid_t  tid,
struct inode ip,
s64  xoff,
int  xlen,
int  flag 
)
int xtExtend ( tid_t  tid,
struct inode ip,
s64  xoff,
int  xlen,
int  flag 
)

Definition at line 1359 of file jfs_xtree.c.

void xtInitRoot ( tid_t  tid,
struct inode ip 
)

Definition at line 3074 of file jfs_xtree.c.

int xtInsert ( tid_t  tid,
struct inode ip,
int  xflag,
s64  xoff,
int  xlen,
s64 xaddrp,
int  flag 
)

Definition at line 536 of file jfs_xtree.c.

int xtLookup ( struct inode ip,
s64  lstart,
s64  llen,
int pflag,
s64 paddr,
int plen,
int  flag 
)

Definition at line 145 of file jfs_xtree.c.

int xtRelocate ( tid_t  tid,
struct inode ip,
xad_t oxad,
s64  nxaddr,
int  xtype 
)
s64 xtTruncate ( tid_t  tid,
struct inode ip,
s64  newsize,
int  type 
)

Definition at line 3163 of file jfs_xtree.c.

s64 xtTruncate_pmap ( tid_t  tid,
struct inode ip,
s64  committed_size 
)

Definition at line 3719 of file jfs_xtree.c.

int xtUpdate ( tid_t  tid,
struct inode ip,
struct xad nxad 
)

Definition at line 1705 of file jfs_xtree.c.