)]}'
{
  "commit": "4b86a7be101f05f593fa2712646611cf6ed9ddd2",
  "tree": "37469a146b137089b2aa72e3241ca259a88c2b80",
  "parents": [
    "199da8419c1845a8cc5cdf4c2824e785d9dea9a1"
  ],
  "author": {
    "name": "Barret Rhoden",
    "email": "brho@cs.berkeley.edu",
    "time": "Sun Jan 08 15:39:42 2017 -0500"
  },
  "committer": {
    "name": "Barret Rhoden",
    "email": "brho@cs.berkeley.edu",
    "time": "Mon Jan 09 19:01:40 2017 -0500"
  },
  "message": "Set CEXTERNAL_FLAGS early on create()\n\ncreate() is like open() - it results in an opened chan, and it has a\nbunch of flags.  We should be treating create() similarly to open(),\nthough there might be some issues I\u0027m missing with this.\n\nFirst, we should use CEXTERNAL_FLAGS, instead of doing the flags\nmanually, unless it is important to have a difference between open and\ncreate.  Otherwise, we\u0027ll miss out on flags like O_NONBLOCK and O_PATH\n(which we were ignoring for create()).\n\nSecond, we should set those flags before calling the device\u0027s function\nso the device can do whatever it needs to do to support those flags.\n\nSigned-off-by: Barret Rhoden \u003cbrho@cs.berkeley.edu\u003e\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "c488d1ab1b79fef87f4191d7c573b239e0fc9f36",
      "old_mode": 33188,
      "old_path": "kern/src/ns/chan.c",
      "new_id": "06e4920831a14363af80e1919252df6bf550fc1a",
      "new_mode": 33188,
      "new_path": "kern/src/ns/chan.c"
    }
  ]
}
