)]}'
{
  "commit": "afcdaea3f2a78ce4873bd7e98a6d603bda23d167",
  "tree": "08defc298e2c27816d70bd41c8c3ecc80a82ba79",
  "parents": [
    "cdc35f96277314bbfeefd0505410cabd69aebd8d"
  ],
  "author": {
    "name": "Sage Weil",
    "email": "sage@newdream.net",
    "time": "Wed Oct 14 14:27:38 2009 -0700"
  },
  "committer": {
    "name": "Sage Weil",
    "email": "sage@newdream.net",
    "time": "Thu Oct 15 18:14:35 2009 -0700"
  },
  "message": "ceph: flush dirty caps via the cap_dirty list\n\nPreviously we were flushing dirty caps by passing an extra flag\nwhen traversing the delayed caps list.  Besides being a bit ugly,\nthat can also miss caps that are dirty but didn\u0027t result in a\ncap requeue: notably, mark_caps_dirty().\n\nSeparate the flushing into a separate helper, and traverse the\ncap_dirty list.\n\nThis also brings i_dirty_item in line with i_dirty_caps: we are\non the list IFF caps !\u003d 0.  We carry an inode ref IFF\ndirty_caps|flushing_caps !\u003d 0.\n\nLose the unused return value from __ceph_mark_caps_dirty().\n\nSigned-off-by: Sage Weil \u003csage@newdream.net\u003e\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "111439d883d29ebbddc869efa4b7625d7e97642c",
      "old_mode": 33188,
      "old_path": "fs/ceph/caps.c",
      "new_id": "40b8d347124440bc4ea52d3d78d3293cabb909a2",
      "new_mode": 33188,
      "new_path": "fs/ceph/caps.c"
    },
    {
      "type": "modify",
      "old_id": "2b19da31a8b3008cd1f626f45b6b2499178a6a86",
      "old_mode": 33188,
      "old_path": "fs/ceph/mds_client.c",
      "new_id": "12d66c0572ac8845fab3cd1de2a1c2036d0c8ae2",
      "new_mode": 33188,
      "new_path": "fs/ceph/mds_client.c"
    },
    {
      "type": "modify",
      "old_id": "cfd39ef4023e82040a1461eac1b922d7e6b32866",
      "old_mode": 33188,
      "old_path": "fs/ceph/super.h",
      "new_id": "0bbf58ab607e25f93c999f3e99df6eae55373837",
      "new_mode": 33188,
      "new_path": "fs/ceph/super.h"
    }
  ]
}
