)]}'
{
  "commit": "b882686d95ec79f789dbbcc717a98ec41867ea3a",
  "tree": "d1314ddf14a4f49aa32aff2b583080fb221fb8c6",
  "parents": [
    "5f7a972fa27da40a63c2dfadf8dea28b0104371d"
  ],
  "author": {
    "name": "Jiri Pirko",
    "email": "jiri@nvidia.com",
    "time": "Fri Jun 05 19:02:42 2026 +0200"
  },
  "committer": {
    "name": "Jiri Pirko",
    "email": "jiri@nvidia.com",
    "time": "Wed Jul 01 10:39:49 2026 +0200"
  },
  "message": "pyverbs: Add ibv_buf provider-aware buffer support\n\nWrap the provider-aware buffer API (ibv_alloc_buf, ibv_free_buf,\nibv_reg_buf_mr) with new Buf and BufMR classes. Buf owns a buffer\nallocated through a PD and is tracked in a per-PD weakset, so it is\ntorn down before the PD it belongs to. BufMR registers an MR over a\n(sub)range of a Buf and deregisters it on close without freeing the\nunderlying buffer.\n\nSigned-off-by: Jiri Pirko \u003cjiri@nvidia.com\u003e\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "96b4b098dd007d83f65f6039ced7891f040aabb1",
      "old_mode": 33188,
      "old_path": "pyverbs/libibverbs.pxd",
      "new_id": "566089a990f92a3ee632ac53983be761a1cd7259",
      "new_mode": 33188,
      "new_path": "pyverbs/libibverbs.pxd"
    },
    {
      "type": "modify",
      "old_id": "fea916b787b867b5ad415b68cd32c3059f88c4de",
      "old_mode": 33188,
      "old_path": "pyverbs/libibverbs_enums.pxd",
      "new_id": "9219a367d9498a1c4084290679f17873b3c25f2a",
      "new_mode": 33188,
      "new_path": "pyverbs/libibverbs_enums.pxd"
    },
    {
      "type": "modify",
      "old_id": "94ed2c251f13687be4485d9c914b048d4d7bc33c",
      "old_mode": 33188,
      "old_path": "pyverbs/mr.pxd",
      "new_id": "acfcea367a45760831ca1039e6f2d03e127318a8",
      "new_mode": 33188,
      "new_path": "pyverbs/mr.pxd"
    },
    {
      "type": "modify",
      "old_id": "706653b7c56aba14615c60b1de76be26f3b09be2",
      "old_mode": 33188,
      "old_path": "pyverbs/mr.pyx",
      "new_id": "727c7abb47ea575ad63b45e2c181f37fdfc27ad5",
      "new_mode": 33188,
      "new_path": "pyverbs/mr.pyx"
    },
    {
      "type": "modify",
      "old_id": "04e44531a448c2ccdfaa6dc14364bee489b423e8",
      "old_mode": 33188,
      "old_path": "pyverbs/pd.pxd",
      "new_id": "585afc559204bfdc3486d4e677d8f95244c7afa7",
      "new_mode": 33188,
      "new_path": "pyverbs/pd.pxd"
    },
    {
      "type": "modify",
      "old_id": "1dc2bb06bbceeda7b161d0425a750eaf2d107af7",
      "old_mode": 33188,
      "old_path": "pyverbs/pd.pyx",
      "new_id": "0fd05f79a17a11eb3bb85e55995e634d468a4a86",
      "new_mode": 33188,
      "new_path": "pyverbs/pd.pyx"
    }
  ]
}
