From 7da27f91fc103e53756798947d73c955750a2814 Mon Sep 17 00:00:00 2001 From: Frederic Weisbecker Date: Thu, 9 Sep 2010 14:10:28 +0800 Subject: Handle bad extent type case MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 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 --- btrfs-list.c | 9 +++++++++ 1 file changed, 9 insertions(+) (limited to 'btrfs-list.c') 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 ", -- cgit v1.2.3