|
@@ -42,7 +42,6 @@
|
|
|
* hold on to mp+lock thru update of maps
|
|
|
*/
|
|
|
|
|
|
-
|
|
|
#include <linux/fs.h>
|
|
|
#include <linux/vmalloc.h>
|
|
|
#include <linux/smp_lock.h>
|
|
@@ -51,6 +50,7 @@
|
|
|
#include <linux/module.h>
|
|
|
#include <linux/moduleparam.h>
|
|
|
#include "jfs_incore.h"
|
|
|
+#include "jfs_inode.h"
|
|
|
#include "jfs_filsys.h"
|
|
|
#include "jfs_metapage.h"
|
|
|
#include "jfs_dinode.h"
|
|
@@ -109,7 +109,6 @@ static int TxLockHWM; /* High water mark for number of txLocks used */
|
|
|
static int TxLockVHWM; /* Very High water mark */
|
|
|
struct tlock *TxLock; /* transaction lock table */
|
|
|
|
|
|
-
|
|
|
/*
|
|
|
* transaction management lock
|
|
|
*/
|
|
@@ -149,7 +148,6 @@ static inline void TXN_SLEEP_DROP_LOCK(wait_queue_head_t * event)
|
|
|
|
|
|
#define TXN_WAKEUP(event) wake_up_all(event)
|
|
|
|
|
|
-
|
|
|
/*
|
|
|
* statistics
|
|
|
*/
|
|
@@ -161,16 +159,6 @@ static struct {
|
|
|
int waitlock; /* 4: # of tlock wait */
|
|
|
} stattx;
|
|
|
|
|
|
-
|
|
|
-/*
|
|
|
- * external references
|
|
|
- */
|
|
|
-extern int lmGroupCommit(struct jfs_log *, struct tblock *);
|
|
|
-extern int jfs_commit_inode(struct inode *, int);
|
|
|
-extern int jfs_stop_threads;
|
|
|
-
|
|
|
-extern struct completion jfsIOwait;
|
|
|
-
|
|
|
/*
|
|
|
* forward references
|
|
|
*/
|
|
@@ -358,7 +346,6 @@ void txExit(void)
|
|
|
TxBlock = NULL;
|
|
|
}
|
|
|
|
|
|
-
|
|
|
/*
|
|
|
* NAME: txBegin()
|
|
|
*
|
|
@@ -460,7 +447,6 @@ tid_t txBegin(struct super_block *sb, int flag)
|
|
|
return t;
|
|
|
}
|
|
|
|
|
|
-
|
|
|
/*
|
|
|
* NAME: txBeginAnon()
|
|
|
*
|
|
@@ -503,7 +489,6 @@ void txBeginAnon(struct super_block *sb)
|
|
|
TXN_UNLOCK();
|
|
|
}
|
|
|
|
|
|
-
|
|
|
/*
|
|
|
* txEnd()
|
|
|
*
|
|
@@ -592,7 +577,6 @@ wakeup:
|
|
|
TXN_WAKEUP(&TxAnchor.freewait);
|
|
|
}
|
|
|
|
|
|
-
|
|
|
/*
|
|
|
* txLock()
|
|
|
*
|
|
@@ -868,7 +852,6 @@ struct tlock *txLock(tid_t tid, struct inode *ip, struct metapage * mp,
|
|
|
return NULL;
|
|
|
}
|
|
|
|
|
|
-
|
|
|
/*
|
|
|
* NAME: txRelease()
|
|
|
*
|
|
@@ -908,7 +891,6 @@ static void txRelease(struct tblock * tblk)
|
|
|
TXN_UNLOCK();
|
|
|
}
|
|
|
|
|
|
-
|
|
|
/*
|
|
|
* NAME: txUnlock()
|
|
|
*
|
|
@@ -996,7 +978,6 @@ static void txUnlock(struct tblock * tblk)
|
|
|
}
|
|
|
}
|
|
|
|
|
|
-
|
|
|
/*
|
|
|
* txMaplock()
|
|
|
*
|
|
@@ -1069,7 +1050,6 @@ struct tlock *txMaplock(tid_t tid, struct inode *ip, int type)
|
|
|
return tlck;
|
|
|
}
|
|
|
|
|
|
-
|
|
|
/*
|
|
|
* txLinelock()
|
|
|
*
|
|
@@ -1103,8 +1083,6 @@ struct linelock *txLinelock(struct linelock * tlock)
|
|
|
return linelock;
|
|
|
}
|
|
|
|
|
|
-
|
|
|
-
|
|
|
/*
|
|
|
* transaction commit management
|
|
|
* -----------------------------
|
|
@@ -1373,7 +1351,6 @@ int txCommit(tid_t tid, /* transaction identifier */
|
|
|
return rc;
|
|
|
}
|
|
|
|
|
|
-
|
|
|
/*
|
|
|
* NAME: txLog()
|
|
|
*
|
|
@@ -1437,7 +1414,6 @@ static int txLog(struct jfs_log * log, struct tblock * tblk, struct commit * cd)
|
|
|
return rc;
|
|
|
}
|
|
|
|
|
|
-
|
|
|
/*
|
|
|
* diLog()
|
|
|
*
|
|
@@ -1465,7 +1441,6 @@ static int diLog(struct jfs_log * log, struct tblock * tblk, struct lrd * lrd,
|
|
|
if (tlck->type & tlckENTRY) {
|
|
|
/* log after-image for logredo(): */
|
|
|
lrd->type = cpu_to_le16(LOG_REDOPAGE);
|
|
|
-// *pxd = mp->cm_pxd;
|
|
|
PXDaddress(pxd, mp->index);
|
|
|
PXDlength(pxd,
|
|
|
mp->logical_size >> tblk->sb->s_blocksize_bits);
|
|
@@ -1552,7 +1527,6 @@ static int diLog(struct jfs_log * log, struct tblock * tblk, struct lrd * lrd,
|
|
|
return rc;
|
|
|
}
|
|
|
|
|
|
-
|
|
|
/*
|
|
|
* dataLog()
|
|
|
*
|
|
@@ -1599,7 +1573,6 @@ static int dataLog(struct jfs_log * log, struct tblock * tblk, struct lrd * lrd,
|
|
|
return 0;
|
|
|
}
|
|
|
|
|
|
-
|
|
|
/*
|
|
|
* dtLog()
|
|
|
*
|
|
@@ -1639,7 +1612,6 @@ static void dtLog(struct jfs_log * log, struct tblock * tblk, struct lrd * lrd,
|
|
|
lrd->log.redopage.type |= cpu_to_le16(LOG_EXTEND);
|
|
|
else
|
|
|
lrd->log.redopage.type |= cpu_to_le16(LOG_NEW);
|
|
|
-// *pxd = mp->cm_pxd;
|
|
|
PXDaddress(pxd, mp->index);
|
|
|
PXDlength(pxd,
|
|
|
mp->logical_size >> tblk->sb->s_blocksize_bits);
|
|
@@ -1704,7 +1676,6 @@ static void dtLog(struct jfs_log * log, struct tblock * tblk, struct lrd * lrd,
|
|
|
return;
|
|
|
}
|
|
|
|
|
|
-
|
|
|
/*
|
|
|
* xtLog()
|
|
|
*
|
|
@@ -1760,7 +1731,6 @@ static void xtLog(struct jfs_log * log, struct tblock * tblk, struct lrd * lrd,
|
|
|
* applying the after-image to the meta-data page.
|
|
|
*/
|
|
|
lrd->type = cpu_to_le16(LOG_REDOPAGE);
|
|
|
-// *page_pxd = mp->cm_pxd;
|
|
|
PXDaddress(page_pxd, mp->index);
|
|
|
PXDlength(page_pxd,
|
|
|
mp->logical_size >> tblk->sb->s_blocksize_bits);
|
|
@@ -2093,7 +2063,6 @@ static void xtLog(struct jfs_log * log, struct tblock * tblk, struct lrd * lrd,
|
|
|
return;
|
|
|
}
|
|
|
|
|
|
-
|
|
|
/*
|
|
|
* mapLog()
|
|
|
*
|
|
@@ -2180,7 +2149,6 @@ void mapLog(struct jfs_log * log, struct tblock * tblk, struct lrd * lrd,
|
|
|
}
|
|
|
}
|
|
|
|
|
|
-
|
|
|
/*
|
|
|
* txEA()
|
|
|
*
|
|
@@ -2233,7 +2201,6 @@ void txEA(tid_t tid, struct inode *ip, dxd_t * oldea, dxd_t * newea)
|
|
|
}
|
|
|
}
|
|
|
|
|
|
-
|
|
|
/*
|
|
|
* txForce()
|
|
|
*
|
|
@@ -2300,7 +2267,6 @@ void txForce(struct tblock * tblk)
|
|
|
}
|
|
|
}
|
|
|
|
|
|
-
|
|
|
/*
|
|
|
* txUpdateMap()
|
|
|
*
|
|
@@ -2437,7 +2403,6 @@ static void txUpdateMap(struct tblock * tblk)
|
|
|
}
|
|
|
}
|
|
|
|
|
|
-
|
|
|
/*
|
|
|
* txAllocPMap()
|
|
|
*
|
|
@@ -2509,7 +2474,6 @@ static void txAllocPMap(struct inode *ip, struct maplock * maplock,
|
|
|
}
|
|
|
}
|
|
|
|
|
|
-
|
|
|
/*
|
|
|
* txFreeMap()
|
|
|
*
|
|
@@ -2611,7 +2575,6 @@ void txFreeMap(struct inode *ip,
|
|
|
}
|
|
|
}
|
|
|
|
|
|
-
|
|
|
/*
|
|
|
* txFreelock()
|
|
|
*
|
|
@@ -2652,7 +2615,6 @@ void txFreelock(struct inode *ip)
|
|
|
TXN_UNLOCK();
|
|
|
}
|
|
|
|
|
|
-
|
|
|
/*
|
|
|
* txAbort()
|
|
|
*
|