btrfs-progs: mkfs: switch BUG_ON to error handling in traverse_directory
authorDavid Sterba <dsterba@suse.com>
Mon, 22 Aug 2016 16:10:43 +0000 (18:10 +0200)
committerDavid Sterba <dsterba@suse.com>
Wed, 24 Aug 2016 12:37:36 +0000 (14:37 +0200)
Signed-off-by: David Sterba <dsterba@suse.com>
mkfs.c

diff --git a/mkfs.c b/mkfs.c
index 3f0a332..c28a8bb 100644 (file)
--- a/mkfs.c
+++ b/mkfs.c
@@ -910,7 +910,12 @@ static int traverse_directory(struct btrfs_trans_handle *trans,
                                              parent_inum, dir_index_cnt,
                                              &cur_inode);
                        if (ret == -EEXIST) {
-                               BUG_ON(st.st_nlink <= 1);
+                               if (st.st_nlink <= 1) {
+                                       error(
+                       "item %s already exists but has wrong st_nlink %ld <= 1",
+                                               cur_file->d_name, st.st_nlink);
+                                       goto fail;
+                               }
                                continue;
                        }
                        if (ret) {