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

Go to the source code of this file.

Data Structures

struct  iag
 
struct  iagctl_disk
 
struct  iagctl
 
struct  dinomap_disk
 
struct  dinomap
 
struct  inomap
 

Macros

#define EXTSPERIAG   128 /* number of disk inode extent per iag */
 
#define IMAPBLKNO   0 /* lblkno of dinomap within inode map */
 
#define SMAPSZ   4 /* number of words per summary map */
 
#define EXTSPERSUM   32 /* number of extents per summary map entry */
 
#define L2EXTSPERSUM   5 /* l2 number of extents per summary map */
 
#define PGSPERIEXT   4 /* number of 4K pages per dinode extent */
 
#define MAXIAGS   ((1<<20)-1) /* maximum number of iags */
 
#define MAXAG   128 /* maximum number of allocation groups */
 
#define AMAPSIZE   512 /* bytes in the IAG allocation maps */
 
#define SMAPSIZE   16 /* bytes in the IAG summary maps */
 
#define INOTOIAG(ino)   ((ino) >> L2INOSPERIAG)
 
#define IAGTOLBLK(iagno, l2nbperpg)   (((iagno) + 1) << (l2nbperpg))
 
#define INOPBLK(pxd, ino, l2nbperpg)
 
#define im_freeiag   im_imap.in_freeiag
 
#define im_nextiag   im_imap.in_nextiag
 
#define im_agctl   im_imap.in_agctl
 
#define im_nbperiext   im_imap.in_nbperiext
 
#define im_l2nbperiext   im_imap.in_l2nbperiext
 
#define im_diskblock   im_imap.in_diskblock
 
#define im_maxag   im_imap.in_maxag
 

Functions

int diFree (struct inode *)
 
int diAlloc (struct inode *, bool, struct inode *)
 
int diSync (struct inode *)
 
int diUpdatePMap (struct inode *ipimap, unsigned long inum, bool is_free, struct tblock *tblk)
 
int diExtendFS (struct inode *ipimap, struct inode *ipbmap)
 
int diMount (struct inode *)
 
int diUnmount (struct inode *, int)
 
int diRead (struct inode *)
 
struct inodediReadSpecial (struct super_block *, ino_t, int)
 
void diWriteSpecial (struct inode *, int)
 
void diFreeSpecial (struct inode *)
 
int diWrite (tid_t tid, struct inode *)
 

Macro Definition Documentation

#define AMAPSIZE   512 /* bytes in the IAG allocation maps */

Definition at line 36 of file jfs_imap.h.

#define EXTSPERIAG   128 /* number of disk inode extent per iag */

Definition at line 27 of file jfs_imap.h.

#define EXTSPERSUM   32 /* number of extents per summary map entry */

Definition at line 30 of file jfs_imap.h.

#define IAGTOLBLK (   iagno,
  l2nbperpg 
)    (((iagno) + 1) << (l2nbperpg))

Definition at line 43 of file jfs_imap.h.

#define im_agctl   im_imap.in_agctl

Definition at line 152 of file jfs_imap.h.

#define im_diskblock   im_imap.in_diskblock

Definition at line 158 of file jfs_imap.h.

#define im_freeiag   im_imap.in_freeiag

Definition at line 150 of file jfs_imap.h.

#define im_l2nbperiext   im_imap.in_l2nbperiext

Definition at line 154 of file jfs_imap.h.

#define im_maxag   im_imap.in_maxag

Definition at line 159 of file jfs_imap.h.

#define im_nbperiext   im_imap.in_nbperiext

Definition at line 153 of file jfs_imap.h.

#define im_nextiag   im_imap.in_nextiag

Definition at line 151 of file jfs_imap.h.

#define IMAPBLKNO   0 /* lblkno of dinomap within inode map */

Definition at line 28 of file jfs_imap.h.

#define INOPBLK (   pxd,
  ino,
  l2nbperpg 
)
Value:
(addressPXD((pxd)) + \
((((ino) & (INOSPEREXT-1)) >> L2INOSPERPAGE) << (l2nbperpg)))

Definition at line 48 of file jfs_imap.h.

#define INOTOIAG (   ino)    ((ino) >> L2INOSPERIAG)

Definition at line 40 of file jfs_imap.h.

#define L2EXTSPERSUM   5 /* l2 number of extents per summary map */

Definition at line 31 of file jfs_imap.h.

#define MAXAG   128 /* maximum number of allocation groups */

Definition at line 34 of file jfs_imap.h.

#define MAXIAGS   ((1<<20)-1) /* maximum number of iags */

Definition at line 33 of file jfs_imap.h.

#define PGSPERIEXT   4 /* number of 4K pages per dinode extent */

Definition at line 32 of file jfs_imap.h.

#define SMAPSIZE   16 /* bytes in the IAG summary maps */

Definition at line 37 of file jfs_imap.h.

#define SMAPSZ   4 /* number of words per summary map */

Definition at line 29 of file jfs_imap.h.

Function Documentation

int diAlloc ( struct inode ,
bool  ,
struct inode  
)

Definition at line 1343 of file jfs_imap.c.

int diExtendFS ( struct inode ipimap,
struct inode ipbmap 
)

Definition at line 2868 of file jfs_imap.c.

int diFree ( struct inode )

Definition at line 863 of file jfs_imap.c.

void diFreeSpecial ( struct inode )

Definition at line 562 of file jfs_imap.c.

int diMount ( struct inode )

Definition at line 107 of file jfs_imap.c.

int diRead ( struct inode )

Definition at line 304 of file jfs_imap.c.

struct inode* diReadSpecial ( struct super_block ,
ino_t  ,
int   
)
read

Definition at line 429 of file jfs_imap.c.

int diSync ( struct inode )

Definition at line 219 of file jfs_imap.c.

int diUnmount ( struct inode ,
int   
)

Definition at line 191 of file jfs_imap.c.

int diUpdatePMap ( struct inode ipimap,
unsigned long  inum,
bool  is_free,
struct tblock tblk 
)

Definition at line 2743 of file jfs_imap.c.

int diWrite ( tid_t  tid,
struct inode  
)

Definition at line 599 of file jfs_imap.c.

void diWriteSpecial ( struct inode ,
int   
)

Definition at line 517 of file jfs_imap.c.