)]}'
{
  "commit": "5d64ebf368bf8a0d79e3022f0caa53b8a97fc439",
  "tree": "89cb4d67d2b45cf38aca5dd64d7f84f39d2b9313",
  "parents": [
    "ee13121be8cdd79b39e659b4371bfc8570752de9"
  ],
  "author": {
    "name": "Mattias Nissler",
    "email": "122288598+mnissler-rivos@users.noreply.github.com",
    "time": "Thu Jun 04 21:29:35 2026 +0200"
  },
  "committer": {
    "name": "GitHub",
    "email": "noreply@github.com",
    "time": "Thu Jun 04 20:29:35 2026 +0100"
  },
  "message": "File I/O DMA region access mode (#842)\n\nThis adds an enum to convey how a DMA region is to be accessed. Previously,\nthis was implicit in the presence of a file descriptor in the DMA region\ntracking information. With this change, a new file I/O access mode is added\nthat designates accesses should happen via file I/O syscalls, such as\n`pread()`/`pwrite()`. This is useful for file descriptors that don\u0027t support\n`mmap()`, such as `/proc/\u003cpid\u003e/mem`. The access mode to be used is determined\nfrom new flag bits in the VFIO_USER_DMA_MAP message, and the message handler\nmakes sure the passed flags and file descriptor presence are consistent.\nExisting code is updated to use the access mode in conditionals rather than\ntesting file descriptor presence.\n\nSigned-off-by: Mattias Nissler \u003cmnissler@meta.com\u003e",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "9b814208f24958b27d121303ccb35233d5ec16b5",
      "old_mode": 33188,
      "old_path": "include/libvfio-user.h",
      "new_id": "76181ad20f7ac0d0c01af26c37317e8e029b03a4",
      "new_mode": 33188,
      "new_path": "include/libvfio-user.h"
    },
    {
      "type": "modify",
      "old_id": "0b115d3291ea3edb3e1ee016bcabde51482c3b51",
      "old_mode": 33188,
      "old_path": "include/vfio-user.h",
      "new_id": "eb1b1414d676639098fe4055e324da1f54c7dbe1",
      "new_mode": 33188,
      "new_path": "include/vfio-user.h"
    },
    {
      "type": "modify",
      "old_id": "724c170d62670f1a2e01643ff57dd3cabda4f6f8",
      "old_mode": 33188,
      "old_path": "lib/dma.c",
      "new_id": "c0bea6db3ac36856617ad1479892223288c387da",
      "new_mode": 33188,
      "new_path": "lib/dma.c"
    },
    {
      "type": "modify",
      "old_id": "90200a61ada141f5c832d11345cba2a2d3e9faac",
      "old_mode": 33188,
      "old_path": "lib/dma.h",
      "new_id": "890143f528cfea0afc9ac359c3d687d095160914",
      "new_mode": 33188,
      "new_path": "lib/dma.h"
    },
    {
      "type": "modify",
      "old_id": "21a4545fc233eeb3bfb146a23e0457ef5347102a",
      "old_mode": 33188,
      "old_path": "lib/libvfio-user.c",
      "new_id": "407061a74221f097db76c7135bec0d3f3c982614",
      "new_mode": 33188,
      "new_path": "lib/libvfio-user.c"
    },
    {
      "type": "modify",
      "old_id": "6b413526cd357706a0d202fce8b9234467f294ca",
      "old_mode": 33188,
      "old_path": "test/mocks.c",
      "new_id": "35d472042fea826d0a733d621f191985a8c4f98c",
      "new_mode": 33188,
      "new_path": "test/mocks.c"
    },
    {
      "type": "modify",
      "old_id": "e756780d09f7123ea78333c6959e87b0c8c70536",
      "old_mode": 33188,
      "old_path": "test/py/libvfio_user.py",
      "new_id": "0efbc5929a87ee1d0f89f12be5f1f8da2bf5bb92",
      "new_mode": 33188,
      "new_path": "test/py/libvfio_user.py"
    },
    {
      "type": "modify",
      "old_id": "4fd31b62e55b0f9c1a31c9813b6c48cf40a2d72a",
      "old_mode": 33188,
      "old_path": "test/py/test_sgl_read_write.py",
      "new_id": "6ec4779a2cd46b9dd7953cd0a292316b51e98055",
      "new_mode": 33188,
      "new_path": "test/py/test_sgl_read_write.py"
    },
    {
      "type": "modify",
      "old_id": "361112c56381283605b68a781bfe4069c2e1f599",
      "old_mode": 33188,
      "old_path": "test/unit-tests.c",
      "new_id": "7377052bbdfbdc66179ffb1eb5a6b54bd3ac5ea3",
      "new_mode": 33188,
      "new_path": "test/unit-tests.c"
    }
  ]
}
