diff options
author | Dave Kleikamp <shaggy@austin.ibm.com> | 2005-08-19 10:37:59 -0500 |
---|---|---|
committer | Dave Kleikamp <shaggy@austin.ibm.com> | 2005-08-19 10:37:59 -0500 |
commit | 01fa90cb2f0b664bc86d9aff807f4ea7f09e2e7f (patch) | |
tree | 5c290dcd84389e8a5bacc052bf61ea89ac02a4fb /fs/jfs/jfs_txnmgr.c | |
parent | 686762c8049457a6255ad5caf9275c100fbaceb6 (diff) | |
parent | 2ad56496627630ebc99f06af5f81ca23e17e014e (diff) | |
download | kernel_samsung_smdk4412-01fa90cb2f0b664bc86d9aff807f4ea7f09e2e7f.tar.gz kernel_samsung_smdk4412-01fa90cb2f0b664bc86d9aff807f4ea7f09e2e7f.tar.bz2 kernel_samsung_smdk4412-01fa90cb2f0b664bc86d9aff807f4ea7f09e2e7f.zip |
Merge with /home/shaggy/git/linus-clean/
Diffstat (limited to 'fs/jfs/jfs_txnmgr.c')
-rw-r--r-- | fs/jfs/jfs_txnmgr.c | 12 |
1 files changed, 7 insertions, 5 deletions
diff --git a/fs/jfs/jfs_txnmgr.c b/fs/jfs/jfs_txnmgr.c index 121c981ff45..c7a92f9deb2 100644 --- a/fs/jfs/jfs_txnmgr.c +++ b/fs/jfs/jfs_txnmgr.c @@ -552,6 +552,11 @@ void txEnd(tid_t tid) * synchronize with logsync barrier */ if (test_bit(log_SYNCBARRIER, &log->flag)) { + TXN_UNLOCK(); + + /* write dirty metadata & forward log syncpt */ + jfs_syncpt(log, 1); + jfs_info("log barrier off: 0x%x", log->lsn); /* enable new transactions start */ @@ -560,11 +565,6 @@ void txEnd(tid_t tid) /* wakeup all waitors for logsync barrier */ TXN_WAKEUP(&log->syncwait); - TXN_UNLOCK(); - - /* forward log syncpt */ - jfs_syncpt(log); - goto wakeup; } } @@ -657,7 +657,9 @@ struct tlock *txLock(tid_t tid, struct inode *ip, struct metapage * mp, /* only anonymous txn. * Remove from anon_list */ + TXN_LOCK(); list_del_init(&jfs_ip->anon_inode_list); + TXN_UNLOCK(); } jfs_ip->atlhead = tlck->next; } else { |