diff options
Diffstat (limited to 'fs/btrfs/disk-io.c')
-rw-r--r-- | fs/btrfs/disk-io.c | 10 |
1 files changed, 10 insertions, 0 deletions
diff --git a/fs/btrfs/disk-io.c b/fs/btrfs/disk-io.c index 99dfd889b9f7..044981cf6df9 100644 --- a/fs/btrfs/disk-io.c +++ b/fs/btrfs/disk-io.c | |||
@@ -417,6 +417,16 @@ int btrfs_verify_level_key(struct extent_buffer *eb, int level, | |||
417 | */ | 417 | */ |
418 | if (btrfs_header_generation(eb) > fs_info->last_trans_committed) | 418 | if (btrfs_header_generation(eb) > fs_info->last_trans_committed) |
419 | return 0; | 419 | return 0; |
420 | |||
421 | /* We have @first_key, so this @eb must have at least one item */ | ||
422 | if (btrfs_header_nritems(eb) == 0) { | ||
423 | btrfs_err(fs_info, | ||
424 | "invalid tree nritems, bytenr=%llu nritems=0 expect >0", | ||
425 | eb->start); | ||
426 | WARN_ON(IS_ENABLED(CONFIG_BTRFS_DEBUG)); | ||
427 | return -EUCLEAN; | ||
428 | } | ||
429 | |||
420 | if (found_level) | 430 | if (found_level) |
421 | btrfs_node_key_to_cpu(eb, &found_key, 0); | 431 | btrfs_node_key_to_cpu(eb, &found_key, 0); |
422 | else | 432 | else |