On 14.03.2018 17:03, Edmund Nadolski wrote: > btrfs_check_shared calls find_parent_nodes in a loop. In each > iteration it passes in a share_check struct to request a check for > a shared extent. The share_check::share_count must be re-initialized > to zero for each iteration in order to avoid using a stale count > value from the previous iteration, thus causing a false > shared extent indication. > > Signed-off-by: Edmund Nadolski <enadolski@xxxxxxxx> Is there a particular commit which introduced this regression (i.e. one of the backref walking series)? It would be useful to know so that this can be tagged with a Fixes: tag and perhaps stable. Also your cover letter should go as a changelog in the patch so that we have a proper history of how this fix came to be :) > --- > fs/btrfs/backref.c | 1 + > 1 file changed, 1 insertion(+) > > diff --git a/fs/btrfs/backref.c b/fs/btrfs/backref.c > index 4e89598..4a33448 100644 > --- a/fs/btrfs/backref.c > +++ b/fs/btrfs/backref.c > @@ -1519,6 +1519,7 @@ int btrfs_check_shared(struct btrfs_root *root, u64 inum, u64 bytenr) > if (!node) > break; > bytenr = node->val; > + shared.share_count = 0; > cond_resched(); > } > > -- To unsubscribe from this list: send the line "unsubscribe linux-btrfs" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html
