)]}'
{
  "commit": "1d769cd192fc8c4097b1e2cd41fdee6ba3d1b2af",
  "tree": "16fd71ff9178bbfe144a28a2e168c85fb541a11b",
  "parents": [
    "a099027c779068b834f335cfdc3f2bf10f531dd9"
  ],
  "author": {
    "name": "M. Mohan Kumar",
    "email": "mohan@in.ibm.com",
    "time": "Mon Sep 27 12:22:13 2010 +0530"
  },
  "committer": {
    "name": "Eric Van Hensbergen",
    "email": "ericvh@gmail.com",
    "time": "Thu Oct 28 09:08:47 2010 -0500"
  },
  "message": "9p: Implement TGETLOCK\n\nSynopsis\n\n    size[4] TGetlock tag[2] fid[4] getlock[n]\n    size[4] RGetlock tag[2] getlock[n]\n\nDescription\n\nTGetlock is used to test for the existence of byte range posix locks on a file\nidentified by given fid. The reply contains getlock structure. If the lock could\nbe placed it returns F_UNLCK in type field of getlock structure.  Otherwise it\nreturns the details of the conflicting locks in the getlock structure\n\n    getlock structure:\n      type[1] - Type of lock: F_RDLCK, F_WRLCK\n      start[8] - Starting offset for lock\n      length[8] - Number of bytes to check for the lock\n             If length is 0, check for lock in all bytes starting at the location\n            \u0027start\u0027 through to the end of file\n      pid[4] - PID of the process that wants to take lock/owns the task\n               in case of reply\n      client[4] - Client id of the system that owns the process which\n                  has the conflicting lock\n\nSigned-off-by: M. Mohan Kumar \u003cmohan@in.ibm.com\u003e\nSigned-off-by: Aneesh Kumar K.V \u003caneesh.kumar@linux.vnet.ibm.com\u003e\nSigned-off-by: Venkateswararao Jujjuri \u003cjvrao@linux.vnet.ibm.com\u003e\nSigned-off-by: Eric Van Hensbergen \u003cericvh@gmail.com\u003e\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "6f77abd23184240276dfc4284865ce7b7450c6b1",
      "old_mode": 33188,
      "old_path": "fs/9p/vfs_file.c",
      "new_id": "3a4352f23a984d3656420523fe34f2642c232e78",
      "new_mode": 33188,
      "new_path": "fs/9p/vfs_file.c"
    },
    {
      "type": "modify",
      "old_id": "1859a2560cc5f8de8750f6e42f9c1d8a3e3f8ff9",
      "old_mode": 33188,
      "old_path": "include/net/9p/9p.h",
      "new_id": "6367a71d84fc9ec3fdc15beb2b3915db25ed7506",
      "new_mode": 33188,
      "new_path": "include/net/9p/9p.h"
    },
    {
      "type": "modify",
      "old_id": "d7dcb142e3bb4b89a0ae304998c60415d434d12d",
      "old_mode": 33188,
      "old_path": "include/net/9p/client.h",
      "new_id": "127c9f2a9cb810a9a09d960a4ac0ca88e16cd8eb",
      "new_mode": 33188,
      "new_path": "include/net/9p/client.h"
    },
    {
      "type": "modify",
      "old_id": "fbd2b195801c80a50edb922cc1f1dad374fecc1c",
      "old_mode": 33188,
      "old_path": "net/9p/client.c",
      "new_id": "fc1b0579016ab1fab02fe4953a75a3f4558a9aef",
      "new_mode": 33188,
      "new_path": "net/9p/client.c"
    }
  ]
}
