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

Go to the source code of this file.

Data Structures

struct  logsuper
 
struct  logpage
 
struct  lrd
 
struct  lvd
 
struct  jfs_log
 
struct  lbuf
 
struct  logsyncblk
 

Macros

#define LOGPSIZE   4096
 
#define L2LOGPSIZE   12
 
#define LOGPAGES   16 /* Log pages per mounted file system */
 
#define LOGSUPER_B   1
 
#define LOGSTART_B   2
 
#define LOGMAGIC   0x87654321
 
#define LOGVERSION   1
 
#define MAX_ACTIVE   128 /* Max active file systems sharing log */
 
#define NULL_UUID   "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
 
#define LOGMOUNT   0 /* log mounted by lmLogInit() */
 
#define LOGREDONE
 
#define LOGWRAP   2 /* log wrapped */
 
#define LOGREADERR   3 /* log read error detected in logredo() */
 
#define LOGPHDRSIZE   8 /* log page header size */
 
#define LOGPTLRSIZE   8 /* log page trailer size */
 
#define LOG_COMMIT   0x8000
 
#define LOG_SYNCPT   0x4000
 
#define LOG_MOUNT   0x2000
 
#define LOG_REDOPAGE   0x0800
 
#define LOG_NOREDOPAGE   0x0080
 
#define LOG_NOREDOINOEXT   0x0040
 
#define LOG_UPDATEMAP   0x0008
 
#define LOG_NOREDOFILE   0x0001
 
#define LOG_INODE   0x0001
 
#define LOG_XTREE   0x0002
 
#define LOG_DTREE   0x0004
 
#define LOG_BTROOT   0x0010
 
#define LOG_EA   0x0020
 
#define LOG_ACL   0x0040
 
#define LOG_DATA   0x0080
 
#define LOG_NEW   0x0100
 
#define LOG_EXTEND   0x0200
 
#define LOG_RELOCATE   0x0400
 
#define LOG_DIR_XTREE   0x0800 /* Xtree is in directory inode */
 
#define LOG_ALLOCXADLIST   0x0080
 
#define LOG_ALLOCPXDLIST   0x0040
 
#define LOG_ALLOCXAD   0x0020
 
#define LOG_ALLOCPXD   0x0010
 
#define LOG_FREEXADLIST   0x0008
 
#define LOG_FREEPXDLIST   0x0004
 
#define LOG_FREEXAD   0x0002
 
#define LOG_FREEPXD   0x0001
 
#define LOGRDSIZE   (sizeof(struct lrd))
 
#define log_INLINELOG   1
 
#define log_SYNCBARRIER   2
 
#define log_QUIESCE   3
 
#define log_FLUSH   4
 
#define logGC_PAGEOUT   0x00000001
 
#define tblkGC_QUEUE   0x0001
 
#define tblkGC_READY   0x0002
 
#define tblkGC_COMMIT   0x0004
 
#define tblkGC_COMMITTED   0x0008
 
#define tblkGC_EOP   0x0010
 
#define tblkGC_FREE   0x0020
 
#define tblkGC_LEADER   0x0040
 
#define tblkGC_ERROR   0x0080
 
#define tblkGC_LAZY   0x0100
 
#define tblkGC_UNLOCKED   0x0200
 
#define l_redrive_next   l_freelist
 
#define LOGSYNC_LOCK_INIT(log)   spin_lock_init(&(log)->synclock)
 
#define LOGSYNC_LOCK(log, flags)   spin_lock_irqsave(&(log)->synclock, flags)
 
#define LOGSYNC_UNLOCK(log, flags)   spin_unlock_irqrestore(&(log)->synclock, flags)
 
#define logdiff(diff, lsn, log)
 

Functions

int lmLogOpen (struct super_block *sb)
 
int lmLogClose (struct super_block *sb)
 
int lmLogShutdown (struct jfs_log *log)
 
int lmLogInit (struct jfs_log *log)
 
int lmLogFormat (struct jfs_log *log, s64 logAddress, int logSize)
 
int lmGroupCommit (struct jfs_log *, struct tblock *)
 
