diff options
author | Frederic Weisbecker <fweisbec@gmail.com> | 2010-09-09 14:10:28 +0800 |
---|---|---|
committer | Chris Mason <chris.mason@oracle.com> | 2010-09-23 20:26:50 -0400 |
commit | 7da27f91fc103e53756798947d73c955750a2814 (patch) | |
tree | 9ec0ce8205cecd2a1e95baf41227448fe91e9252 /btrfs-list.c | |
parent | bba632af0eada567fb71f6a41ef9d81a2ab17f63 (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.c | 9 |
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 ", |