)]}'
{
  "commit": "5e5a94b60518002e8ecc7afa78a9e7565b23e38f",
  "tree": "5dc51117ea66523d1f3db0ba12594fb9c6f125ac",
  "parents": [
    "0ddd0ad96abf55acad06324b26b69a24bde23ac5"
  ],
  "author": {
    "name": "Benoît Canet",
    "email": "benoit.canet@nodalink.com",
    "time": "Fri Sep 05 15:46:16 2014 +0200"
  },
  "committer": {
    "name": "Kevin Wolf",
    "email": "kwolf@redhat.com",
    "time": "Wed Sep 10 10:41:29 2014 +0200"
  },
  "message": "block: Extract the block accounting code\n\nThe plan is to add new accounting metrics (latency, invalid requests, failed\nrequests, queue depth) and block.c is overpopulated so it will be better to work\nin a separate module.\n\nMoreover the long term plan is to have statistics in each of the BDS of the graph\nfor metrology purpose; this means that the device model statistics must move from\nthe topmost BDS to the device model.\n\nSo we need to decouple the statistic code from BlockDriverState.\n\nThis is another argument for the extraction of the code in a separate module.\n\nCC: Kevin Wolf \u003ckwolf@redhat.com\u003e\nCC: Stefan Hajnoczi \u003cstefanha@redhat.com\u003e\nCC: Max Reitz \u003cmreitz@redhat.com\u003e\nCC: Eric Blake \u003ceblake@redhat.com\u003e\nCC: Benoit Canet \u003cbenoit@irqsave.net\u003e\nCC: Fam Zheng \u003cfamz@redhat.com\u003e\nCC: Peter Crosthwaite \u003cpeter.crosthwaite@xilinx.com\u003e\nCC: Paolo Bonzini \u003cpbonzini@redhat.com\u003e\n\nSigned-off-by: Benoît Canet \u003cbenoit.canet@nodalink.com\u003e\nSigned-off-by: Kevin Wolf \u003ckwolf@redhat.com\u003e\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "e90f431154fad90b3be3c5cd4e4d43563722db4d",
      "old_mode": 33188,
      "old_path": "block.c",
      "new_id": "1fac189e04f87b83373f0379ad3216b0842612a4",
      "new_mode": 33188,
      "new_path": "block.c"
    },
    {
      "type": "modify",
      "old_id": "f45f9399aa2b30274596ce9509622b27e087c3db",
      "old_mode": 33188,
      "old_path": "block/Makefile.objs",
      "new_id": "c9c8bbbcdeb146b52d165c67f8fb18636dd261b1",
      "new_mode": 33188,
      "new_path": "block/Makefile.objs"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "702542e2a6816738777e5470e44bbcb0d228513b",
      "new_mode": 33188,
      "new_path": "block/accounting.c"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "2b2d857cdc38a0197a0fe6949d601eea6938f1fc",
      "new_mode": 33188,
      "new_path": "include/block/accounting.h"
    },
    {
      "type": "modify",
      "old_id": "f47d66fc0289650c8f21882fef1dca9db131af1c",
      "old_mode": 33188,
      "old_path": "include/block/block.h",
      "new_id": "5fb36b1d2d5b8725b6b0d62f0e34c03abb6a64f7",
      "new_mode": 33188,
      "new_path": "include/block/block.h"
    },
    {
      "type": "modify",
      "old_id": "20954f3f63e668b1ef7994b4ed27de523e9c2bc1",
      "old_mode": 33188,
      "old_path": "include/block/block_int.h",
      "new_id": "8d86a6c1ebe2fe734703ec566e437b5403ea2279",
      "new_mode": 33188,
      "new_path": "include/block/block_int.h"
    },
    {
      "type": "modify",
      "old_id": "afb7b8db3a43699b81f3f5f6a70f93e9042a29c0",
      "old_mode": 33188,
      "old_path": "include/hw/virtio/virtio-blk.h",
      "new_id": "cf61154658160c12a317d125f6ee5043b747c1d9",
      "new_mode": 33188,
      "new_path": "include/hw/virtio/virtio-blk.h"
    },
    {
      "type": "modify",
      "old_id": "00f21f3da2f016368dc6d84f9265bc297720f3b9",
      "old_mode": 33188,
      "old_path": "include/sysemu/dma.h",
      "new_id": "73ff86d4b93fb737aa37c7bf860da6bb7588d53f",
      "new_mode": 33188,
      "new_path": "include/sysemu/dma.h"
    }
  ]
}
