)]}'
{
  "commit": "09a65adc7d8bbfce06392cb6d375468e2728ead5",
  "tree": "6cbdebd3c238239725d8b6479c5fa57723f0db81",
  "parents": [
    "028ef9c96e96197026887c0f092424679298aae8"
  ],
  "author": {
    "name": "Mikulas Patocka",
    "email": "mpatocka@redhat.com",
    "time": "Mon Apr 20 19:56:44 2026 +0200"
  },
  "committer": {
    "name": "Mikulas Patocka",
    "email": "mpatocka@redhat.com",
    "time": "Mon Apr 20 19:56:44 2026 +0200"
  },
  "message": "dm-thin: fix metadata refcount underflow\n\nThere\u0027s a bug in dm-thin in the function rebalance_children. If the\ninternal btree node has one entry, the code tries to copy all btree\nentries from the node\u0027s child to the node itself and then decrement the\nchild\u0027s reference count.\n\nIf the child node is shared (it has reference count \u003e 1), we won\u0027t free\nit, so there would be two pointers to each of the grandchildren nodes.\nBut the reference counts of the grandchildren is not increased, thus the\nreference count doesn\u0027t match the number of pointers that point to the\ngrandchildren. This results in \"device mapper: space map common: unable\nto decrement block\" errors.\n\nFix this bug by incrementing reference counts on the grandchildren if the\nbtree node is shared.\n\nSigned-off-by: Mikulas Patocka \u003cmpatocka@redhat.com\u003e\nFixes: 3241b1d3e0aa (\"dm: add persistent data library\")\nCc: stable@vger.kernel.org\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "942cd47eb52dacca68dbc4685e59428855593d89",
      "old_mode": 33188,
      "old_path": "drivers/md/persistent-data/dm-btree-remove.c",
      "new_id": "aeec5b9a1dd5c53952d8d2758e89a79c83929304",
      "new_mode": 33188,
      "new_path": "drivers/md/persistent-data/dm-btree-remove.c"
    }
  ]
}
