)]}'
{
  "commit": "55a7bc5a30ff2d30d8a34fea2af9fc601b32e61a",
  "tree": "a6cc677dc240ebfeec85b66a2669842dc3094461",
  "parents": [
    "e84661aa84e2e003738563f65155d4f12dc474e7"
  ],
  "author": {
    "name": "Christoph Hellwig",
    "email": "hch@infradead.org",
    "time": "Wed May 04 18:55:15 2011 +0000"
  },
  "committer": {
    "name": "Alex Elder",
    "email": "aelder@sgi.com",
    "time": "Tue May 24 11:17:22 2011 -0500"
  },
  "message": "xfs: do not discard alloc btree blocks\n\nBlocks for the allocation btree are allocated from and released to\nthe AGFL, and thus frequently reused.  Even worse we do not have an\neasy way to avoid using an AGFL block when it is discarded due to\nthe simple FILO list of free blocks, and thus can frequently stall\non blocks that are currently undergoing a discard.\n\nAdd a flag to the busy extent tracking structure to skip the discard\nfor allocation btree blocks.  In normal operation these blocks are\nreused frequently enough that there is no need to discard them\nanyway, but if they spill over to the allocation btree as part of a\nbalance we \"leak\" blocks that we would otherwise discard.  We could\nfix this by adding another flag and keeping these block in the\nrbtree even after they aren\u0027t busy any more so that we could discard\nthem when they migrate out of the AGFL.  Given that this would cause\nsignificant overhead I don\u0027t think it\u0027s worthwile for now.\n\nSigned-off-by: Christoph Hellwig \u003chch@lst.de\u003e\nSigned-off-by: Alex Elder \u003caelder@sgi.com\u003e\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "8d52ba4c87e54314f5106bd19bc92a3626a3f2da",
      "old_mode": 33188,
      "old_path": "fs/xfs/xfs_ag.h",
      "new_id": "6530769a999bdb045ba4ec5d1588440a04993e1c",
      "new_mode": 33188,
      "new_path": "fs/xfs/xfs_ag.h"
    },
    {
      "type": "modify",
      "old_id": "721db22c6ec9e29bd4448d01eb6c0caf2486bb3e",
      "old_mode": 33188,
      "old_path": "fs/xfs/xfs_alloc.c",
      "new_id": "95862bbff56bf0cf8c82d4e88178dc43408866d7",
      "new_mode": 33188,
      "new_path": "fs/xfs/xfs_alloc.c"
    },
    {
      "type": "modify",
      "old_id": "06aa8217452b511811b631fa50be303bba6dc56b",
      "old_mode": 33188,
      "old_path": "fs/xfs/xfs_alloc.h",
      "new_id": "2f52b924be79f424b0a3115849af602f719a6b79",
      "new_mode": 33188,
      "new_path": "fs/xfs/xfs_alloc.h"
    },
    {
      "type": "modify",
      "old_id": "8b469d53599fb4b35cd0851a0baef7e916787969",
      "old_mode": 33188,
      "old_path": "fs/xfs/xfs_alloc_btree.c",
      "new_id": "2b3518826a692640c46e3e4fb5f5192e418e868b",
      "new_mode": 33188,
      "new_path": "fs/xfs/xfs_alloc_btree.c"
    }
  ]
}