int jfsIOWait (void *)
 
void jfs_flush_journal (struct jfs_log *log, int wait)
 
void jfs_syncpt (struct jfs_log *log, int hard_sync)
 

Macro Definition Documentation

#define L2LOGPSIZE   12

Definition at line 31 of file jfs_logmgr.h.

#define l_redrive_next   l_freelist

Definition at line 469 of file jfs_logmgr.h.

#define LOG_ACL   0x0040

Definition at line 181 of file jfs_logmgr.h.

#define LOG_ALLOCPXD   0x0010

Definition at line 192 of file jfs_logmgr.h.

#define LOG_ALLOCPXDLIST   0x0040

Definition at line 190 of file jfs_logmgr.h.

#define LOG_ALLOCXAD   0x0020

Definition at line 191 of file jfs_logmgr.h.

#define LOG_ALLOCXADLIST   0x0080

Definition at line 189 of file jfs_logmgr.h.

#define LOG_BTROOT   0x0010

Definition at line 179 of file jfs_logmgr.h.

#define LOG_COMMIT   0x8000

Definition at line 166 of file jfs_logmgr.h.

#define LOG_DATA   0x0080

Definition at line 182 of file jfs_logmgr.h.

#define LOG_DIR_XTREE   0x0800 /* Xtree is in directory inode */

Definition at line 186 of file jfs_logmgr.h.

#define LOG_DTREE   0x0004

Definition at line 178 of file jfs_logmgr.h.

#define LOG_EA   0x0020

Definition at line 180 of file jfs_logmgr.h.

#define LOG_EXTEND   0x0200

Definition at line 184 of file jfs_logmgr.h.

#define log_FLUSH   4

Definition at line 422 of file jfs_logmgr.h.

#define LOG_FREEPXD   0x0001

Definition at line 196 of file jfs_logmgr.h.

#define LOG_FREEPXDLIST   0x0004

Definition at line 194 of file jfs_logmgr.h.

#define LOG_FREEXAD   0x0002

Definition at line 195 of file jfs_logmgr.h.

#define LOG_FREEXADLIST   0x0008

Definition at line 193 of file jfs_logmgr.h.

#define log_INLINELOG   1

Definition at line 419 of file jfs_logmgr.h.

#define LOG_INODE   0x0001

Definition at line 176 of file jfs_logmgr.h.

#define LOG_MOUNT   0x2000

Definition at line 168 of file jfs_logmgr.h.

#define LOG_NEW   0x0100

Definition at line 183 of file jfs_logmgr.h.

#define LOG_NOREDOFILE   0x0001

Definition at line 173 of file jfs_logmgr.h.

#define LOG_NOREDOINOEXT   0x0040

Definition at line 171 of file jfs_logmgr.h.

#define LOG_NOREDOPAGE   0x0080

Definition at line 170 of file jfs_logmgr.h.

#define log_QUIESCE   3

Definition at line 421 of file jfs_logmgr.h.

#define LOG_REDOPAGE   0x0800

Definition at line 169 of file jfs_logmgr.h.

#define LOG_RELOCATE   0x0400

Definition at line 185 of file jfs_logmgr.h.

#define log_SYNCBARRIER   2

Definition at line 420 of file jfs_logmgr.h.

#define LOG_SYNCPT   0x4000

Definition at line 167 of file jfs_logmgr.h.

#define LOG_UPDATEMAP   0x0008

Definition at line 172 of file jfs_logmgr.h.

#define LOG_XTREE   0x0002

Definition at line 177 of file jfs_logmgr.h.

#define logdiff (   diff,
  lsn,
  log 
)
Value:
{\
diff = (lsn) - (log)->syncpt;\
if (diff < 0)\
diff += (log)->logsize;\
}

Definition at line 494 of file jfs_logmgr.h.

#define logGC_PAGEOUT   0x00000001

Definition at line 428 of file jfs_logmgr.h.

#define LOGMAGIC   0x87654321

Definition at line 59 of file jfs_logmgr.h.

#define LOGMOUNT   0 /* log mounted by lmLogInit() */

Definition at line 88 of file jfs_logmgr.h.

