From 1ffa833a910b5a7070d9ee4456fb833aab7cf91d Mon Sep 17 00:00:00 2001 From: Qu Wenruo Date: Wed, 5 Aug 2015 16:03:12 +0800 Subject: btrfs-progs: fsck: print correct file hole If a file lost all its extents, fsck will unable to print out the hole. Add an extra check to print out the hole range. Signed-off-by: Qu Wenruo Signed-off-by: David Sterba --- cmds-check.c | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) (limited to 'cmds-check.c') diff --git a/cmds-check.c b/cmds-check.c index 50bb6f35..31ed5894 100644 --- a/cmds-check.c +++ b/cmds-check.c @@ -616,15 +616,20 @@ static void print_inode_error(struct btrfs_root *root, struct inode_record *rec) if (errors & I_ERR_FILE_EXTENT_DISCOUNT) { struct file_extent_hole *hole; struct rb_node *node; + int found = 0; node = rb_first(&rec->holes); fprintf(stderr, "Found file extent holes:\n"); while (node) { + found = 1; hole = rb_entry(node, struct file_extent_hole, node); - fprintf(stderr, "\tstart: %llu, len:%llu\n", + fprintf(stderr, "\tstart: %llu, len: %llu\n", hole->start, hole->len); node = rb_next(node); } + if (!found) + fprintf(stderr, "\tstart: 0, len: %llu\n", + round_up(rec->isize, root->sectorsize)); } } -- cgit v1.2.3