]> git.baikalelectronics.ru Git - 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)
committerDavid Sterba <dsterba@suse.com>
Fri, 13 Dec 2019 13:10:45 +0000 (14:10 +0100)
commit64c599e751567bde9384fc0d89f622764f5e043e
treed9c530ec46f28ef4008e2395772e9a474fd1d3a8
parent8b67f92e6edbda1bf900efa908af84a36d2bafe0
btrfs: skip log replay on orphaned roots

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>
fs/btrfs/tree-log.c