diff options
Diffstat (limited to 'fs/btrfs/disk-io.c')
| -rw-r--r-- | fs/btrfs/disk-io.c | 6 | 
1 files changed, 4 insertions, 2 deletions
diff --git a/fs/btrfs/disk-io.c b/fs/btrfs/disk-io.c index 7c6f0bbb54a5..b1a148058773 100644 --- a/fs/btrfs/disk-io.c +++ b/fs/btrfs/disk-io.c @@ -2593,10 +2593,12 @@ static int __cold init_tree_roots(struct btrfs_fs_info *fs_info)  		    !extent_buffer_uptodate(tree_root->node)) {  			handle_error = true; -			if (IS_ERR(tree_root->node)) +			if (IS_ERR(tree_root->node)) {  				ret = PTR_ERR(tree_root->node); -			else if (!extent_buffer_uptodate(tree_root->node)) +				tree_root->node = NULL; +			} else if (!extent_buffer_uptodate(tree_root->node)) {  				ret = -EUCLEAN; +			}  			btrfs_warn(fs_info, "failed to read tree root");  			continue;  |