)]}'
{
  "commit": "5a2fc42638b0a65534ec5c18b3e7ab0a21bb878e",
  "tree": "7e00035166b581f9bfa39d222e101c27b83a469f",
  "parents": [
    "8fca955057b9c58467d1b231e43f19c4cf26ae8c"
  ],
  "author": {
    "name": "Josef Bacik",
    "email": "josef@toxicpanda.com",
    "time": "Tue May 07 10:22:12 2019 -0700"
  },
  "committer": {
    "name": "Josef Bacik",
    "email": "josef@toxicpanda.com",
    "time": "Tue May 07 10:22:12 2019 -0700"
  },
  "message": "btrfs: run delayed iput at unlink time\n\nWe have been seeing issues in production where a cleaner script will end\nup unlinking a bunch of files that have pending iputs.  This means they\nwill get their final iput\u0027s run at btrfs-cleaner time and thus are not\nthrottled, which impacts the workload.\n\nSince we are unlinking these files we can just drop the delayed iput at\nunlink time.  We are already holding a reference to the inode so this\nwill not be the final iput and thus is completely safe to do at this\npoint.  Doing this means we are more likely to be doing the final iput\nat unlink time, and thus will get the IO charged to the caller and get\nthrottled appropriately without affecting the main workload.\n\nSigned-off-by: Josef Bacik \u003cjosef@toxicpanda.com\u003e\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "b6d549c993f60405a0ca9b42caf4a98f3f2ad69a",
      "old_mode": 33188,
      "old_path": "fs/btrfs/inode.c",
      "new_id": "e58685b5d3987b3601a1b9946c66279646fefd75",
      "new_mode": 33188,
      "new_path": "fs/btrfs/inode.c"
    }
  ]
}
