)]}'
{
  "commit": "73285082745045bcd64333c1fbaa88f8490f2626",
  "tree": "bb45362b563332ff1e712b5f2b3b16a47b019691",
  "parents": [
    "4f911d64e04a44c47985be30f978fb3c2efcee0c"
  ],
  "author": {
    "name": "Ken Chen",
    "email": "kenchen@google.com",
    "time": "Tue May 08 00:28:20 2007 -0700"
  },
  "committer": {
    "name": "Linus Torvalds",
    "email": "torvalds@woody.linux-foundation.org",
    "time": "Tue May 08 11:15:07 2007 -0700"
  },
  "message": "remove artificial software max_loop limit\n\nRemove artificial maximum 256 loop device that can be created due to a\nlegacy device number limit.  Searching through lkml archive, there are\nseveral instances where users complained about the artificial limit that\nthe loop driver impose.  There is no reason to have such limit.\n\nThis patch rid the limit entirely and make loop device and associated block\nqueue instantiation on demand.  With on-demand instantiation, it also gives\nthe benefit of not wasting memory if these devices are not in use (compare\nto current implementation that always create 8 loop devices), a net\nimprovement in both areas.  This version is both tested with creation of\nlarge number of loop devices and is compatible with existing losetup/mount\nuser land tools.\n\nThere are a number of people who worked on this and provided valuable\nsuggestions, in no particular order, by:\n\nJens Axboe\nJan Engelhardt\nChristoph Hellwig\nThomas M\n\nSigned-off-by: Ken Chen \u003ckenchen@google.com\u003e\nCc: Jan Engelhardt \u003cjengelh@linux01.gwdg.de\u003e\nCc: Christoph Hellwig \u003chch@lst.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "0d4ccd4a09574fdfa3b72533b2fc333bfb191462",
      "old_mode": 33188,
      "old_path": "drivers/block/loop.c",
      "new_id": "af6d7274a7cc9a28c84d5bf7a4dfba1b6fdf0789",
      "new_mode": 33188,
      "new_path": "drivers/block/loop.c"
    },
    {
      "type": "modify",
      "old_id": "191a595055f0063db70032a2074d8addb5eb0ad9",
      "old_mode": 33188,
      "old_path": "include/linux/loop.h",
      "new_id": "0b99b31f017b75f4f06dfa22b7d77af90a70e2ef",
      "new_mode": 33188,
      "new_path": "include/linux/loop.h"
    }
  ]
}
