)]}'
{
  "commit": "9361401eb7619c033e2394e4f9f6d410d6719ac7",
  "tree": "04b94a71f2366988c17740d1c16cfbdec41d5d2e",
  "parents": [
    "d366e40a1cabd453be6e2609caa7e12f9ca17b1f"
  ],
  "author": {
    "name": "David Howells",
    "email": "dhowells@redhat.com",
    "time": "Sat Sep 30 20:45:40 2006 +0200"
  },
  "committer": {
    "name": "Jens Axboe",
    "email": "axboe@nelson.home.kernel.dk",
    "time": "Sat Sep 30 20:52:31 2006 +0200"
  },
  "message": "[PATCH] BLOCK: Make it possible to disable the block layer [try #6]\n\nMake it possible to disable the block layer.  Not all embedded devices require\nit, some can make do with just JFFS2, NFS, ramfs, etc - none of which require\nthe block layer to be present.\n\nThis patch does the following:\n\n (*) Introduces CONFIG_BLOCK to disable the block layer, buffering and blockdev\n     support.\n\n (*) Adds dependencies on CONFIG_BLOCK to any configuration item that controls\n     an item that uses the block layer.  This includes:\n\n     (*) Block I/O tracing.\n\n     (*) Disk partition code.\n\n     (*) All filesystems that are block based, eg: Ext3, ReiserFS, ISOFS.\n\n     (*) The SCSI layer.  As far as I can tell, even SCSI chardevs use the\n     \t block layer to do scheduling.  Some drivers that use SCSI facilities -\n     \t such as USB storage - end up disabled indirectly from this.\n\n     (*) Various block-based device drivers, such as IDE and the old CDROM\n     \t drivers.\n\n     (*) MTD blockdev handling and FTL.\n\n     (*) JFFS - which uses set_bdev_super(), something it could avoid doing by\n     \t taking a leaf out of JFFS2\u0027s book.\n\n (*) Makes most of the contents of linux/blkdev.h, linux/buffer_head.h and\n     linux/elevator.h contingent on CONFIG_BLOCK being set.  sector_div() is,\n     however, still used in places, and so is still available.\n\n (*) Also made contingent are the contents of linux/mpage.h, linux/genhd.h and\n     parts of linux/fs.h.\n\n (*) Makes a number of files in fs/ contingent on CONFIG_BLOCK.\n\n (*) Makes mm/bounce.c (bounce buffering) contingent on CONFIG_BLOCK.\n\n (*) set_page_dirty() doesn\u0027t call __set_page_dirty_buffers() if CONFIG_BLOCK\n     is not enabled.\n\n (*) fs/no-block.c is created to hold out-of-line stubs and things that are\n     required when CONFIG_BLOCK is not set:\n\n     (*) Default blockdev file operations (to give error ENODEV on opening).\n\n (*) Makes some /proc changes:\n\n     (*) /proc/devices does not list any blockdevs.\n\n     (*) /proc/diskstats and /proc/partitions are contingent on CONFIG_BLOCK.\n\n (*) Makes some compat ioctl handling contingent on CONFIG_BLOCK.\n\n (*) If CONFIG_BLOCK is not defined, makes sys_quotactl() return -ENODEV if\n     given command other than Q_SYNC or if a special device is specified.\n\n (*) In init/do_mounts.c, no reference is made to the blockdev routines if\n     CONFIG_BLOCK is not defined.  This does not prohibit NFS roots or JFFS2.\n\n (*) The bdflush, ioprio_set and ioprio_get syscalls can now be absent (return\n     error ENOSYS by way of cond_syscall if so).\n\n (*) The seclvl_bd_claim() and seclvl_bd_release() security calls do nothing if\n     CONFIG_BLOCK is not set, since they can\u0027t then happen.\n\nSigned-Off-By: David Howells \u003cdhowells@redhat.com\u003e\nSigned-off-by: Jens Axboe \u003caxboe@kernel.dk\u003e\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "b6f5f0a79655a3de0125af945682f91bf92bc726",
      "old_mode": 33188,
      "old_path": "block/Kconfig",
      "new_id": "9af6c614dfde8cc8118d1b8c21f2f24f53e8ef8a",
      "new_mode": 33188,
      "new_path": "block/Kconfig"
    },
    {
      "type": "modify",
      "old_id": "48d090e266fc5745be94af97ff8deb32c2726995",
      "old_mode": 33188,
      "old_path": "block/Kconfig.iosched",
      "new_id": "903f0d3b68520a94a5a76222b31c6860ba57de20",
      "new_mode": 33188,
      "new_path": "block/Kconfig.iosched"
    },
    {
      "type": "modify",
      "old_id": "c05de0e0037fe6f14f9e6f508bece1271568bb36",
      "old_mode": 33188,
      "old_path": "block/Makefile",
      "new_id": "4b84d0d5947bc22cf8a94f91fb7c556b29ff571c",
      "new_mode": 33188,
      "new_path": "block/Makefile"
    },
    {
      "type": "modify",
      "old_id": "b5382cedf0c09cad0376df575c32b194d5ba7c0d",
      "old_mode": 33188,
      "old_path": "drivers/block/Kconfig",
      "new_id": "422e31d5f8e5c4627c15c88ecc38ff8627276069",
      "new_mode": 33188,
      "new_path": "drivers/block/Kconfig"
    },
    {
      "type": "modify",
      "old_id": "ff5652d40619e018a83a29b7bed703531e37e85f",
      "old_mode": 33188,
      "old_path": "drivers/cdrom/Kconfig",
      "new_id": "4b12e9031fb3cecbf6259c457aa77c8a394a3674",
      "new_mode": 33188,
      "new_path": "drivers/cdrom/Kconfig"
    },
    {
      "type": "modify",
      "old_id": "4cc619edf42466e02f08079f186338a7eb7a5959",
      "old_mode": 33188,
      "old_path": "drivers/char/Kconfig",
      "new_id": "bde1c665d9f4b1cf6e70cfa9ba32ec7bd765d3cc",
      "new_mode": 33188,
      "new_path": "drivers/char/Kconfig"
    },
    {
      "type": "modify",
      "old_id": "4c3a5ca9d8f7a98f882cdbeed12f0949af940a55",
      "old_mode": 33188,
      "old_path": "drivers/char/random.c",
      "new_id": "b430a12eb8190d9266ccd0de322c243021a1086e",
      "new_mode": 33188,
      "new_path": "drivers/char/random.c"
    },
    {
      "type": "modify",
      "old_id": "b6fb167e20f681980a54c9baa7ef14a0de4fea83",
      "old_mode": 33188,
      "old_path": "drivers/ide/Kconfig",
      "new_id": "69d627bd537a8cb7ca1095a7915291995c9dfbc6",
      "new_mode": 33188,
      "new_path": "drivers/ide/Kconfig"
    },
    {
      "type": "modify",
      "old_id": "bf869ed03eed33c9b61c7c4c46d78e621b0e1b0e",
      "old_mode": 33188,
      "old_path": "drivers/md/Kconfig",
      "new_id": "6dd31a291d8436af9821d0b465866208daec3cd5",
      "new_mode": 33188,
      "new_path": "drivers/md/Kconfig"
    },
    {
      "type": "modify",
      "old_id": "fef677103880b5e94a80c84bf52dcb692fbc4340",
      "old_mode": 33188,
      "old_path": "drivers/message/i2o/Kconfig",
      "new_id": "6443392bffff17402d59b2ff39f3700a7229e7fe",
      "new_mode": 33188,
      "new_path": "drivers/message/i2o/Kconfig"
    },
    {
      "type": "modify",
      "old_id": "45bcf098e762c500e3777facb3a85c8f841ab385",
      "old_mode": 33188,
      "old_path": "drivers/mmc/Kconfig",
      "new_id": "f540bd88dc5a23aa12216079cf7ad675b2eff092",
      "new_mode": 33188,
      "new_path": "drivers/mmc/Kconfig"
    },
    {
      "type": "modify",
      "old_id": "d2957e35cc6f2d40c6a9031c98a2a88aad3ba0ef",
      "old_mode": 33188,
      "old_path": "drivers/mmc/Makefile",
      "new_id": "b1f6e03e7aa9cd216a6a12ccc9518956f0cb2fbb",
      "new_mode": 33188,
      "new_path": "drivers/mmc/Makefile"
    },
    {
      "type": "modify",
      "old_id": "a03e862851db65bdd9783685b55e2cf4ec37ce2c",
      "old_mode": 33188,
      "old_path": "drivers/mtd/Kconfig",
      "new_id": "a304b34c2632f32c1713a9d337c02a4e27453bdd",
      "new_mode": 33188,
      "new_path": "drivers/mtd/Kconfig"
    },
    {
      "type": "modify",
      "old_id": "16c02b5ccf7ec30c994a7fb5a938e4fcb2d8278b",
      "old_mode": 33188,
      "old_path": "drivers/mtd/devices/Kconfig",
      "new_id": "440f6851da6997ac296be09773ada5d54a00bb4c",
      "new_mode": 33188,
      "new_path": "drivers/mtd/devices/Kconfig"
    },
    {
      "type": "modify",
      "old_id": "929d6fff6152a642b929d8854e515d3f8152bc1d",
      "old_mode": 33188,
      "old_path": "drivers/s390/block/Kconfig",
      "new_id": "b250c53545033cba2a019ee4e5973bf1bac04551",
      "new_mode": 33188,
      "new_path": "drivers/s390/block/Kconfig"
    },
    {
      "type": "modify",
      "old_id": "c4dfcc91dddaa07ea474037fd60f9245ae962d98",
      "old_mode": 33188,
      "old_path": "drivers/scsi/Kconfig",
      "new_id": "dab082002e6fe572f10e9e46f4cafecba2f3dbc7",
      "new_mode": 33188,
      "new_path": "drivers/scsi/Kconfig"
    },
    {
      "type": "modify",
      "old_id": "4fd9efac29abad9fc5d1f3f75f862f8283f6a59c",
      "old_mode": 33188,
      "old_path": "fs/Kconfig",
      "new_id": "1453d2d164f7c2d5a94e5da75d41dbba9d94a66e",
      "new_mode": 33188,
      "new_path": "fs/Kconfig"
    },
    {
      "type": "modify",
      "old_id": "46b8cfe497b2206e66fd986617e5b554116174a9",
      "old_mode": 33188,
      "old_path": "fs/Makefile",
      "new_id": "a503e6ce0f329944fd658e1e049662ab8d27f3cb",
      "new_mode": 33188,
      "new_path": "fs/Makefile"
    },
    {
      "type": "modify",
      "old_id": "e1a56437040a3378c7b13bc13a598dc2d16cb033",
      "old_mode": 33188,
      "old_path": "fs/compat_ioctl.c",
      "new_id": "64b34533edea67e2ed28f0c85fa406d3135de23c",
      "new_mode": 33188,
      "new_path": "fs/compat_ioctl.c"
    },
    {
      "type": "modify",
      "old_id": "f662b703bb97bcdbebe41c20f187fcdb9d5e4106",
      "old_mode": 33188,
      "old_path": "fs/internal.h",
      "new_id": "f07147d63255b5a46789c4894b55774c51c96af9",
      "new_mode": 33188,
      "new_path": "fs/internal.h"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "d269a93d3467a03235585d55ac34bc5786277e93",
      "new_mode": 33188,
      "new_path": "fs/no-block.c"
    },
    {
      "type": "modify",
      "old_id": "d713ce6b3e12935891bda7e21d301ec3d53038f8",
      "old_mode": 33188,
      "old_path": "fs/partitions/Makefile",
      "new_id": "67e665fdb7fccbde923238532d49f192931d43f9",
      "new_mode": 33188,
      "new_path": "fs/partitions/Makefile"
    },
    {
      "type": "modify",
      "old_id": "5bbd60896050545759f4aa603e12cfee9cd63295",
      "old_mode": 33188,
      "old_path": "fs/proc/proc_misc.c",
      "new_id": "66bc425f2f3db467344dd81c841442c5806b985e",
      "new_mode": 33188,
      "new_path": "fs/proc/proc_misc.c"
    },
    {
      "type": "modify",
      "old_id": "d6a2be826e29880abd0f6873caa2344f88f2c5f8",
      "old_mode": 33188,
      "old_path": "fs/quota.c",
      "new_id": "b9dae76a0b6e2212083efa9ca0281e31661c0375",
      "new_mode": 33188,
      "new_path": "fs/quota.c"
    },
    {
      "type": "modify",
      "old_id": "15671cd048b146b8315fb11012cddfd796ce82c4",
      "old_mode": 33188,
      "old_path": "fs/super.c",
      "new_id": "aec99ddbe53f726a526d4cd0b02abb9f55179e0b",
      "new_mode": 33188,
      "new_path": "fs/super.c"
    },
    {
      "type": "modify",
      "old_id": "26b364c9d62c67226de54101ae6f7faa31f33251",
      "old_mode": 33188,
      "old_path": "fs/xfs/Kconfig",
      "new_id": "35115bca036e01d5363c6103100a875c232784e0",
      "new_mode": 33188,
      "new_path": "fs/xfs/Kconfig"
    },
    {
      "type": "modify",
      "old_id": "2c01a90998a70251f268d636aa3c56faa68a467f",
      "old_mode": 33188,
      "old_path": "include/linux/blkdev.h",
      "new_id": "3e36107d342ada839d26b0abc5f39363baae158a",
      "new_mode": 33188,
      "new_path": "include/linux/blkdev.h"
    },
    {
      "type": "modify",
      "old_id": "64b508e35d2ab404275c3d0527bef2206bf5b980",
      "old_mode": 33188,
      "old_path": "include/linux/buffer_head.h",
      "new_id": "131ffd37e716fb7ac4a386eaea9ff58c26bf639d",
      "new_mode": 33188,
      "new_path": "include/linux/buffer_head.h"
    },
    {
      "type": "modify",
      "old_id": "98d40e08ba6eaeb5386b1dae3b66281af54c6382",
      "old_mode": 33188,
      "old_path": "include/linux/compat_ioctl.h",
      "new_id": "d61ef59515381310ccc2b1d1d7126e0a271ba4cc",
      "new_mode": 33188,
      "new_path": "include/linux/compat_ioctl.h"
    },
    {
      "type": "modify",
      "old_id": "9c5a04f6114cc57792fd9e3220a16cb0fa96cf5a",
      "old_mode": 33188,
      "old_path": "include/linux/elevator.h",
      "new_id": "b3370ef5164d0589d3300e91162c0b5599045de1",
      "new_mode": 33188,
      "new_path": "include/linux/elevator.h"
    },
    {
      "type": "modify",
      "old_id": "b73a47582dbe47786e4d5e8ea290a02960b6956a",
      "old_mode": 33188,
      "old_path": "include/linux/fs.h",
      "new_id": "5baf3a153403ce9ffe8975acc108203d9b5d0dc5",
      "new_mode": 33188,
      "new_path": "include/linux/fs.h"
    },
    {
      "type": "modify",
      "old_id": "e4af57e87c178ab0bff22b97b2e710e72a870428",
      "old_mode": 33188,
      "old_path": "include/linux/genhd.h",
      "new_id": "41f276fdd185f6b16b4edb280041a23fa642440c",
      "new_mode": 33188,
      "new_path": "include/linux/genhd.h"
    },
    {
      "type": "modify",
      "old_id": "517c098fde205666b29585f577808e54e724a12b",
      "old_mode": 33188,
      "old_path": "include/linux/mpage.h",
      "new_id": "cc5fb75af78a25e22c55ba868e4612e09331fbe1",
      "new_mode": 33188,
      "new_path": "include/linux/mpage.h"
    },
    {
      "type": "modify",
      "old_id": "eb3e547c8fee37798521949cc4f341df352a6d6d",
      "old_mode": 33188,
      "old_path": "include/linux/raid/md.h",
      "new_id": "c588709acbbc90b868681dda826605fa14afb0a5",
      "new_mode": 33188,
      "new_path": "include/linux/raid/md.h"
    },
    {
      "type": "modify",
      "old_id": "d28890295852ce4f9be9f6bf0c6529f7b81041e6",
      "old_mode": 33188,
      "old_path": "include/linux/raid/md_k.h",
      "new_id": "920b94fe31fa2ed5184f8cdb4d41683efeeb15f4",
      "new_mode": 33188,
      "new_path": "include/linux/raid/md_k.h"
    },
    {
      "type": "modify",
      "old_id": "bbf66219b7692393e20d94c49c76708022e42ecf",
      "old_mode": 33188,
      "old_path": "include/scsi/scsi_tcq.h",
      "new_id": "c247a28259bc77fa453994b3492a457f8b99bb7c",
      "new_mode": 33188,
      "new_path": "include/scsi/scsi_tcq.h"
    },
    {
      "type": "modify",
      "old_id": "4381006dd666aaba6f9d1e29913d65fe5c3e5a8c",
      "old_mode": 33188,
      "old_path": "init/Kconfig",
      "new_id": "d2eb7a84a264f0330d0aab1792f3ac34bbba23b2",
      "new_mode": 33188,
      "new_path": "init/Kconfig"
    },
    {
      "type": "modify",
      "old_id": "b290aadb1d3f2a0b1448a06df90bb05f75aed42f",
      "old_mode": 33188,
      "old_path": "init/do_mounts.c",
      "new_id": "dc1ec0803ef9b93b76c27b9db3a9d3e741f98280",
      "new_mode": 33188,
      "new_path": "init/do_mounts.c"
    },
    {
      "type": "modify",
      "old_id": "6991bece67e8e7609e5d18920183246e0e007143",
      "old_mode": 33188,
      "old_path": "kernel/sys_ni.c",
      "new_id": "7a3b2e75f0402122ced8b15d5488a6b9de49ee8e",
      "new_mode": 33188,
      "new_path": "kernel/sys_ni.c"
    },
    {
      "type": "modify",
      "old_id": "4f2166a833b9566039f94b7f05ed712a507153a9",
      "old_mode": 33188,
      "old_path": "mm/Makefile",
      "new_id": "12b3a4eee88d56a3b4d4fe6c4255fa4a1ca81352",
      "new_mode": 33188,
      "new_path": "mm/Makefile"
    },
    {
      "type": "modify",
      "old_id": "d6846de0888719308fab1f23c6bfa1442eebda5e",
      "old_mode": 33188,
      "old_path": "mm/filemap.c",
      "new_id": "c4fe97f5ace0851d3023d1305d8de5c7ad2b1dd5",
      "new_mode": 33188,
      "new_path": "mm/filemap.c"
    },
    {
      "type": "modify",
      "old_id": "7f50e3ff54cd35d3dc3baed922c39c29206d193a",
      "old_mode": 33188,
      "old_path": "mm/migrate.c",
      "new_id": "ba2453f9483dfe4b03b3df1c089607da36ebb60c",
      "new_mode": 33188,
      "new_path": "mm/migrate.c"
    },
    {
      "type": "modify",
      "old_id": "ecf27839c2035a138000743753d3c2d8cefc6c07",
      "old_mode": 33188,
      "old_path": "mm/page-writeback.c",
      "new_id": "c0d4ce144dec41130e552723c5b3ecd4dca1876a",
      "new_mode": 33188,
      "new_path": "mm/page-writeback.c"
    },
    {
      "type": "modify",
      "old_id": "cd3e34b816db99ce0ae7f487098d0dd9b395d0cf",
      "old_mode": 33188,
      "old_path": "mm/truncate.c",
      "new_id": "8fde6580657ed15c860d2f6e5bffa77c88965240",
      "new_mode": 33188,
      "new_path": "mm/truncate.c"
    }
  ]
}