#define LOGPAGES   16 /* Log pages per mounted file system */

Definition at line 33 of file jfs_logmgr.h.

#define LOGPHDRSIZE   8 /* log page header size */

Definition at line 136 of file jfs_logmgr.h.

#define LOGPSIZE   4096

Definition at line 30 of file jfs_logmgr.h.

#define LOGPTLRSIZE   8 /* log page trailer size */

Definition at line 137 of file jfs_logmgr.h.

#define LOGRDSIZE   (sizeof(struct lrd))

Definition at line 350 of file jfs_logmgr.h.

#define LOGREADERR   3 /* log read error detected in logredo() */

Definition at line 91 of file jfs_logmgr.h.

#define LOGREDONE
Value:
1 /* log shutdown by lmLogShutdown().
* log redo completed by logredo().
*/

Definition at line 89 of file jfs_logmgr.h.

#define LOGSTART_B   2

Definition at line 57 of file jfs_logmgr.h.

#define LOGSUPER_B   1

Definition at line 56 of file jfs_logmgr.h.

#define LOGSYNC_LOCK (   log,
  flags 
)    spin_lock_irqsave(&(log)->synclock, flags)

Definition at line 489 of file jfs_logmgr.h.

#define LOGSYNC_LOCK_INIT (   log)    spin_lock_init(&(log)->synclock)

Definition at line 488 of file jfs_logmgr.h.

#define LOGSYNC_UNLOCK (   log,
  flags 
)    spin_unlock_irqrestore(&(log)->synclock, flags)

Definition at line 490 of file jfs_logmgr.h.

#define LOGVERSION   1

Definition at line 60 of file jfs_logmgr.h.

#define LOGWRAP   2 /* log wrapped */

Definition at line 90 of file jfs_logmgr.h.

#define MAX_ACTIVE   128 /* Max active file systems sharing log */

Definition at line 62 of file jfs_logmgr.h.

#define NULL_UUID   "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"

Definition at line 83 of file jfs_logmgr.h.

#define tblkGC_COMMIT   0x0004

Definition at line 433 of file jfs_logmgr.h.

#define tblkGC_COMMITTED   0x0008

Definition at line 434 of file jfs_logmgr.h.

#define tblkGC_EOP   0x0010

Definition at line 435 of file jfs_logmgr.h.

#define tblkGC_ERROR   0x0080

Definition at line 438 of file jfs_logmgr.h.

#define tblkGC_FREE   0x0020

Definition at line 436 of file jfs_logmgr.h.

#define tblkGC_LAZY   0x0100

Definition at line 439 of file jfs_logmgr.h.

#define tblkGC_LEADER   0x0040

Definition at line 437 of file jfs_logmgr.h.

#define tblkGC_QUEUE   0x0001

Definition at line 431 of file jfs_logmgr.h.

#define tblkGC_READY   0x0002

Definition at line 432 of file jfs_logmgr.h.

#define tblkGC_UNLOCKED   0x0200

Definition at line 440 of file jfs_logmgr.h.

Function Documentation

void jfs_flush_journal ( struct jfs_log log,
int  wait 
)

Definition at line 1518 of file jfs_logmgr.c.

void jfs_syncpt ( struct jfs_log log,
int  hard_sync 
)

Definition at line 1046 of file jfs_logmgr.c.

int jfsIOWait ( void )

Definition at line 2323 of file jfs_logmgr.c.

int lmGroupCommit ( struct jfs_log ,
struct tblock  
)

Definition at line 666 of file jfs_logmgr.c.

int lmLogClose ( struct super_block sb)

Definition at line 1444 of file jfs_logmgr.c.

int lmLogFormat ( struct jfs_log log,
s64  logAddress,
int  logSize 
)

Definition at line 2368 of file jfs_logmgr.c.

int lmLogInit ( struct jfs_log log)

Definition at line 1248 of file jfs_logmgr.c.

int lmLogOpen ( struct super_block sb)

Definition at line 1065 of file jfs_logmgr.c.

int lmLogShutdown ( struct jfs_log log)

Definition at line 1641 of file jfs_logmgr.c.