OSDN Git Service
(root)
/
uclinux-h8
/
linux.git
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
| inline |
side by side
(parent:
1a1974f
)
[PATCH] ocfs2: don't wait on recovery when locking journal
author
Mark Fasheh
<mark.fasheh@oracle.com>
Wed, 18 Jan 2006 18:31:47 +0000
(10:31 -0800)
committer
Mark Fasheh
<mark.fasheh@oracle.com>
Fri, 3 Feb 2006 22:05:14 +0000
(14:05 -0800)
The mount path had incorrectly asked the locking code to wait for recovery
completion, which deadlocks things because recovery waits for mount to
complete first.
Signed-off-by: Mark Fasheh <mark.fasheh@oracle.com>
fs/ocfs2/journal.c
patch
|
blob
|
history
diff --git
a/fs/ocfs2/journal.c
b/fs/ocfs2/journal.c
index
b71b338
..
fa0bcac
100644
(file)
--- a/
fs/ocfs2/journal.c
+++ b/
fs/ocfs2/journal.c
@@
-560,7
+560,11
@@
int ocfs2_journal_init(struct ocfs2_journal *journal, int *dirty)
SET_INODE_JOURNAL(inode);
OCFS2_I(inode)->ip_open_count++;
- status = ocfs2_meta_lock(inode, NULL, &bh, 1);
+ /* Skip recovery waits here - journal inode metadata never
+ * changes in a live cluster so it can be considered an
+ * exception to the rule. */
+ status = ocfs2_meta_lock_full(inode, NULL, &bh, 1,
+ OCFS2_META_LOCK_RECOVERY);
if (status < 0) {
if (status != -ERESTARTSYS)
mlog(ML_ERROR, "Could not get lock on journal!\n");