btrfs: fix WARNING in btrfs_select_ref_head()
authorWang Xiaoguang <wangxg.fnst@cn.fujitsu.com>
Mon, 20 Jun 2016 01:18:52 +0000 (09:18 +0800)
committerDavid Sterba <dsterba@suse.com>
Mon, 24 Oct 2016 16:20:29 +0000 (18:20 +0200)
commit9d1032cc49a8a1065e79ee323de66bcb4fdbd535
tree949523d20856471ba5d48aaca9cf26c70638b59a
parent9c894696f56f5d84fb5766af81bcda4a7cb9a842
btrfs: fix WARNING in btrfs_select_ref_head()

This issue was found when testing in-band dedupe enospc behaviour,
sometimes run_one_delayed_ref() may fail for enospc reason, then
__btrfs_run_delayed_refs()will return, but forget to add num_heads_read
back, which will trigger "WARN_ON(delayed_refs->num_heads_ready == 0)" in
btrfs_select_ref_head().

Signed-off-by: Wang Xiaoguang <wangxg.fnst@cn.fujitsu.com>
Signed-off-by: David Sterba <dsterba@suse.com>
fs/btrfs/extent-tree.c