)]}'
{
  "commit": "eaf5fe2dd4ec001d645ff3b343f466457badaa64",
  "tree": "e94748da892f0d825cb00b30c851a2d67afa4845",
  "parents": [
    "fd0e60530f10078f488fa3e9591cc7db5732989c"
  ],
  "author": {
    "name": "Paolo Bonzini",
    "email": "pbonzini@redhat.com",
    "time": "Thu May 07 17:45:48 2015 +0200"
  },
  "committer": {
    "name": "Stefan Hajnoczi",
    "email": "stefanha@redhat.com",
    "time": "Fri May 22 09:37:33 2015 +0100"
  },
  "message": "block: return EPERM on writes or discards to read-only devices\n\nThis is the behavior in the operating system, for example Linux\u0027s\nblkdev_write_iter has the following:\n\n        if (bdev_read_only(I_BDEV(bd_inode)))\n                return -EPERM;\n\nThis does not apply to opening a device for read/write, when the\ndevice only supports read-only operation.  In this case any of\nEACCES, EPERM or EROFS is acceptable depending on why writing is\nnot possible.\n\nSigned-off-by: Paolo Bonzini \u003cpbonzini@redhat.com\u003e\nMessage-id: 1431013548-22492-1-git-send-email-pbonzini@redhat.com\nSigned-off-by: Stefan Hajnoczi \u003cstefanha@redhat.com\u003e\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "1ce62c4fbc86c1695db3b4e82391856ef7ce1ed7",
      "old_mode": 33188,
      "old_path": "block/io.c",
      "new_id": "a05ad677d35181f5f44ad42f7d701c0d535a0d12",
      "new_mode": 33188,
      "new_path": "block/io.c"
    }
  ]
}
