)]}'
{
  "commit": "1be41b78bc688fc634bf30965d2be692c99fd11d",
  "tree": "ca8e1c5dc3b74b867d2e68215ff7f3d8526457d5",
  "parents": [
    "501407aab8c947911b10cf5a0e0043019d5a4f17"
  ],
  "author": {
    "name": "Josef Bacik",
    "email": "jbacik@fusionio.com",
    "time": "Wed Jun 12 13:56:06 2013 -0400"
  },
  "committer": {
    "name": "Josef Bacik",
    "email": "jbacik@fusionio.com",
    "time": "Mon Jul 01 08:52:28 2013 -0400"
  },
  "message": "Btrfs: fix transaction throttling for delayed refs\n\nDave has this fs_mark script that can make btrfs abort with sufficient amount of\nram.  This is because with more ram we can keep more dirty metadata in cache\nwhich in a round about way makes for many more pending delayed refs.  What\nhappens is we end up not throttling the transaction enough so when we go to\ncommit the transaction when we\u0027ve completely filled the file system we\u0027ll\nabort() because we use all of the space in the global reserve and we still have\ndelayed refs to run.  To fix this we need to make the delayed ref flushing and\nthe transaction throttling dependant upon the number of delayed refs that we\nhave instead of how much reserved space is left in the global reserve.  With\nthis patch we not only stop aborting transactions but we also get a smoother run\nspeed with fs_mark and it makes us about 10% faster.  Thanks,\n\nReported-by: David Sterba \u003cdsterba@suse.cz\u003e\nSigned-off-by: Josef Bacik \u003cjbacik@fusionio.com\u003e\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "0049fe0f3f74781693dd9bfe48ec7be95e67a909",
      "old_mode": 33188,
      "old_path": "fs/btrfs/ctree.h",
      "new_id": "76e4983b39ead5e5cfde8e30ae90000b9a54cd1b",
      "new_mode": 33188,
      "new_path": "fs/btrfs/ctree.h"
    },
    {
      "type": "modify",
      "old_id": "ca1893edda523a6dc765a1818bb22c6570bb7b9d",
      "old_mode": 33188,
      "old_path": "fs/btrfs/extent-tree.c",
      "new_id": "6d5c5f73ad6432b8755bb419f66ad3c06780c98e",
      "new_mode": 33188,
      "new_path": "fs/btrfs/extent-tree.c"
    },
    {
      "type": "modify",
      "old_id": "c11b7efcc561c8150f69bf1c013b259e9e8df5ef",
      "old_mode": 33188,
      "old_path": "fs/btrfs/transaction.c",
      "new_id": "c916ebdc689a3091f00e4ba5ca10033aa139fd17",
      "new_mode": 33188,
      "new_path": "fs/btrfs/transaction.c"
    }
  ]
}
