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

Go to the source code of this file.

Data Structures

struct  tblock
 
struct  tlock
 
struct  lv
 
struct  linelock
 
struct  xtlock
 
struct  maplock
 
struct  xdlistlock
 
struct  commit
 

Macros

#define tid_to_tblock(tid)   (&TxBlock[tid])
 
#define lid_to_tlock(lid)   (&TxLock[lid])
 
#define COMMIT_SYNC   0x0001 /* synchronous commit */
 
#define COMMIT_FORCE   0x0002 /* force pageout at end of commit */
 
#define COMMIT_FLUSH   0x0004 /* init flush at end of commit */
 
#define COMMIT_MAP   0x00f0
 
#define COMMIT_PMAP   0x0010 /* update pmap */
 
#define COMMIT_WMAP   0x0020 /* update wmap */
 
#define COMMIT_PWMAP   0x0040 /* update pwmap */
 
#define COMMIT_FREE   0x0f00
 
#define COMMIT_DELETE   0x0100 /* inode delete */
 
#define COMMIT_TRUNCATE   0x0200 /* file truncation */
 
#define COMMIT_CREATE   0x0400 /* inode create */
 
#define COMMIT_LAZY   0x0800 /* lazy commit */
 
#define COMMIT_PAGE   0x1000 /* Identifies element as metapage */
 
#define COMMIT_INODE   0x2000 /* Identifies element as inode */
 
#define tlckPAGELOCK   0x8000
 
#define tlckINODELOCK   0x4000
 
#define tlckLINELOCK   0x2000
 
#define tlckINLINELOCK   0x1000
 
#define tlckLOG   0x0800
 
#define tlckUPDATEMAP   0x0080
 
#define tlckDIRECTORY   0x0040
 
#define tlckFREELOCK   0x0008
 
#define tlckWRITEPAGE   0x0004
 
#define tlckFREEPAGE   0x0002
 
#define tlckTYPE   0xfe00
 
#define tlckINODE   0x8000
 
#define tlckXTREE   0x4000
 
#define tlckDTREE   0x2000
 
#define tlckMAP   0x1000
 
#define tlckEA   0x0800
 
#define tlckACL   0x0400
 
#define tlckDATA   0x0200
 
#define tlckBTROOT   0x0100
 
#define tlckOPERATION   0x00ff
 
#define tlckGROW   0x0001 /* file grow */
 
#define tlckREMOVE   0x0002 /* file delete */
 
#define tlckTRUNCATE   0x0004 /* file truncate */
 
#define tlckRELOCATE   0x0008 /* file/directory relocate */
 
#define tlckENTRY   0x0001 /* directory insert/delete */
 
#define tlckEXTEND   0x0002 /* directory extend in-line */
 
#define tlckSPLIT   0x0010 /* splited page */
 
#define tlckNEW   0x0020 /* new page from split */
 
#define tlckFREE   0x0040 /* free page */
 
#define tlckRELINK   0x0080 /* update sibling pointer */
 
#define TLOCKSHORT   20
 
#define TLOCKLONG   28
 
#define dt_lock   linelock
 
#define mlckALLOC   0x00f0
 
#define mlckALLOCXADLIST   0x0080
 
#define mlckALLOCPXDLIST   0x0040
 
#define mlckALLOCXAD   0x0020
 
#define mlckALLOCPXD   0x0010
 
#define mlckFREE   0x000f
 
#define mlckFREEXADLIST   0x0008
 
#define mlckFREEPXDLIST   0x0004
 
#define mlckFREEXAD   0x0002
 
#define mlckFREEPXD   0x0001
 
#define pxd_lock   maplock
 
#define xdlist   union64._xdlist
 

Functions

int txInit (void)
 
void txExit (void)
 
struct tlocktxLock (tid_t, struct inode *, struct metapage *, int)
 
struct tlocktxMaplock (tid_t, struct inode *, int)
 
int txCommit (tid_t, int, struct inode **, int)
 
tid_t txBegin (struct super_block *, int)
 
void txBeginAnon (struct super_block *)
 
void txEnd (tid_t)
 
void txAbort (tid_t, int)
 
struct linelocktxLinelock (struct linelock *)
 
void txFreeMap (struct inode *, struct maplock *, struct tblock *, int)
 
void txEA (tid_t, struct inode *, dxd_t *, dxd_t *)
 
void txFreelock (struct inode *)
 
int lmLog (struct jfs_log *, struct tblock *, struct lrd *, struct tlock *)
 
void txQuiesce (struct super_block *)
 
void txResume (struct super_block *)
 
void txLazyUnlock (struct tblock *)
 
int jfs_lazycommit (void *)
 
