Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 6eff5790 authored by Mark Fasheh's avatar Mark Fasheh
Browse files

[PATCH] ocfs2: don't wait on recovery when locking journal



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: default avatarMark Fasheh <mark.fasheh@oracle.com>
parent 1a1974fd
Loading
Loading
Loading
Loading
+5 −1
Original line number Original line Diff line number Diff line
@@ -560,7 +560,11 @@ int ocfs2_journal_init(struct ocfs2_journal *journal, int *dirty)
	SET_INODE_JOURNAL(inode);
	SET_INODE_JOURNAL(inode);
	OCFS2_I(inode)->ip_open_count++;
	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 < 0) {
		if (status != -ERESTARTSYS)
		if (status != -ERESTARTSYS)
			mlog(ML_ERROR, "Could not get lock on journal!\n");
			mlog(ML_ERROR, "Could not get lock on journal!\n");