)]}'
{
  "commit": "eda25e46161527845572131b37706a458d9270ef",
  "tree": "b8a68c9185f7f53a135422a41dc68ef2c5f527ee",
  "parents": [
    "0ef63f345c48afe5896c5cffcba57f0457d409b9"
  ],
  "author": {
    "name": "Aneesh Kumar K.V",
    "email": "aneesh.kumar@linux.vnet.ibm.com",
    "time": "Mon May 31 13:22:50 2010 +0530"
  },
  "committer": {
    "name": "Eric Van Hensbergen",
    "email": "ericvh@gmail.com",
    "time": "Mon Aug 02 14:28:34 2010 -0500"
  },
  "message": "net/9p: Implement TXATTRCREATE 9p call\n\nTXATTRCREATE:  Prepare a fid for setting xattr value on a file system object.\n\n size[4] TXATTRCREATE tag[2] fid[4] name[s] attr_size[8] flags[4]\n size[4] RXATTRCREATE tag[2]\n\ntxattrcreate gets a fid pointing to xattr. This fid can later be\nused to set the xattr value.\n\nflag value is derived from set Linux setxattr. The manpage says\n\"The flags parameter can be used to refine the semantics of the operation.\nXATTR_CREATE specifies a pure create, which fails if the named attribute\nexists already. XATTR_REPLACE specifies a pure replace operation, which\nfails if the named attribute does not already exist. By default (no flags),\nthe extended attribute will be created if need be, or will simply replace\nthe value if the attribute exists.\"\n\nThe actual setxattr operation happens when the fid is clunked. At that point\nthe written byte count and the attr_size specified in TXATTRCREATE should be\nsame otherwise an error will be returned.\n\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": "6fabb5e559baf97ee3659ab175fb2e7f680b2dcd",
      "old_mode": 33188,
      "old_path": "include/net/9p/9p.h",
      "new_id": "a8de812ccbc8c68f15c0c434fdf5b70edcab707d",
      "new_mode": 33188,
      "new_path": "include/net/9p/9p.h"
    },
    {
      "type": "modify",
      "old_id": "60398b1a3f75b6bfa3d255fef2f3ed6b988a90be",
      "old_mode": 33188,
      "old_path": "include/net/9p/client.h",
      "new_id": "d1aa2cfb30f0f46b915e55118a29e7a8e91fe7e7",
      "new_mode": 33188,
      "new_path": "include/net/9p/client.h"
    },
    {
      "type": "modify",
      "old_id": "ec80ee71d45346a012c25c70db90bb03eb982c43",
      "old_mode": 33188,
      "old_path": "net/9p/client.c",
      "new_id": "43396acd714a0b1b3f6ba256423577ec5a3eb167",
      "new_mode": 33188,
      "new_path": "net/9p/client.c"
    }
  ]
}
