#ifndef _H_JFS_TXNMGR
#define _H_JFS_TXNMGR
#include "jfs_logmgr.h"
#define tid_to_tblock(tid) …
#define lid_to_tlock(lid) …
struct tblock { … };
extern struct tblock *TxBlock;
#define COMMIT_SYNC …
#define COMMIT_FORCE …
#define COMMIT_FLUSH …
#define COMMIT_MAP …
#define COMMIT_PMAP …
#define COMMIT_WMAP …
#define COMMIT_PWMAP …
#define COMMIT_FREE …
#define COMMIT_DELETE …
#define COMMIT_TRUNCATE …
#define COMMIT_CREATE …
#define COMMIT_LAZY …
#define COMMIT_PAGE …
#define COMMIT_INODE …
struct tlock { … };
extern struct tlock *TxLock;
#define tlckPAGELOCK …
#define tlckINODELOCK …
#define tlckLINELOCK …
#define tlckINLINELOCK …
#define tlckLOG …
#define tlckUPDATEMAP …
#define tlckDIRECTORY …
#define tlckFREELOCK …
#define tlckWRITEPAGE …
#define tlckFREEPAGE …
#define tlckTYPE …
#define tlckINODE …
#define tlckXTREE …
#define tlckDTREE …
#define tlckMAP …
#define tlckEA …
#define tlckACL …
#define tlckDATA …
#define tlckBTROOT …
#define tlckOPERATION …
#define tlckGROW …
#define tlckREMOVE …
#define tlckTRUNCATE …
#define tlckRELOCATE …
#define tlckENTRY …
#define tlckEXTEND …
#define tlckSPLIT …
#define tlckNEW …
#define tlckFREE …
#define tlckRELINK …
struct lv { … };
#define TLOCKSHORT …
#define TLOCKLONG …
struct linelock { … };
#define dt_lock …
struct xtlock { … };
struct maplock { … };
#define mlckALLOC …
#define mlckALLOCXADLIST …
#define mlckALLOCPXDLIST …
#define mlckALLOCXAD …
#define mlckALLOCPXD …
#define mlckFREE …
#define mlckFREEXADLIST …
#define mlckFREEPXDLIST …
#define mlckFREEXAD …
#define mlckFREEPXD …
#define pxd_lock …
struct xdlistlock { … };
#define xdlist …
struct commit { … };
extern int jfs_tlocks_low;
extern int txInit(void);
extern void txExit(void);
extern struct tlock *txLock(tid_t, struct inode *, struct metapage *, int);
extern struct tlock *txMaplock(tid_t, struct inode *, int);
extern int txCommit(tid_t, int, struct inode **, int);
extern tid_t txBegin(struct super_block *, int);
extern void txBeginAnon(struct super_block *);
extern void txEnd(tid_t);
extern void txAbort(tid_t, int);
extern struct linelock *txLinelock(struct linelock *);
extern void txFreeMap(struct inode *, struct maplock *, struct tblock *, int);
extern void txEA(tid_t, struct inode *, dxd_t *, dxd_t *);
extern void txFreelock(struct inode *);
extern int lmLog(struct jfs_log *, struct tblock *, struct lrd *,
struct tlock *);
extern void txQuiesce(struct super_block *);
extern void txResume(struct super_block *);
extern void txLazyUnlock(struct tblock *);
extern int jfs_lazycommit(void *);
extern int jfs_sync(void *);
#endif