)]}'
{
  "commit": "facd07b07d2a7988f5ce849558838cc953847637",
  "tree": "269200329390f450d2bc7f0858a8ed114a418374",
  "parents": [
    "66f998f611897319b555364cefd5d6e88a205866"
  ],
  "author": {
    "name": "Josef Bacik",
    "email": "josef@redhat.com",
    "time": "Sun May 23 11:00:55 2010 -0400"
  },
  "committer": {
    "name": "Chris Mason",
    "email": "chris.mason@oracle.com",
    "time": "Tue May 25 10:34:55 2010 -0400"
  },
  "message": "direct-io: add a hook for the fs to provide its own submit_bio function\n\nBecause BTRFS can do RAID and such, we need our own submit hook so we can setup\nthe bio\u0027s in the correct fashion, and handle checksum errors properly.  So there\nare a few changes here\n\n1) The submit_io hook.  This is straightforward, just call this instead of\nsubmit_bio.\n\n2) Allow the fs to return -ENOTBLK for reads.  Usually this has only worked for\nwrites, since writes can fallback onto buffered IO.  But BTRFS needs the option\nof falling back on buffered IO if it encounters a compressed extent, since we\nneed to read the entire extent in and decompress it.  So if we get -ENOTBLK back\nfrom get_block we\u0027ll return back and fallback on buffered just like the write\ncase.\n\nI\u0027ve tested these changes with fsx and everything seems to work.  Thanks,\n\nSigned-off-by: Josef Bacik \u003cjosef@redhat.com\u003e\nSigned-off-by: Chris Mason \u003cchris.mason@oracle.com\u003e\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "e82adc2debb73de9ae9ca916e65c6e2bed317ef2",
      "old_mode": 33188,
      "old_path": "fs/direct-io.c",
      "new_id": "5949947b060a839327f9b7ff27a915d30e6e7894",
      "new_mode": 33188,
      "new_path": "fs/direct-io.c"
    },
    {
      "type": "modify",
      "old_id": "44f35aea2f1fe8ea178aaa9428d8826033ca034c",
      "old_mode": 33188,
      "old_path": "include/linux/fs.h",
      "new_id": "10704f0086c826b6604fba17730cc5a4ace2a603",
      "new_mode": 33188,
      "new_path": "include/linux/fs.h"
    }
  ]
}