int jfs_sync (void *)
 

Variables

struct tblockTxBlock
 
struct tlockTxLock
 
int jfs_tlocks_low
 

Macro Definition Documentation

#define COMMIT_CREATE   0x0400 /* inode create */

Definition at line 85 of file jfs_txnmgr.h.

#define COMMIT_DELETE   0x0100 /* inode delete */

Definition at line 83 of file jfs_txnmgr.h.

#define COMMIT_FLUSH   0x0004 /* init flush at end of commit */

Definition at line 77 of file jfs_txnmgr.h.

#define COMMIT_FORCE   0x0002 /* force pageout at end of commit */

Definition at line 76 of file jfs_txnmgr.h.

#define COMMIT_FREE   0x0f00

Definition at line 82 of file jfs_txnmgr.h.

#define COMMIT_INODE   0x2000 /* Identifies element as inode */

Definition at line 88 of file jfs_txnmgr.h.

#define COMMIT_LAZY   0x0800 /* lazy commit */

Definition at line 86 of file jfs_txnmgr.h.

#define COMMIT_MAP   0x00f0

Definition at line 78 of file jfs_txnmgr.h.

#define COMMIT_PAGE   0x1000 /* Identifies element as metapage */

Definition at line 87 of file jfs_txnmgr.h.

#define COMMIT_PMAP   0x0010 /* update pmap */

Definition at line 79 of file jfs_txnmgr.h.

#define COMMIT_PWMAP   0x0040 /* update pwmap */

Definition at line 81 of file jfs_txnmgr.h.

#define COMMIT_SYNC   0x0001 /* synchronous commit */

Definition at line 75 of file jfs_txnmgr.h.

#define COMMIT_TRUNCATE   0x0200 /* file truncation */

Definition at line 84 of file jfs_txnmgr.h.

#define COMMIT_WMAP   0x0020 /* update wmap */

Definition at line 80 of file jfs_txnmgr.h.

#define dt_lock   linelock

Definition at line 184 of file jfs_txnmgr.h.

#define lid_to_tlock (   lid)    (&TxLock[lid])

Definition at line 28 of file jfs_txnmgr.h.

#define mlckALLOC   0x00f0

Definition at line 232 of file jfs_txnmgr.h.

#define mlckALLOCPXD   0x0010

Definition at line 236 of file jfs_txnmgr.h.

#define mlckALLOCPXDLIST   0x0040

Definition at line 234 of file jfs_txnmgr.h.

#define mlckALLOCXAD   0x0020

Definition at line 235 of file jfs_txnmgr.h.

#define mlckALLOCXADLIST   0x0080

Definition at line 233 of file jfs_txnmgr.h.

#define mlckFREE   0x000f

Definition at line 237 of file jfs_txnmgr.h.

#define mlckFREEPXD   0x0001

Definition at line 241 of file jfs_txnmgr.h.

#define mlckFREEPXDLIST   0x0004

Definition at line 239 of file jfs_txnmgr.h.

#define mlckFREEXAD   0x0002

Definition at line 240 of file jfs_txnmgr.h.

#define mlckFREEXADLIST   0x0008

Definition at line 238 of file jfs_txnmgr.h.

#define pxd_lock   maplock

Definition at line 243 of file jfs_txnmgr.h.

#define tid_to_tblock (   tid)    (&TxBlock[tid])

Definition at line 26 of file jfs_txnmgr.h.

#define tlckACL   0x0400

Definition at line 140 of file jfs_txnmgr.h.

#define tlckBTROOT   0x0100

Definition at line 142 of file jfs_txnmgr.h.

#define tlckDATA   0x0200

Definition at line 141 of file jfs_txnmgr.h.

#define tlckDIRECTORY   0x0040

Definition at line 125 of file jfs_txnmgr.h.

#define tlckDTREE   0x2000

Definition at line 137 of file jfs_txnmgr.h.

#define tlckEA   0x0800

Definition at line 139 of file jfs_txnmgr.h.

#define tlckENTRY   0x0001 /* directory insert/delete */

Definition at line 149 of file jfs_txnmgr.h.

#define tlckEXTEND   0x0002 /* directory extend in-line */

Definition at line 150 of file jfs_txnmgr.h.

#define tlckFREE   0x0040 /* free page */

Definition at line 153 of file jfs_txnmgr.h.

#define tlckFREELOCK   0x0008

Definition at line 127 of file jfs_txnmgr.h.

#define tlckFREEPAGE   0x0002

Definition at line 129 of file jfs_txnmgr.h.

#define tlckGROW   0x0001 /* file grow */

Definition at line 145 of file jfs_txnmgr.h.

#define tlckINLINELOCK   0x1000

