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

Go to the source code of this file.

Data Structures

union  ddata_t
 
struct  dtslot
 
struct  idtentry
 
struct  ldtentry
 
struct  dir_table_slot
 
union  dtroot_t
 
union  dtpage_t
 

Macros

#define DATASLOTSIZE   16
 
#define L2DATASLOTSIZE   4
 
#define DTSLOTSIZE   32
 
#define L2DTSLOTSIZE   5
 
#define DTSLOTHDRSIZE   2
 
#define DTSLOTDATASIZE   30
 
#define DTSLOTDATALEN   15
 
#define DTIHDRSIZE   10
 
#define DTIHDRDATALEN   11
 
#define NDTINTERNAL(klen)   (DIV_ROUND_UP((4 + (klen)), 15))
 
#define DTLHDRSIZE   6
 
#define DTLHDRDATALEN_LEGACY   13 /* Old (OS/2) format */
 
#define DTLHDRDATALEN   11
 
#define DO_INDEX(INODE)   (JFS_SBI((INODE)->i_sb)->mntflag & JFS_DIR_INDEX)
 
#define MAX_INLINE_DIRTABLE_ENTRY   13
 
#define DIR_INDEX_VALID   1
 
#define DIR_INDEX_FREE   0
 
#define DTSaddress(dir_table_slot, address64)
 
#define addressDTS(dts)   ( ((s64)((dts)->addr1)) << 32 | __le32_to_cpu((dts)->addr2) )
 
#define NDTLEAF_LEGACY(klen)   (DIV_ROUND_UP((2 + (klen)), 15))
 
#define NDTLEAF   NDTINTERNAL
 
#define PARENT(IP)   (le32_to_cpu(JFS_IP(IP)->i_dtroot.header.idotdot))
 
#define DTROOTMAXSLOT   9
 
#define dtEmpty(IP)   (JFS_IP(IP)->i_dtroot.header.nextindex == 0)
 
#define DTPAGEMAXSLOT   128
 
#define DT8THPGNODEBYTES   512
 
#define DT8THPGNODETSLOTS   1
 
#define DT8THPGNODESLOTS   16
 
#define DTQTRPGNODEBYTES   1024
 
#define DTQTRPGNODETSLOTS   1
 
#define DTQTRPGNODESLOTS   32
 
#define DTHALFPGNODEBYTES   2048
 
#define DTHALFPGNODETSLOTS   2
 
#define DTHALFPGNODESLOTS   64
 
#define DTFULLPGNODEBYTES   4096
 
#define DTFULLPGNODETSLOTS   4
 
#define DTFULLPGNODESLOTS   128
 
#define DTENTRYSTART   1
 
#define DT_GETSTBL(p)
 
#define JFS_CREATE   1
 
#define JFS_LOOKUP   2
 
#define JFS_REMOVE   3
 
#define JFS_RENAME   4
 
#define DIREND   INT_MAX
 

Functions

void dtInitRoot (tid_t tid, struct inode *ip, u32 idotdot)
 
int dtSearch (struct inode *ip, struct component_name *key, ino_t *data, struct btstack *btstack, int flag)
 
int dtInsert (tid_t tid, struct inode *ip, struct component_name *key, ino_t *ino, struct btstack *btstack)
 
int dtDelete (tid_t tid, struct inode *ip, struct component_name *key, ino_t *data, int flag)
 
int dtModify (tid_t tid, struct inode *ip, struct component_name *key, ino_t *orig_ino, ino_t new_ino, int flag)
 
int jfs_readdir (struct file *filp, void *dirent, filldir_t filldir)
 

Macro Definition Documentation

#define addressDTS (   dts)    ( ((s64)((dts)->addr1)) << 32 | __le32_to_cpu((dts)->addr2) )

Definition at line 132 of file jfs_dtree.h.

#define DATASLOTSIZE   16

Definition at line 54 of file jfs_dtree.h.

#define DIR_INDEX_FREE   0

Definition at line 124 of file jfs_dtree.h.

#define DIR_INDEX_VALID   1

Definition at line 123 of file jfs_dtree.h.

#define DIREND   INT_MAX

Definition at line 249 of file jfs_dtree.h.

#define DO_INDEX (   INODE)    (JFS_SBI((INODE)->i_sb)->mntflag & JFS_DIR_INDEX)

Definition at line 104 of file jfs_dtree.h.

#define DT8THPGNODEBYTES   512

Definition at line 215 of file jfs_dtree.h.

#define DT8THPGNODESLOTS   16

Definition at line 217 of file jfs_dtree.h.

#define DT8THPGNODETSLOTS   1

Definition at line 216 of file jfs_dtree.h.

#define DT_GETSTBL (   p)
Value:
( ((p)->header.flag & BT_ROOT) ?\
((dtroot_t *)(p))->header.stbl : \
(s8 *)&(p)->slot[(p)->header.stblindex] )

