btrfs-progs: check: prevent attempt to insert extent record with max_size==0
authorChristophe de Dinechin <dinechin@redhat.com>
Fri, 28 Apr 2017 09:50:23 +0000 (11:50 +0200)
committerDavid Sterba <dsterba@suse.com>
Tue, 2 May 2017 17:01:50 +0000 (19:01 +0200)
commit05011bf0d49d6b7e4ec5c2ac6c0181544f3a5b85
tree8ab2de7b35399d93f6b00d4055019a116918e916
parent53a88b50eae3d8f960a992e0aad8480c3732ee10
btrfs-progs: check: prevent attempt to insert extent record with max_size==0

When this happens, we will trip a BUG_ON(end < start) in insert_state
because in check_extent_refs, we use this max_size expecting it's not zero:

  set_extent_dirty(root->fs_info->excluded_extents,
                   rec->start,
                   rec->start + rec->max_size - 1);

See https://bugzilla.redhat.com/show_bug.cgi?id=1435567
for an example where this scenario occurs.

Signed-off-by: Christophe de Dinechin <dinechin@redhat.com>
Signed-off-by: David Sterba <dsterba@suse.com>
cmds-check.c