)]}'
{
  "commit": "fd5670f22fce247754243cf2ed41941e5762d990",
  "tree": "4574bf415df6d3c8a5c501ee3b02727dd573ba03",
  "parents": [
    "cb64026b6e8af50db598ec7c3f59d504259b00bb"
  ],
  "author": {
    "name": "Dave Chinner",
    "email": "dchinner@redhat.com",
    "time": "Fri May 06 02:54:07 2011 +0000"
  },
  "committer": {
    "name": "Alex Elder",
    "email": "aelder@sgi.com",
    "time": "Mon May 09 12:17:04 2011 -0500"
  },
  "message": "xfs: make AIL target updates and compares 32bit safe.\n\nThe recent conversion of the xfsaild functionality to a work queue\nintroduced a hard-to-hit log space grant hang. One of the problems\nnoticed was that updates of the push target are not 32 bit safe as\nthe target is a 64 bit value.\n\nWe cannot copy a 64 bit LSN without the possibility of corrupting\nthe result when racing with another updating thread. We have\nfunction to do this update safely without needing to care about\n32/64 bit issues - xfs_trans_ail_copy_lsn() - so use that when\nupdating the AIL push target.\n\nAlso move the reading of the target in the push work inside the AIL\nlock, and use XFS_LSN_CMP() for the unlocked comparison during work\ntermination to close read holes as well.\n\nSigned-off-by: Dave Chinner \u003cdavid@fromorbit.com\u003e\nReviewed-by: Christoph Hellwig \u003chch@lst.de\u003e\nReviewed-by: Alex Elder \u003caelder@sgi.com\u003e\n\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "9f427c2597bbb1587b00539516194f08eba36a8c",
      "old_mode": 33188,
      "old_path": "fs/xfs/xfs_trans_ail.c",
      "new_id": "d7eebbf71362e7349208a40e99032425e6af96bb",
      "new_mode": 33188,
      "new_path": "fs/xfs/xfs_trans_ail.c"
    }
  ]
}