Definition at line 234 of file jfs_dtree.h.

#define dtEmpty (   IP)    (JFS_IP(IP)->i_dtroot.header.nextindex == 0)

Definition at line 167 of file jfs_dtree.h.

#define DTENTRYSTART   1

Definition at line 231 of file jfs_dtree.h.

#define DTFULLPGNODEBYTES   4096

Definition at line 227 of file jfs_dtree.h.

#define DTFULLPGNODESLOTS   128

Definition at line 229 of file jfs_dtree.h.

#define DTFULLPGNODETSLOTS   4

Definition at line 228 of file jfs_dtree.h.

#define DTHALFPGNODEBYTES   2048

Definition at line 223 of file jfs_dtree.h.

#define DTHALFPGNODESLOTS   64

Definition at line 225 of file jfs_dtree.h.

#define DTHALFPGNODETSLOTS   2

Definition at line 224 of file jfs_dtree.h.

#define DTIHDRDATALEN   11

Definition at line 74 of file jfs_dtree.h.

#define DTIHDRSIZE   10

Definition at line 73 of file jfs_dtree.h.

#define DTLHDRDATALEN   11

Definition at line 95 of file jfs_dtree.h.

#define DTLHDRDATALEN_LEGACY   13 /* Old (OS/2) format */

Definition at line 94 of file jfs_dtree.h.

#define DTLHDRSIZE   6

Definition at line 93 of file jfs_dtree.h.

#define DTPAGEMAXSLOT   128

Definition at line 213 of file jfs_dtree.h.

#define DTQTRPGNODEBYTES   1024

Definition at line 219 of file jfs_dtree.h.

#define DTQTRPGNODESLOTS   32

Definition at line 221 of file jfs_dtree.h.

#define DTQTRPGNODETSLOTS   1

Definition at line 220 of file jfs_dtree.h.

#define DTROOTMAXSLOT   9

Definition at line 165 of file jfs_dtree.h.

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

Definition at line 126 of file jfs_dtree.h.

#define DTSLOTDATALEN   15

Definition at line 60 of file jfs_dtree.h.

#define DTSLOTDATASIZE   30

Definition at line 59 of file jfs_dtree.h.

#define DTSLOTHDRSIZE   2

Definition at line 58 of file jfs_dtree.h.

#define DTSLOTSIZE   32

Definition at line 56 of file jfs_dtree.h.

#define JFS_CREATE   1

Definition at line 241 of file jfs_dtree.h.

#define JFS_LOOKUP   2

Definition at line 242 of file jfs_dtree.h.

#define JFS_REMOVE   3

Definition at line 243 of file jfs_dtree.h.

#define JFS_RENAME   4

Definition at line 244 of file jfs_dtree.h.

#define L2DATASLOTSIZE   4

Definition at line 55 of file jfs_dtree.h.

#define L2DTSLOTSIZE   5

Definition at line 57 of file jfs_dtree.h.

#define MAX_INLINE_DIRTABLE_ENTRY   13

Definition at line 109 of file jfs_dtree.h.

#define NDTINTERNAL (   klen)    (DIV_ROUND_UP((4 + (klen)), 15))

Definition at line 77 of file jfs_dtree.h.

#define NDTLEAF   NDTINTERNAL

Definition at line 137 of file jfs_dtree.h.

#define NDTLEAF_LEGACY (   klen)    (DIV_ROUND_UP((2 + (klen)), 15))

Definition at line 136 of file jfs_dtree.h.

#define PARENT (   IP)    (le32_to_cpu(JFS_IP(IP)->i_dtroot.header.idotdot))

Definition at line 162 of file jfs_dtree.h.

Function Documentation

int dtDelete ( tid_t  tid,
struct inode ip,
struct component_name key,
ino_t data,
int  flag 
)

Definition at line 2082 of file jfs_dtree.c.

void dtInitRoot ( tid_t  tid,
struct inode ip,
u32  idotdot 
)

Definition at line 2826 of file jfs_dtree.c.

int dtInsert ( tid_t  tid,
struct inode ip,
struct component_name key,
ino_t ino,
struct btstack btstack 
)

Definition at line 821 of file jfs_dtree.c.

int dtModify ( tid_t  tid,
struct inode ip,
struct component_name key,
ino_t orig_ino,
ino_t  new_ino,
int  flag 
)

Definition at line 4512 of file jfs_dtree.c.

int dtSearch ( struct inode ip,
struct component_name key,
ino_t data,
struct btstack btstack,
int  flag 
)

Definition at line 580 of file jfs_dtree.c.

int jfs_readdir ( struct file filp,
void dirent,
filldir_t  filldir 
)

Definition at line 3005 of file jfs_dtree.c.