summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDave Kleikamp <shaggy@austin.ibm.com>2005-03-16 04:03:18 -0600
committerDave Kleikamp <shaggy@austin.ibm.com>2005-03-16 04:03:18 -0600
commit3bd31d43d53fc01261137cbd7c7be160c183cab6 (patch)
treed5859f16b78a538da3f26c44cf287f439552684e
parentcda61e3d87e6d457f9cbd99560eab501d9c6a89b (diff)
parent78e4d40157955fe124e1cf2c251ea6218f7346d7 (diff)
Merge jfs@jfs.bkbits.net:linux-2.5
into austin.ibm.com:/home/shaggy/bk/jfs-2.5
-rw-r--r--fs/jfs/jfs_logmgr.c5
-rw-r--r--fs/jfs/jfs_txnmgr.c4
2 files changed, 6 insertions, 3 deletions
diff --git a/fs/jfs/jfs_logmgr.c b/fs/jfs/jfs_logmgr.c
index 2585133199ad..b6a6869ebb4f 100644
--- a/fs/jfs/jfs_logmgr.c
+++ b/fs/jfs/jfs_logmgr.c
@@ -1119,6 +1119,7 @@ int lmLogOpen(struct super_block *sb)
}
memset(log, 0, sizeof(struct jfs_log));
INIT_LIST_HEAD(&log->sb_list);
+ init_waitqueue_head(&log->syncwait);
/*
* external log as separate logical volume
@@ -1192,6 +1193,7 @@ static int open_inline_log(struct super_block *sb)
return -ENOMEM;
memset(log, 0, sizeof(struct jfs_log));
INIT_LIST_HEAD(&log->sb_list);
+ init_waitqueue_head(&log->syncwait);
set_bit(log_INLINELOG, &log->flag);
log->bdev = sb->s_bdev;
@@ -1229,6 +1231,7 @@ static int open_dummy_log(struct super_block *sb)
}
memset(dummy_log, 0, sizeof(struct jfs_log));
INIT_LIST_HEAD(&dummy_log->sb_list);
+ init_waitqueue_head(&dummy_log->syncwait);
dummy_log->no_integrity = 1;
/* Make up some stuff */
dummy_log->base = 0;
@@ -1291,8 +1294,6 @@ int lmLogInit(struct jfs_log * log)
INIT_LIST_HEAD(&log->synclist);
- init_waitqueue_head(&log->syncwait);
-
INIT_LIST_HEAD(&log->cqueue);
log->flush_tblk = NULL;
diff --git a/fs/jfs/jfs_txnmgr.c b/fs/jfs/jfs_txnmgr.c
index 1ce37edc7406..c968438d4e4c 100644
--- a/fs/jfs/jfs_txnmgr.c
+++ b/fs/jfs/jfs_txnmgr.c
@@ -1,5 +1,5 @@
/*
- * Copyright (C) International Business Machines Corp., 2000-2004
+ * Copyright (C) International Business Machines Corp., 2000-2005
* Portions Copyright (C) Christoph Hellwig, 2001-2002
*
* This program is free software; you can redistribute it and/or modify
@@ -2796,6 +2796,8 @@ int jfs_lazycommit(void *arg)
if (!WorkDone)
break;
}
+ /* In case a wakeup came while all threads were active */
+ jfs_commit_thread_waking = 0;
if (current->flags & PF_FREEZE) {
LAZY_UNLOCK(flags);