]> git.ipfire.org Git - people/arne_f/kernel.git/commit
btrfs: skip log replay on orphaned roots
authorJosef Bacik <josef@toxicpanda.com>
Fri, 6 Dec 2019 14:37:17 +0000 (09:37 -0500)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Tue, 31 Dec 2019 11:36:44 +0000 (12:36 +0100)
commit08c0e06a7ba7ae66046f97366c10353cdf2a4d0d
tree86f19bf0bc0bcd05815cf59689e7d5ac512edd60
parent0145dc5ac7bc8b216554437cc9575e116a03abb0
btrfs: skip log replay on orphaned roots

commit 9bc574de590510eff899c3ca8dbaf013566b5efe upstream.

My fsstress modifications coupled with generic/475 uncovered a failure
to mount and replay the log if we hit a orphaned root.  We do not want
to replay the log for an orphan root, but it's completely legitimate to
have an orphaned root with a log attached.  Fix this by simply skipping
replaying the log.  We still need to pin it's root node so that we do
not overwrite it while replaying other logs, as we re-read the log root
at every stage of the replay.

CC: stable@vger.kernel.org # 4.4+
Reviewed-by: Filipe Manana <fdmanana@suse.com>
Signed-off-by: Josef Bacik <josef@toxicpanda.com>
Signed-off-by: David Sterba <dsterba@suse.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
fs/btrfs/tree-log.c