diff options
Diffstat (limited to 'fs/jfs/jfs_txnmgr.c')
-rw-r--r-- | fs/jfs/jfs_txnmgr.c | 14 |
1 files changed, 9 insertions, 5 deletions
diff --git a/fs/jfs/jfs_txnmgr.c b/fs/jfs/jfs_txnmgr.c index bbc9c1407b55..e93d01aa12c4 100644 --- a/fs/jfs/jfs_txnmgr.c +++ b/fs/jfs/jfs_txnmgr.c | |||
@@ -567,9 +567,6 @@ void txEnd(tid_t tid) | |||
567 | * synchronize with logsync barrier | 567 | * synchronize with logsync barrier |
568 | */ | 568 | */ |
569 | if (test_bit(log_SYNCBARRIER, &log->flag)) { | 569 | if (test_bit(log_SYNCBARRIER, &log->flag)) { |
570 | /* forward log syncpt */ | ||
571 | /* lmSync(log); */ | ||
572 | |||
573 | jfs_info("log barrier off: 0x%x", log->lsn); | 570 | jfs_info("log barrier off: 0x%x", log->lsn); |
574 | 571 | ||
575 | /* enable new transactions start */ | 572 | /* enable new transactions start */ |
@@ -577,15 +574,22 @@ void txEnd(tid_t tid) | |||
577 | 574 | ||
578 | /* wakeup all waitors for logsync barrier */ | 575 | /* wakeup all waitors for logsync barrier */ |
579 | TXN_WAKEUP(&log->syncwait); | 576 | TXN_WAKEUP(&log->syncwait); |
577 | |||
578 | TXN_UNLOCK(); | ||
579 | |||
580 | /* forward log syncpt */ | ||
581 | jfs_syncpt(log); | ||
582 | |||
583 | goto wakeup; | ||
580 | } | 584 | } |
581 | } | 585 | } |
582 | 586 | ||
587 | TXN_UNLOCK(); | ||
588 | wakeup: | ||
583 | /* | 589 | /* |
584 | * wakeup all waitors for a free tblock | 590 | * wakeup all waitors for a free tblock |
585 | */ | 591 | */ |
586 | TXN_WAKEUP(&TxAnchor.freewait); | 592 | TXN_WAKEUP(&TxAnchor.freewait); |
587 | |||
588 | TXN_UNLOCK(); | ||
589 | } | 593 | } |
590 | 594 | ||
591 | 595 | ||