)]}'
{
  "commit": "1d2c3c3945a229f896640b615b84f3d9a78e8b5a",
  "tree": "ebf07610a95891039b620acbab3dd960d8778211",
  "parents": [
    "d213189122bb3cd509cfe706240ffea528fee5f2"
  ],
  "author": {
    "name": "Russ Cox",
    "email": "rsc@swtch.com",
    "time": "Sat Apr 19 10:09:22 2014 -0400"
  },
  "committer": {
    "name": "Russ Cox",
    "email": "rsc@swtch.com",
    "time": "Sat Apr 19 10:09:22 2014 -0400"
  },
  "message": "acme: use buffered i/o to write file\n\nBakul Shah has observed corrupted files being written\nwhen acme writes over osxfuse to sshfs to a remote file system.\nIn one example we examined, acme is writing an 0xf03-byte\nfile in two system calls, first an 0x806-byte write and then a 0x6fd-byte\nwrite. (0x806 is BUFSIZE/sizeof(Rune); this file has no multibyte UTF-8.)\n\nWhat actually ends up happening is that an 0x806-byte file is written:\n\n        0x000-0x6fd contains what should be 0x806-0xf03\n        0x6fd-0x7fa contains zeros\n        0x7fa-0x806 contains what should be 0x7fa-0x806 (correct!)\n\nThe theory is that fuse or sshfs or perhaps the remote file server is\nmishandling the unaligned writes. acme does not seem to be at fault.\n\nUsing bio here will make the writes align to 8K boundaries,\navoiding the bugs in whatever underlying piece is broken.\n\nTBR\u003dr\nhttps://codereview.appspot.com/89550043\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "59ae22869e8748549e56433922c47ee8c58d0258",
      "old_mode": 33188,
      "old_path": "src/cmd/acme/exec.c",
      "new_id": "0ef668476fd78407bfbafe1805a3b763dad33d78",
      "new_mode": 33188,
      "new_path": "src/cmd/acme/exec.c"
    }
  ]
}