Definition at line 120 of file jfs_txnmgr.h.

#define tlckINODE   0x8000

Definition at line 135 of file jfs_txnmgr.h.

#define tlckINODELOCK   0x4000

Definition at line 118 of file jfs_txnmgr.h.

#define tlckLINELOCK   0x2000

Definition at line 119 of file jfs_txnmgr.h.

#define tlckLOG   0x0800

Definition at line 122 of file jfs_txnmgr.h.

#define tlckMAP   0x1000

Definition at line 138 of file jfs_txnmgr.h.

#define tlckNEW   0x0020 /* new page from split */

Definition at line 152 of file jfs_txnmgr.h.

#define tlckOPERATION   0x00ff

Definition at line 144 of file jfs_txnmgr.h.

#define tlckPAGELOCK   0x8000

Definition at line 117 of file jfs_txnmgr.h.

#define tlckRELINK   0x0080 /* update sibling pointer */

Definition at line 154 of file jfs_txnmgr.h.

#define tlckRELOCATE   0x0008 /* file/directory relocate */

Definition at line 148 of file jfs_txnmgr.h.

#define tlckREMOVE   0x0002 /* file delete */

Definition at line 146 of file jfs_txnmgr.h.

#define tlckSPLIT   0x0010 /* splited page */

Definition at line 151 of file jfs_txnmgr.h.

#define tlckTRUNCATE   0x0004 /* file truncate */

Definition at line 147 of file jfs_txnmgr.h.

#define tlckTYPE   0xfe00

Definition at line 134 of file jfs_txnmgr.h.

#define tlckUPDATEMAP   0x0080

Definition at line 124 of file jfs_txnmgr.h.

#define tlckWRITEPAGE   0x0004

Definition at line 128 of file jfs_txnmgr.h.

#define tlckXTREE   0x4000

Definition at line 136 of file jfs_txnmgr.h.

#define TLOCKLONG   28

Definition at line 168 of file jfs_txnmgr.h.

#define TLOCKSHORT   20

Definition at line 167 of file jfs_txnmgr.h.

#define xdlist   union64._xdlist

Definition at line 266 of file jfs_txnmgr.h.

Function Documentation

int jfs_lazycommit ( void )

Definition at line 2748 of file jfs_txnmgr.c.

int jfs_sync ( void )

Definition at line 2933 of file jfs_txnmgr.c.

int lmLog ( struct jfs_log ,
struct tblock ,
struct lrd ,
struct tlock  
)

Definition at line 225 of file jfs_logmgr.c.

void txAbort ( tid_t  ,
int   
)

Definition at line 2643 of file jfs_txnmgr.c.

tid_t txBegin ( struct super_block ,
int   
)

Definition at line 362 of file jfs_txnmgr.c.

void txBeginAnon ( struct super_block )

Definition at line 461 of file jfs_txnmgr.c.

int txCommit ( tid_t  ,
int  ,
struct inode **  ,
int   
)

Definition at line 1136 of file jfs_txnmgr.c.

void txEA ( tid_t  ,
struct inode ,
dxd_t ,
dxd_t  
)

Definition at line 2174 of file jfs_txnmgr.c.

void txEnd ( tid_t  )

Definition at line 501 of file jfs_txnmgr.c.

void txExit ( void  )

Definition at line 341 of file jfs_txnmgr.c.

void txFreelock ( struct inode )

Definition at line 2597 of file jfs_txnmgr.c.

void txFreeMap ( struct inode ,
struct maplock ,
struct tblock ,
int   
)

Definition at line 2498 of file jfs_txnmgr.c.

int txInit ( void  )

Definition at line 239 of file jfs_txnmgr.c.

void txLazyUnlock ( struct tblock )

Definition at line 2823 of file jfs_txnmgr.c.

struct linelock* txLinelock ( struct linelock )
read

Definition at line 1069 of file jfs_txnmgr.c.

struct tlock* txLock ( tid_t  ,
struct inode ,
struct metapage ,
int   
)
read

Definition at line 591 of file jfs_txnmgr.c.

struct tlock* txMaplock ( tid_t  ,
struct inode ,
int   
)
read

Definition at line 996 of file jfs_txnmgr.c.

void txQuiesce ( struct super_block )

Definition at line 2861 of file jfs_txnmgr.c.

void txResume ( struct super_block )

Definition at line 2918 of file jfs_txnmgr.c.

Variable Documentation

int jfs_tlocks_low

Definition at line 81 of file jfs_txnmgr.c.

struct tblock* TxBlock

Definition at line 107 of file jfs_txnmgr.c.

struct tlock* TxLock

Definition at line 111 of file jfs_txnmgr.c.