summaryrefslogtreecommitdiff
path: root/btrfs-list.c
diff options
context:
space:
mode:
authorFrederic Weisbecker <fweisbec@gmail.com>2010-09-09 14:10:28 +0800
committerChris Mason <chris.mason@oracle.com>2010-09-23 20:26:50 -0400
commit7da27f91fc103e53756798947d73c955750a2814 (patch)
tree9ec0ce8205cecd2a1e95baf41227448fe91e9252 /btrfs-list.c
parentbba632af0eada567fb71f6a41ef9d81a2ab17f63 (diff)
Handle bad extent type case
If we meet a bad extent type, find_updated_files is going to print random things. Better warn the user about what happens. This fixes: btrfs-list.c: Dans la fonction «find_updated_files» : btrfs-list.c:668: attention : «disk_offset» may be used uninitialized in this function btrfs-list.c:668: note: «disk_offset» was declared here btrfs-list.c:667: attention : «disk_start» may be used uninitialized in this function btrfs-list.c:667: note: «disk_start» was declared here btrfs-list.c:666: attention : «len» may be used uninitialized in this function btrfs-list.c:666: note: «len» was declared here make: *** [btrfs-list.o] Erreur 1 Signed-off-by: Frederic Weisbecker <fweisbec@gmail.com>
Diffstat (limited to 'btrfs-list.c')
-rw-r--r--btrfs-list.c9
1 files changed, 9 insertions, 0 deletions
diff --git a/btrfs-list.c b/btrfs-list.c
index 112bed25..93766a80 100644
--- a/btrfs-list.c
+++ b/btrfs-list.c
@@ -698,6 +698,15 @@ static int print_one_extent(int fd, struct btrfs_ioctl_search_header *sh,
disk_start = 0;
disk_offset = 0;
len = btrfs_stack_file_extent_ram_bytes(item);
+ } else {
+ printf("unhandled extent type %d for inode %llu "
+ "file offset %llu gen %llu\n",
+ type,
+ (unsigned long long)sh->objectid,
+ (unsigned long long)sh->offset,
+ (unsigned long long)found_gen);
+
+ return -EIO;
}
printf("inode %llu file offset %llu len %llu disk start %llu "
"offset %llu gen %llu flags ",