From: Liu Bo Date: Tue, 28 Jul 2015 10:03:30 +0000 (+0800) Subject: Btrfs: fix warning in backref walking X-Git-Tag: omap-for-v4.3/fixes-rc1~86^2~17 X-Git-Url: http://git.openpandora.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=acdf898de8903f50bb10bbce4b774432bcd63c85;p=pandora-kernel.git Btrfs: fix warning in backref walking When we do backref walking, we search firstly in queued delayed refs and then the on-disk backrefs, but we parse differently for shared references, for delayed refs we also add 'ref->root' while for on-disk backrefs we don't, this can prevent us from merging refs indexed by the same bytenr and cause find_parent_nodes() to throw a warning at 'WARN_ON(ref->count < 0)', for example, when we have a shared data extent with 'ref_cnt=1' and a delayed shared data with a BTRFS_DROP_DELAYED_REF, that happens. For shared references, no matter if it's delayed or on-disk, ref->root is not at all used, instead it's ref->parent that really matters, so this has delayed refs handled as the same way as on-disk refs. Signed-off-by: Liu Bo Signed-off-by: Chris Mason --- Reading git-diff-tree failed