[Patch 1/7] 2.4.20-pre4/ext3: Fix LVM snapshot deadlock

Stephen Tweedie (sct@redhat.com)
Thu, 26 Sep 2002 14:55:31 +0100


Fix LVM snapshot deadlock: it is a bad idea to try to flush all running
transactions while we already hold the superblock lock. Drop the sb lock
while we flush.

This only affects kernels that have the extra LVM VFS locking added in
for filesystem quiescing on snapshots.

--- linux-2.4-ext3merge/fs/ext3/super.c.=K0000=.orig Thu Sep 26 12:19:14 2002
+++ linux-2.4-ext3merge/fs/ext3/super.c Thu Sep 26 12:25:37 2002
@@ -1588,8 +1588,10 @@
journal_t *journal = EXT3_SB(sb)->s_journal;

/* Now we set up the journal barrier. */
+ unlock_super(sb);
journal_lock_updates(journal);
journal_flush(journal);
+ lock_super(sb);

/* Journal blocked and flushed, clear needs_recovery flag. */
EXT3_CLEAR_INCOMPAT_FEATURE(sb, EXT3_FEATURE_INCOMPAT_RECOVER);
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/