)]}'
{
  "commit": "c4e35e07af162ea4d642b1c6ffacbb63c3ed1804",
  "tree": "c1f74ee04e54f705d0b18c947a2efa9eea8344a2",
  "parents": [
    "7fb5409df092589b86cc9412d926879cb572b7f0"
  ],
  "author": {
    "name": "Dave Kleikamp",
    "email": "shaggy@linux.vnet.ibm.com",
    "time": "Sun Feb 10 01:09:32 2008 -0500"
  },
  "committer": {
    "name": "Theodore Ts\u0027o",
    "email": "tytso@mit.edu",
    "time": "Sun Feb 10 01:09:32 2008 -0500"
  },
  "message": "JBD2:  Clear buffer_ordered flag for barried IO request on success\n\nIn JBD2 jbd2_journal_write_commit_record(), clear the buffer_ordered\nflag for the bh after barried IO has succeed. This prevents later, if\nthe same buffer head were submitted to the underlying device, which has\nbeen reconfigured to not support barrier request, the JBD2 commit code\ncould treat it as a normal IO (without barrier).\n\nThis is a port from JBD/ext3 fix from Neil Brown.\n\nMore details from Neil:\n\nSome devices - notably dm and md - can change their behaviour in\nresponse to BIO_RW_BARRIER requests.  They might start out accepting\nsuch requests but on reconfiguration, they find out that they cannot\nany more. JBD2 deal with this by always testing if BIO_RW_BARRIER\nrequests fail with EOPNOTSUPP, and retrying the write\nrequests without the barrier (probably after waiting for any pending\nwrites to complete).\n\nHowever there is a bug in the handling this in JBD2 for ext4 .\n\nWhen ext4/JBD2 to submit a BIO_RW_BARRIER request,\nit sets the buffer_ordered flag on the buffer head.\nIf the request completes successfully, the flag STAYS SET.\n\nOther code might then write the same buffer_head after the device has\nbeen reconfigured to not accept barriers.  This write will then fail,\nbut the \"other code\" is not ready to handle EOPNOTSUPP errors and the\nerror will be treated as fatal.\n\nCc:  Neil Brown \u003cneilb@suse.de\u003e\nSigned-off-by: Dave Kleikamp \u003cshaggy@linux.vnet.ibm.com\u003e\nSigned-off-by: Mingming Cao \u003ccmm@us.ibm.com\u003e\nSigned-off-by: \"Theodore Ts\u0027o\" \u003ctytso@mit.edu\u003e\n\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "c35bf16f44f45ca23717c8ec448cab03ffa1538f",
      "old_mode": 33188,
      "old_path": "fs/jbd2/commit.c",
      "new_id": "a8173081f83124d316181460f06645514490355a",
      "new_mode": 33188,
      "new_path": "fs/jbd2/commit.c"
    }
  ]
}
