)]}'
{
  "commit": "cd02dca56442e1504fd6bc5b96f7f1870162b266",
  "tree": "1a38d99fc581974ba6d8136c42ca81f3b1216ea3",
  "parents": [
    "68433b73b104bff388aac376631d32abbbd872b0"
  ],
  "author": {
    "name": "Chris Mason",
    "email": "chris.mason@oracle.com",
    "time": "Mon Dec 13 14:56:23 2010 -0500"
  },
  "committer": {
    "name": "Chris Mason",
    "email": "chris.mason@oracle.com",
    "time": "Mon Dec 13 20:06:52 2010 -0500"
  },
  "message": "Btrfs: account for missing devices in RAID allocation profiles\n\nWhen we mount in RAID degraded mode without adding a new device to\nreplace the failed one, we can end up using the wrong RAID flags for\nallocations.\n\nThis results in strange combinations of block groups (raid1 in a raid10\nfilesystem) and corruptions when we try to allocate blocks from single\nspindle chunks on drives that are actually missing.\n\nThe first device has two small 4MB chunks in it that mkfs creates and\nthese are usually unused in a raid1 or raid10 setup.  But, in -o degraded,\nthe allocator will fall back to these because the mask of desired raid groups\nisn\u0027t correct.\n\nThe fix here is to count the missing devices as we build up the list\nof devices in the system.  This count is used when picking the\nraid level to make sure we continue using the same levels that were\nin place before we lost a drive.\n\nSigned-off-by: Chris Mason \u003cchris.mason@oracle.com\u003e\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "41133b064d7205c3ce9a0da31b8794e8bfad0ad3",
      "old_mode": 33188,
      "old_path": "fs/btrfs/extent-tree.c",
      "new_id": "4be231e0d2bd62c3114dfb20c31a740dc50021e7",
      "new_mode": 33188,
      "new_path": "fs/btrfs/extent-tree.c"
    },
    {
      "type": "modify",
      "old_id": "91851b555e2ec9b2ed4160aa7c8949c4cb86d960",
      "old_mode": 33188,
      "old_path": "fs/btrfs/volumes.c",
      "new_id": "177b73179590430e0a22b3083641ef721883e8ec",
      "new_mode": 33188,
      "new_path": "fs/btrfs/volumes.c"
    },
    {
      "type": "modify",
      "old_id": "31b0fabdd2ea7da5489a4bffaa065c59e9282119",
      "old_mode": 33188,
      "old_path": "fs/btrfs/volumes.h",
      "new_id": "a668c011698236f223e3fa5071301c35ec01d5e5",
      "new_mode": 33188,
      "new_path": "fs/btrfs/volumes.h"
    }
  ]
}
