btrfs: check the root node for uptodate before returning it
authorJosef Bacik <josef@toxicpanda.com>
Wed, 24 Nov 2021 19:14:24 +0000 (14:14 -0500)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Thu, 27 Jan 2022 09:54:27 +0000 (10:54 +0100)
commite7764bccae77d3620113576ed18abd5233ba07a6
treed6c0e722ee638502e2c1859f43da72edc8a4c9c7
parent09e0ef287e93c65b6a78d2dca34ad5a6c78ef93b
btrfs: check the root node for uptodate before returning it

commit 120de408e4b97504a2d9b5ca534b383de2c73d49 upstream.

Now that we clear the extent buffer uptodate if we fail to write it out
we need to check to see if our root node is uptodate before we search
down it.  Otherwise we could return stale data (or potentially corrupt
data that was caught by the write verification step) and think that the
path is OK to search down.

CC: stable@vger.kernel.org # 5.4+
Reviewed-by: Nikolay Borisov <nborisov@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/ctree.c