)]}'
{
  "log": [
    {
      "commit": "871a293155a24554e153538d36e3a80fa169aefb",
      "tree": "7e38f5a2f9e87f63cbc4bc1077a4bb49dde441b0",
      "parents": [
        "907f4554e2521cb28b0009d17167760650a9561c"
      ],
      "author": {
        "name": "Christoph Hellwig",
        "email": "hch@infradead.org",
        "time": "Wed Mar 03 09:05:07 2010 -0500"
      },
      "committer": {
        "name": "Jan Kara",
        "email": "jack@suse.cz",
        "time": "Fri Mar 05 00:20:30 2010 +0100"
      },
      "message": "dquot: cleanup dquot initialize routine\n\nGet rid of the initialize dquot operation - it is now always called from\nthe filesystem and if a filesystem really needs it\u0027s own (which none\ncurrently does) it can just call into it\u0027s own routine directly.\n\nRename the now static low-level dquot_initialize helper to __dquot_initialize\nand vfs_dq_init to dquot_initialize to have a consistent namespace.\n\nSigned-off-by: Christoph Hellwig \u003chch@lst.de\u003e\nSigned-off-by: Jan Kara \u003cjack@suse.cz\u003e\n"
    },
    {
      "commit": "907f4554e2521cb28b0009d17167760650a9561c",
      "tree": "68dc49163fd34331f8efbd63592c8f1baa387031",
      "parents": [
        "9f7547580263d4a55efe06ce5cfd567f568be6e8"
      ],
      "author": {
        "name": "Christoph Hellwig",
        "email": "hch@infradead.org",
        "time": "Wed Mar 03 09:05:06 2010 -0500"
      },
      "committer": {
        "name": "Jan Kara",
        "email": "jack@suse.cz",
        "time": "Fri Mar 05 00:20:30 2010 +0100"
      },
      "message": "dquot: move dquot initialization responsibility into the filesystem\n\nCurrently various places in the VFS call vfs_dq_init directly.  This means\nwe tie the quota code into the VFS.  Get rid of that and make the\nfilesystem responsible for the initialization.   For most metadata operations\nthis is a straight forward move into the methods, but for truncate and\nopen it\u0027s a bit more complicated.\n\nFor truncate we currently only call vfs_dq_init for the sys_truncate case\nbecause open already takes care of it for ftruncate and open(O_TRUNC) - the\nnew code causes an additional vfs_dq_init for those which is harmless.\n\nFor open the initialization is moved from do_filp_open into the open method,\nwhich means it happens slightly earlier now, and only for regular files.\nThe latter is fine because we don\u0027t need to initialize it for operations\non special files, and we already do it as part of the namespace operations\nfor directories.\n\nAdd a dquot_file_open helper that filesystems that support generic quotas\ncan use to fill in -\u003eopen.\n\nSigned-off-by: Christoph Hellwig \u003chch@lst.de\u003e\nSigned-off-by: Jan Kara \u003cjack@suse.cz\u003e\n"
    },
    {
      "commit": "9f7547580263d4a55efe06ce5cfd567f568be6e8",
      "tree": "6f926a075eeed815d0a6680c06f235da0e5ea6d9",
      "parents": [
        "257ba15cedf1288f0c96118d7e63947231d27278"
      ],
      "author": {
        "name": "Christoph Hellwig",
        "email": "hch@infradead.org",
        "time": "Wed Mar 03 09:05:05 2010 -0500"
      },
      "committer": {
        "name": "Jan Kara",
        "email": "jack@suse.cz",
        "time": "Fri Mar 05 00:20:30 2010 +0100"
      },
      "message": "dquot: cleanup dquot drop routine\n\nGet rid of the drop dquot operation - it is now always called from\nthe filesystem and if a filesystem really needs it\u0027s own (which none\ncurrently does) it can just call into it\u0027s own routine directly.\n\nRename the now static low-level dquot_drop helper to __dquot_drop\nand vfs_dq_drop to dquot_drop to have a consistent namespace.\n\nSigned-off-by: Christoph Hellwig \u003chch@lst.de\u003e\nSigned-off-by: Jan Kara \u003cjack@suse.cz\u003e\n"
    },
    {
      "commit": "b43fa8284d7790d9cca32c9c55e24f29be2fa33b",
      "tree": "acb7f205fe2a1ae324e0e11c50f43baaa6b8dfab",
      "parents": [
        "759bfee658beab14af7b357156461d0eb852be2c"
      ],
      "author": {
        "name": "Christoph Hellwig",
        "email": "hch@infradead.org",
        "time": "Wed Mar 03 09:05:03 2010 -0500"
      },
      "committer": {
        "name": "Jan Kara",
        "email": "jack@suse.cz",
        "time": "Fri Mar 05 00:20:29 2010 +0100"
      },
      "message": "dquot: cleanup dquot transfer routine\n\nGet rid of the transfer dquot operation - it is now always called from\nthe filesystem and if a filesystem really needs it\u0027s own (which none\ncurrently does) it can just call into it\u0027s own routine directly.\n\nRename the now static low-level dquot_transfer helper to __dquot_transfer\nand vfs_dq_transfer to dquot_transfer to have a consistent namespace,\nand make the new dquot_transfer return a normal negative errno value\nwhich all callers expect.\n\nSigned-off-by: Christoph Hellwig \u003chch@lst.de\u003e\nSigned-off-by: Jan Kara \u003cjack@suse.cz\u003e\n"
    },
    {
      "commit": "63936ddaa16b9486e2d426ed7b09f559a5c60f87",
      "tree": "4cb1c4581799e10c26dd71d1a7d420de3c2cfd05",
      "parents": [
        "5dd4056db84387975140ff2568eaa0406f07985e"
      ],
      "author": {
        "name": "Christoph Hellwig",
        "email": "hch@infradead.org",
        "time": "Wed Mar 03 09:05:01 2010 -0500"
      },
      "committer": {
        "name": "Jan Kara",
        "email": "jack@suse.cz",
        "time": "Fri Mar 05 00:20:28 2010 +0100"
      },
      "message": "dquot: cleanup inode allocation / freeing routines\n\nGet rid of the alloc_inode and free_inode dquot operations - they are\nalways called from the filesystem and if a filesystem really needs\ntheir own (which none currently does) it can just call into it\u0027s\nown routine directly.\n\nAlso get rid of the vfs_dq_alloc/vfs_dq_free wrappers and always\ncall the lowlevel dquot_alloc_inode / dqout_free_inode routines\ndirectly, which now lose the number argument which is always 1.\n\nSigned-off-by: Christoph Hellwig \u003chch@lst.de\u003e\nSigned-off-by: Jan Kara \u003cjack@suse.cz\u003e\n"
    },
    {
      "commit": "5dd4056db84387975140ff2568eaa0406f07985e",
      "tree": "03c26d7f6e3367b167bfeeb1a01654c6619573f4",
      "parents": [
        "49792c806d0bfd53afc789dcdf50dc9bed2c5b83"
      ],
      "author": {
        "name": "Christoph Hellwig",
        "email": "hch@infradead.org",
        "time": "Wed Mar 03 09:05:00 2010 -0500"
      },
      "committer": {
        "name": "Jan Kara",
        "email": "jack@suse.cz",
        "time": "Fri Mar 05 00:20:28 2010 +0100"
      },
      "message": "dquot: cleanup space allocation / freeing routines\n\nGet rid of the alloc_space, free_space, reserve_space, claim_space and\nrelease_rsv dquot operations - they are always called from the filesystem\nand if a filesystem really needs their own (which none currently does)\nit can just call into it\u0027s own routine directly.\n\nMove shared logic into the common __dquot_alloc_space,\ndquot_claim_space_nodirty and __dquot_free_space low-level methods,\nand rationalize the wrappers around it to move as much as possible\ncode into the common block for CONFIG_QUOTA vs not.  Also rename\nall these helpers to be named dquot_* instead of vfs_dq_*.\n\nSigned-off-by: Christoph Hellwig \u003chch@lst.de\u003e\nSigned-off-by: Jan Kara \u003cjack@suse.cz\u003e\n"
    },
    {
      "commit": "8ddd69d6df4758bf0cab981481af24cc84419567",
      "tree": "126eb5877e092963b7ed1cf143e3ce0bac6a7c85",
      "parents": [
        "ad1e6e8da9fe8cb7ecfde8eabacedc3b50fceae4"
      ],
      "author": {
        "name": "Dmitry Monakhov",
        "email": "dmonakhov@openvz.org",
        "time": "Tue Feb 16 08:31:50 2010 +0300"
      },
      "committer": {
        "name": "Jan Kara",
        "email": "jack@suse.cz",
        "time": "Fri Mar 05 00:20:26 2010 +0100"
      },
      "message": "quota: generalize quota transfer interface\n\nCurrent quota transfer interface support only uid/gid.\nThis patch extend interface in order to support various quotas types\nThe goal is accomplished without changes in most frequently used\nvfs_dq_transfer() func.\n\nSigned-off-by: Dmitry Monakhov \u003cdmonakhov@openvz.org\u003e\nSigned-off-by: Jan Kara \u003cjack@suse.cz\u003e\n"
    },
    {
      "commit": "ad1e6e8da9fe8cb7ecfde8eabacedc3b50fceae4",
      "tree": "0971e2039c2d6feb6763ba018e9c73123d207ddb",
      "parents": [
        "86963918965eb8fe0c8ae009e7c1b4c630f533d5"
      ],
      "author": {
        "name": "Dmitry Monakhov",
        "email": "dmonakhov@openvz.org",
        "time": "Tue Feb 16 08:31:49 2010 +0300"
      },
      "committer": {
        "name": "Jan Kara",
        "email": "jack@suse.cz",
        "time": "Fri Mar 05 00:20:26 2010 +0100"
      },
      "message": "quota: sb_quota state flags cleanup\n\n- remove hardcoded USRQUOTA/GRPQUOTA flags\n- convert int to bool for appropriate functions\n\nSigned-off-by: Dmitry Monakhov \u003cdmonakhov@openvz.org\u003e\nSigned-off-by: Jan Kara \u003cjack@suse.cz\u003e\n"
    },
    {
      "commit": "5fb324ad24febe57a8a2e62903dcb7bad546ea71",
      "tree": "f49d1b8b7fe9feffbdd1afba18047001f5d7228f",
      "parents": [
        "8c4e4acd660a09e571a71583b5bbe1eee700c9ad"
      ],
      "author": {
        "name": "Christoph Hellwig",
        "email": "hch@infradead.org",
        "time": "Tue Feb 16 03:44:52 2010 -0500"
      },
      "committer": {
        "name": "Jan Kara",
        "email": "jack@suse.cz",
        "time": "Fri Mar 05 00:20:24 2010 +0100"
      },
      "message": "quota: move code from sync_quota_sb into vfs_quota_sync\n\nCurrenly sync_quota_sb does a lot of sync and truncate action that only\napplies to \"VFS\" style quotas and is actively harmful for the sync\nperformance in XFS.  Move it into vfs_quota_sync and add a wait parameter\nto -\u003equota_sync to tell if we need it or not.\n\nMy audit of the GFS2 code says it\u0027s also not needed given the way GFS2\nimplements quotas, but I\u0027d be happy if this can get a detailed review.\n\nSigned-off-by: Christoph Hellwig \u003chch@lst.de\u003e\nSigned-off-by: Jan Kara \u003cjack@suse.cz\u003e\n"
    },
    {
      "commit": "8c4e4acd660a09e571a71583b5bbe1eee700c9ad",
      "tree": "05d1208e70d96dfa6857dbb84de7f3554a721992",
      "parents": [
        "c988afb5fa3fc450207c3dfc0ce535f4bfdae4d1"
      ],
      "author": {
        "name": "Christoph Hellwig",
        "email": "hch@infradead.org",
        "time": "Tue Feb 16 03:44:51 2010 -0500"
      },
      "committer": {
        "name": "Jan Kara",
        "email": "jack@suse.cz",
        "time": "Fri Mar 05 00:20:24 2010 +0100"
      },
      "message": "quota: clean up Q_XQUOTASYNC\n\nCurrently Q_XQUOTASYNC calls into the quota_sync method, but XFS does something\nentirely different in it than the rest of the filesystems.  xfs_quota which\ncalls Q_XQUOTASYNC expects an asynchronous data writeout to flush delayed\nallocations, while the \"VFS\" quota support wants to flush changes to the quota\nfile.\n\nSo make Q_XQUOTASYNC call into the writeback code directly and make the\nquota_sync method optional as XFS doesn\u0027t need in the sense expected by the\nrest of the quota code.\n\nGFS2 was using limited XFS-style quota and has a quota_sync method fitting\nneither the style used by vfs_quota_sync nor xfs_fs_quota_sync.  I left it\nin for now as per discussion with Steve it expects to be called from the\nsync path this way.\n\nSigned-off-by: Christoph Hellwig \u003chch@lst.de\u003e\nSigned-off-by: Jan Kara \u003cjack@suse.cz\u003e\n"
    },
    {
      "commit": "c469070aea5a0ada45a836937c776fd3083dae2b",
      "tree": "8c36117b34aba28a73c2fe4e03c7e89c2f43aef3",
      "parents": [
        "c7e8d4d6dceeb6fd236991f590d3fa6f97c59874"
      ],
      "author": {
        "name": "Dmitry Monakhov",
        "email": "dmonakhov@openvz.org",
        "time": "Tue Feb 09 17:53:36 2010 +0100"
      },
      "committer": {
        "name": "Jan Kara",
        "email": "jack@suse.cz",
        "time": "Fri Mar 05 00:20:21 2010 +0100"
      },
      "message": "quota: manage reserved space when quota is not active [v2]\n\nSince we implemented generic reserved space management interface,\nthen it is possible to account reserved space even when quota\nis not active (similar to i_blocks/i_bytes).\n\nWithout this patch following testcase result in massive comlain from\nWARN_ON in dquot_claim_space()\n\nTEST_CASE:\nmount /dev/sdb /mnt -oquota\ndd if\u003d/dev/zero of\u003d/mnt/test bs\u003d1M count\u003d1\nquotaon /mnt\n# fs_reserved_spave \u003d\u003d 1Mb\n# quota_reserved_space \u003d\u003d 0, because quota was disabled\ndd if\u003d/dev/zero of\u003d/mnt/test seek\u003d1 bs\u003d1M count\u003d1\n# fs_reserved_spave \u003d\u003d 2Mb\n# quota_reserved_space \u003d\u003d 1Mb\nsync  # -\u003edquot_claim_space() -\u003e WARN_ON\n\nSigned-off-by: Dmitry Monakhov \u003cdmonakhov@openvz.org\u003e\nSigned-off-by: Jan Kara \u003cjack@suse.cz\u003e\n"
    },
    {
      "commit": "0d54b217a247f39605361f867fefbb9e099a5432",
      "tree": "5af6a2cc4cbc6c327e735ac5edb642d47a1f0013",
      "parents": [
        "61e225dc341107be304fd1088146c2a5e88ff9e0"
      ],
      "author": {
        "name": "Alexey Dobriyan",
        "email": "adobriyan@gmail.com",
        "time": "Mon Sep 21 17:01:09 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Sep 22 07:17:24 2009 -0700"
      },
      "message": "const: make struct super_block::s_qcop const\n\nSigned-off-by: Alexey Dobriyan \u003cadobriyan@gmail.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "61e225dc341107be304fd1088146c2a5e88ff9e0",
      "tree": "e6d3e1dc5506e232497f17721175a081a5306b5b",
      "parents": [
        "00d3803b656a5f0935518d746f6bb27d5181d29d"
      ],
      "author": {
        "name": "Alexey Dobriyan",
        "email": "adobriyan@gmail.com",
        "time": "Mon Sep 21 17:01:08 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Sep 22 07:17:24 2009 -0700"
      },
      "message": "const: make struct super_block::dq_op const\n\nSigned-off-by: Alexey Dobriyan \u003cadobriyan@gmail.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "405f55712dfe464b3240d7816cc4fe4174831be2",
      "tree": "96c425ea7fa8b31058b8f83a433c5e5265c8ebc7",
      "parents": [
        "f9fabcb58a6d26d6efde842d1703ac7cfa9427b6"
      ],
      "author": {
        "name": "Alexey Dobriyan",
        "email": "adobriyan@gmail.com",
        "time": "Sat Jul 11 22:08:37 2009 +0400"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun Jul 12 12:22:34 2009 -0700"
      },
      "message": "headers: smp_lock.h redux\n\n* Remove smp_lock.h from files which don\u0027t need it (including some headers!)\n* Add smp_lock.h to files which do need it\n* Make smp_lock.h include conditional in hardirq.h\n  It\u0027s needed only for one kernel_locked() usage which is under CONFIG_PREEMPT\n\n  This will make hardirq.h inclusion cheaper for every PREEMPT\u003dn config\n  (which includes allmodconfig/allyesconfig, BTW)\n\nSigned-off-by: Alexey Dobriyan \u003cadobriyan@gmail.com\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "c3f8a40c1cd5591b882497d1d00d43d0e5bb4698",
      "tree": "8280d4c7748be5d3b2b96c6bd11a643280d0b232",
      "parents": [
        "850b201b087f5525a0a7278551c2bcd0423c3b26"
      ],
      "author": {
        "name": "Jan Kara",
        "email": "jack@suse.cz",
        "time": "Mon Apr 27 16:43:55 2009 +0200"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Thu Jun 11 21:36:04 2009 -0400"
      },
      "message": "quota: Introduce writeout_quota_sb() (version 4)\n\nIntroduce this function which just writes all the quota structures but\navoids all the syncing and cache pruning work to expose quota structures\nto userspace. Use this function from __sync_filesystem when wait \u003d\u003d 0.\n\nSigned-off-by: Jan Kara \u003cjack@suse.cz\u003e\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "850b201b087f5525a0a7278551c2bcd0423c3b26",
      "tree": "a076f135430380d2ffaeb041ee53d09352cb2752",
      "parents": [
        "60b0680fa236ac4e17ce31a50048c9d75f9ec831"
      ],
      "author": {
        "name": "Christoph Hellwig",
        "email": "hch@lst.de",
        "time": "Mon Apr 27 16:43:54 2009 +0200"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Thu Jun 11 21:36:04 2009 -0400"
      },
      "message": "quota: cleanup dquota sync functions (version 4)\n\nCurrently the VFS calls vfs_dq_sync to sync out disk quotas for a given\nsuperblock.  This is a small wrapper around sync_dquots which for the\ncase of a non-NULL superblock is a small wrapper around quota_sync_sb.\n\nJust make quota_sync_sb global (rename it to sync_quota_sb) and call it\ndirectly.  Also call it directly for those cases in quota.c that have a\nsuperblock and leave sync_dquots purely an iterator over sync_quota_sb and\nremove it\u0027s superblock argument.\n\nTo make this nicer move the check for the lack of a quota_sync method\nfrom the callers into sync_quota_sb.\n\n[folded build fix from Alexander Beregalov \u003ca.beregalov@gmail.com\u003e]\n\nSigned-off-by: Christoph Hellwig \u003chch@lst.de\u003e\nSigned-off-by: Jan Kara \u003cjack@suse.cz\u003e\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "bf84c82d000b9820b01f516d13d328f354f8a8ee",
      "tree": "27de557ae64fb19162b98f9f08a8fd7ef8d31411",
      "parents": [
        "90c0af05a5a486f7709195e20bb26ad8f67ba5af"
      ],
      "author": {
        "name": "Jan Kara",
        "email": "jack@suse.cz",
        "time": "Mon Jan 26 17:37:01 2009 +0100"
      },
      "committer": {
        "name": "Jan Kara",
        "email": "jack@suse.cz",
        "time": "Thu Mar 26 02:18:37 2009 +0100"
      },
      "message": "quota: Remove uppercase aliases for quota functions.\n\nSince all users have been converted, remove uppercase names of quota functions.\n\nSigned-off-by: Jan Kara \u003cjack@suse.cz\u003e\n"
    },
    {
      "commit": "9900ba3487f9ba392db30e12d210f768a90abb13",
      "tree": "d74890b42f6ffae21908d8dc9bed34a40f066123",
      "parents": [
        "740d9dcd949a986c88886a591054a0cdb89ef669"
      ],
      "author": {
        "name": "Mingming Cao",
        "email": "cmm@us.ibm.com",
        "time": "Wed Jan 14 16:18:57 2009 +0100"
      },
      "committer": {
        "name": "Jan Kara",
        "email": "jack@suse.cz",
        "time": "Thu Mar 26 02:18:34 2009 +0100"
      },
      "message": "quota: Use inode-\u003ei_blkbits to get block bits\n\nAndrew has suggested to use inode-\u003ei_blkbits to get the block bits info,\nrather than use super block\u0027s blockbits. That should be faster and emit\nless code.\n\nSigned-off-by: Mingming Cao \u003ccmm@us.ibm.com\u003e\nSigned-off-by: Jan Kara \u003cjack@suse.cz\u003e\n"
    },
    {
      "commit": "740d9dcd949a986c88886a591054a0cdb89ef669",
      "tree": "3a422d30c838c80d35b8d52a05a4c55d3c806e4e",
      "parents": [
        "f18df228997fb716990590d248663981a15f17d4"
      ],
      "author": {
        "name": "Mingming Cao",
        "email": "cmm@us.ibm.com",
        "time": "Tue Jan 13 16:43:14 2009 +0100"
      },
      "committer": {
        "name": "Jan Kara",
        "email": "jack@suse.cz",
        "time": "Thu Mar 26 02:18:24 2009 +0100"
      },
      "message": "quota: Add quota reservation claim and released operations\n\nReserved quota will be claimed at the block allocation time. Over-booked\nquota could be returned back with the release callback function.\n\nSigned-off-by: Mingming Cao \u003ccmm@us.ibm.com\u003e\nSigned-off-by: Jan Kara \u003cjack@suse.cz\u003e\n"
    },
    {
      "commit": "f18df228997fb716990590d248663981a15f17d4",
      "tree": "f5fc935b09cddde325235c265fd3a553ee40af51",
      "parents": [
        "8e0ee43bc2c3e19db56a4adaa9a9b04ce885cd84"
      ],
      "author": {
        "name": "Mingming Cao",
        "email": "cmm@us.ibm.com",
        "time": "Tue Jan 13 16:43:09 2009 +0100"
      },
      "committer": {
        "name": "Jan Kara",
        "email": "jack@suse.cz",
        "time": "Thu Mar 26 02:15:50 2009 +0100"
      },
      "message": "quota: Add quota reservation support\n\nDelayed allocation defers the block allocation at the dirty pages\nflush-out time, doing quota charge/check at that time is too late.\nBut we can\u0027t charge the quota blocks until blocks are really allocated,\notherwise users could get overcharged after reboot from system crash.\n\nThis patch adds quota reservation for delayed allocation. Quota blocks\nare reserved in memory, inode and quota won\u0027t gets dirtied until later\nblock allocation time.\n\nSigned-off-by: Mingming Cao \u003ccmm@us.ibm.com\u003e\nSigned-off-by: Jan Kara \u003cjack@suse.cz\u003e\n"
    },
    {
      "commit": "cc33412fb1f11613e20f9dfc2919a77ecd63fbc4",
      "tree": "657ccb0860127852179efe8c13fc24b5ba624017",
      "parents": [
        "7cb36b6ccdca03bd87e8faca7fd920643dd1aec7"
      ],
      "author": {
        "name": "Jan Kara",
        "email": "jack@suse.cz",
        "time": "Mon Jan 12 17:23:05 2009 +0100"
      },
      "committer": {
        "name": "Jan Kara",
        "email": "jack@suse.cz",
        "time": "Fri Jan 16 18:02:10 2009 +0100"
      },
      "message": "quota: Improve locking\n\nWe implement dqget() and dqput() that need neither dqonoff_mutex nor dqptr_sem.\nThen move dqget() and dqput() calls so that they are not called from under\ndqptr_sem. This is important because filesystem callbacks aren\u0027t called from\nunder dqptr_sem which used to cause *lots* of problems with lock ranking\n(and with OCFS2 they became close to unsolvable).\n\nThe patch also removes two functions which were introduced solely because OCFS2\nneeded them to cope with the old locking scheme. As time showed, they were not\nenough for OCFS2 anyway and it would be unnecessary work to adapt them to the\nnew locking scheme in which they aren\u0027t needed.  As a result OCFS2 needs the\nfollowing patch to compile properly with quotas.  Sorry to any bisecters which\nhit this in advance.\n\nSigned-off-by: Jan Kara \u003cjack@suse.cz\u003e\n"
    },
    {
      "commit": "7d9056ba20ebed6e3937a2e23183f6117919cb00",
      "tree": "3aefa0f187630fdbdefcec9e726155f2678cd1ab",
      "parents": [
        "5cd9d5bb86daf632a40f90e2321ea9379e42f073"
      ],
      "author": {
        "name": "Jan Kara",
        "email": "jack@suse.cz",
        "time": "Tue Nov 25 15:31:32 2008 +0100"
      },
      "committer": {
        "name": "Mark Fasheh",
        "email": "mfasheh@suse.com",
        "time": "Mon Jan 05 08:40:25 2009 -0800"
      },
      "message": "quota: Export dquot_alloc() and dquot_destroy() functions\n\nThese are default functions for creating and destroying quota structures\nand they should be used from filesystems.\n\nSigned-off-by: Jan Kara \u003cjack@suse.cz\u003e\nSigned-off-by: Mark Fasheh \u003cmfasheh@suse.com\u003e\n"
    },
    {
      "commit": "12c77527e4138bc3b17d17b0e0c909e4fc84924f",
      "tree": "2776bbc914ebf8db7bdc2e450abf6a1504f50abe",
      "parents": [
        "3d9ea253a0e73dccaa869888ec2ceb17ea76c810"
      ],
      "author": {
        "name": "Jan Kara",
        "email": "jack@suse.cz",
        "time": "Mon Oct 20 17:05:00 2008 +0200"
      },
      "committer": {
        "name": "Mark Fasheh",
        "email": "mfasheh@suse.com",
        "time": "Mon Jan 05 08:40:23 2009 -0800"
      },
      "message": "quota: Implement function for scanning active dquots\n\nOCFS2 needs to scan all active dquots once in a while and sync quota\ninformation among cluster nodes. Provide a helper function for it so\nthat it does not have to reimplement internally a list which VFS\nalready has. Moreover this function is probably going to be useful\nfor other clustered filesystems if they decide to use VFS quotas.\n\nSigned-off-by: Jan Kara \u003cjack@suse.cz\u003e\nSigned-off-by: Mark Fasheh \u003cmfasheh@suse.com\u003e\n"
    },
    {
      "commit": "3d9ea253a0e73dccaa869888ec2ceb17ea76c810",
      "tree": "0a107f919605f68335bf55176b062facebcd51c9",
      "parents": [
        "571b46e40bebb0d57130ca24c4a84dfd553adb91"
      ],
      "author": {
        "name": "Jan Kara",
        "email": "jack@suse.cz",
        "time": "Fri Oct 10 16:12:23 2008 +0200"
      },
      "committer": {
        "name": "Mark Fasheh",
        "email": "mfasheh@suse.com",
        "time": "Mon Jan 05 08:40:22 2009 -0800"
      },
      "message": "quota: Add helpers to allow ocfs2 specific quota initialization, freeing and recovery\n\nOCFS2 needs to peek whether quota structure is already in memory so\nthat it can avoid expensive cluster locking in that case. Similarly\nwhen freeing dquots, it checks whether it is the last quota structure\nuser or not. Finally, it needs to get reference to dquot structure for\nspecified id and quota type when recovering quota file after crash.\n\nSigned-off-by: Jan Kara \u003cjack@suse.cz\u003e\nSigned-off-by: Mark Fasheh \u003cmfasheh@suse.com\u003e\n"
    },
    {
      "commit": "dcb30695f2cac86b71417629a6fe8042b4fe2ab2",
      "tree": "85a099a0314091fbc82bed07951c9c49a07a2ffc",
      "parents": [
        "6929f891241d3fe3af01d28503b645e63241e49a"
      ],
      "author": {
        "name": "Jan Kara",
        "email": "jack@suse.cz",
        "time": "Wed Aug 20 18:30:40 2008 +0200"
      },
      "committer": {
        "name": "Mark Fasheh",
        "email": "mfasheh@suse.com",
        "time": "Mon Jan 05 08:36:56 2009 -0800"
      },
      "message": "quota: Remove compatibility function sb_any_quota_enabled()\n\nSigned-off-by: Jan Kara \u003cjack@suse.cz\u003e\nSigned-off-by: Mark Fasheh \u003cmfasheh@suse.com\u003e\n"
    },
    {
      "commit": "f55abc0fb9c3189de3da829adf3220322c0da43e",
      "tree": "0db4b838b0b90f27401783e8e7e45842ec91f90a",
      "parents": [
        "e4bc7b4b7ff783779b6928d55a9308910bf180a3"
      ],
      "author": {
        "name": "Jan Kara",
        "email": "jack@suse.cz",
        "time": "Wed Aug 20 17:50:32 2008 +0200"
      },
      "committer": {
        "name": "Mark Fasheh",
        "email": "mfasheh@suse.com",
        "time": "Mon Jan 05 08:36:56 2009 -0800"
      },
      "message": "quota: Allow to separately enable quota accounting and enforcing limits\n\nSplit DQUOT_USR_ENABLED (and DQUOT_GRP_ENABLED) into DQUOT_USR_USAGE_ENABLED\nand DQUOT_USR_LIMITS_ENABLED. This way we are able to separately enable /\ndisable whether we should:\n1) ignore quotas completely\n2) just keep uptodate information about usage\n3) actually enforce quota limits\n\nThis is going to be useful when quota is treated as filesystem metadata - we\nthen want to keep quota information uptodate all the time and just enable /\ndisable limits enforcement.\n\nSigned-off-by: Jan Kara \u003cjack@suse.cz\u003e\nSigned-off-by: Mark Fasheh \u003cmfasheh@suse.com\u003e\n"
    },
    {
      "commit": "e4bc7b4b7ff783779b6928d55a9308910bf180a3",
      "tree": "1cf54906c8686507f9cc127754210930d27a0471",
      "parents": [
        "1497d3ad487b64eeea83ac203263802755438949"
      ],
      "author": {
        "name": "Jan Kara",
        "email": "jack@suse.cz",
        "time": "Wed Aug 20 16:21:01 2008 +0200"
      },
      "committer": {
        "name": "Mark Fasheh",
        "email": "mfasheh@suse.com",
        "time": "Mon Jan 05 08:36:56 2009 -0800"
      },
      "message": "quota: Make _SUSPENDED just a flag\n\nUpto now, DQUOT_USR_SUSPENDED behaved like a state - i.e., either quota\nwas enabled or suspended or none. Now allowed states are 0, ENABLED,\nENABLED | SUSPENDED. This will be useful later when we implement separate\nenabling of quota usage tracking and limits enforcement because we need to\nkeep track of a state which has been suspended.\n\nSigned-off-by: Jan Kara \u003cjack@suse.cz\u003e\nSigned-off-by: Mark Fasheh \u003cmfasheh@suse.com\u003e\n"
    },
    {
      "commit": "12095460f7f315f8ef67a55b2194195d325d48d7",
      "tree": "4e878139ccd29a2adeb2a9fa6fcd9c279e8ce6f4",
      "parents": [
        "74f783af95c982aef6d3a1415275650dcf511666"
      ],
      "author": {
        "name": "Jan Kara",
        "email": "jack@suse.cz",
        "time": "Wed Aug 20 14:45:12 2008 +0200"
      },
      "committer": {
        "name": "Mark Fasheh",
        "email": "mfasheh@suse.com",
        "time": "Mon Jan 05 08:36:55 2009 -0800"
      },
      "message": "quota: Increase size of variables for limits and inode usage\n\nSo far quota was fine with quota block limits and inode limits/numbers in\na 32-bit type. Now with rapid increase in storage sizes there are coming\nrequests to be able to handle quota limits above 4TB / more that 2^32 inodes.\nSo bump up sizes of types in mem_dqblk structure to 64-bits to be able to\nhandle this. Also update inode allocation / checking functions to use qsize_t\nand make global structure keep quota limits in bytes so that things are\nconsistent.\n\nSigned-off-by: Jan Kara \u003cjack@suse.cz\u003e\nSigned-off-by: Mark Fasheh \u003cmfasheh@suse.com\u003e\n"
    },
    {
      "commit": "b73c29f6b0ddbcf07b43c5c5e6354e5839b5e68d",
      "tree": "6aa4b36d5c90a5d82b7995329fd329d4111c762f",
      "parents": [
        "67b172c097177835fbf5b0666885c4059a4f67ff"
      ],
      "author": {
        "name": "Adrian Bunk",
        "email": "bunk@kernel.org",
        "time": "Wed Oct 15 22:04:13 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Oct 16 11:21:46 2008 -0700"
      },
      "message": "quota: remove CVS keywords\n\nRemove CVS keywords that weren\u0027t updated for a long time from comments.\n\nSigned-off-by: Adrian Bunk \u003cbunk@kernel.org\u003e\nAcked-by: Jan Kara \u003cjack@suse.cz\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "77e69dac3cefacee939cb107ae9cd520a62338e0",
      "tree": "02ddee5ac85ceb632eab2aff994ffbd3233e51eb",
      "parents": [
        "1b7e190b4764ea3ca1080404dd593eae5230d2b3"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Fri Aug 01 04:29:18 2008 -0400"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Fri Aug 01 11:25:25 2008 -0400"
      },
      "message": "[PATCH] fix races and leaks in vfs_quota_on() users\n\n* new helper: vfs_quota_on_path(); equivalent of vfs_quota_on() sans the\n  pathname resolution.\n* callers of vfs_quota_on() that do their own pathname resolution and\n  checks based on it are switched to vfs_quota_on_path(); that way we\n  avoid the races.\n* reiserfs leaked dentry/vfsmount references on several failure exits.\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "03b063436ca1076301de58d9d628f610ab5404ad",
      "tree": "c0c21837706d6c462cef3183f5e514405d1af993",
      "parents": [
        "74abb9890dafb12a50dc140de215ed477beb1b88"
      ],
      "author": {
        "name": "Jan Kara",
        "email": "jack@suse.cz",
        "time": "Fri Jul 25 01:46:52 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jul 25 10:53:35 2008 -0700"
      },
      "message": "quota: convert macros to inline functions\n\nSigned-off-by: Jan Kara \u003cjack@suse.cz\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "74abb9890dafb12a50dc140de215ed477beb1b88",
      "tree": "30188b5932e54bc67fb88c0d05e5ba631fe9b698",
      "parents": [
        "02a55ca87185e114e5d298a8d00608501dbabf67"
      ],
      "author": {
        "name": "Jan Kara",
        "email": "jack@suse.cz",
        "time": "Fri Jul 25 01:46:51 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jul 25 10:53:35 2008 -0700"
      },
      "message": "quota: move function-macros from quota.h to quotaops.h\n\nMove declarations of some macros, which should be in fact functions to\nquotaops.h.  This way they can be later converted to inline functions\nbecause we can now use declarations from quota.h.  Also add necessary\nincludes of quotaops.h to a few files.\n\n[akpm@linux-foundation.org: fix JFS build]\n[akpm@linux-foundation.org: fix UFS build]\n[vegard.nossum@gmail.com: fix QUOTA\u003dn build]\nSigned-off-by: Jan Kara \u003cjack@suse.cz\u003e\nCc: Vegard Nossum \u003cvegard.nossum@gmail.com\u003e\nCc: Arjen Pool \u003carjenpool@gmail.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "b85f4b87a511bea86dac68c4f0fabaee2cac6c4c",
      "tree": "978e541e47effe07119862f04becbb4f79b02742",
      "parents": [
        "b48d380541f634663b71766005838edbb7261685"
      ],
      "author": {
        "name": "Jan Kara",
        "email": "jack@suse.cz",
        "time": "Fri Jul 25 01:46:50 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jul 25 10:53:35 2008 -0700"
      },
      "message": "quota: rename quota functions from upper case, make bigger ones non-inline\n\nCleanup quotaops.h: Rename functions from uppercase to lowercase (and\ndefine backward compatibility macros), move larger functions to dquot.c\nand make them non-inline.\n\nSigned-off-by: Jan Kara \u003cjack@suse.cz\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "50f8c370e77befe9121720bd7bdada2ac0d13915",
      "tree": "24e38a076b70e41664f2ff259c9d072b1b9e46de",
      "parents": [
        "1b445a9c21f593be9d3c4ab912359d2c51c371dd"
      ],
      "author": {
        "name": "Andrew Morton",
        "email": "akpm@linux-foundation.org",
        "time": "Mon Apr 28 02:14:35 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Apr 28 08:58:33 2008 -0700"
      },
      "message": "quota: convert stub functions from macros into inlines\n\nFixes things like this:\n\nfs/super.c: In function `deactivate_super\u0027:\nfs/super.c:182: warning: statement with no effect\nfs/super.c: In function `do_remount_sb\u0027:\nfs/super.c:644: warning: statement with no effect\n\nCc: Jan Kara \u003cjack@ucw.cz\u003e\nCc: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "0ff5af8340aa6be44220d7237ef4a654314cf795",
      "tree": "a9536ea573725931cd4eb3139f4885887e3f8bf8",
      "parents": [
        "03f6e92bdd467aed9d7571a571868563ae6ad288"
      ],
      "author": {
        "name": "Jan Kara",
        "email": "jack@suse.cz",
        "time": "Mon Apr 28 02:14:33 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Apr 28 08:58:33 2008 -0700"
      },
      "message": "quota: quota core changes for quotaon on remount\n\nCurrently, we just turn quotas off on remount of filesystem to read-only\nstate.  The patch below adds necessary framework so that we can turn quotas\noff on remount RO but we are able to automatically reenable them again when\nfilesystem is remounted to RW state.  All we need to do is to keep references\nto inodes of quota files when remounting RO and using these references to\nreenable quotas when remounting RW.\n\nSigned-off-by: Jan Kara \u003cjack@suse.cz\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "03f6e92bdd467aed9d7571a571868563ae6ad288",
      "tree": "b10ba6373ffeb0d929ec9004faafcc0ac64103c0",
      "parents": [
        "8794b5b246cf6f67baf57bd9db386e79ca5cac33"
      ],
      "author": {
        "name": "Jan Kara",
        "email": "jack@suse.cz",
        "time": "Mon Apr 28 02:14:32 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Apr 28 08:58:33 2008 -0700"
      },
      "message": "quota: various style cleanups\n\nCleanups in quota code:\n  Change __inline__ to inline.\n  Change some macros to inline functions.\n  Remove vfs_quota_off_mount() macro.\n  DQUOT_OFF() should be (0) is CONFIG_QUOTA is disabled.\n  Move declaration of mark_dquot_dirty and dirty_dquot from quota.h to dquot.c\n\n[akpm@linux-foundation.org: coding-style fixes]\nSigned-off-by: Jan Kara \u003cjack@suse.cz\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "e5f00f42f35e6f4699f105a3bd56874847cbf72f",
      "tree": "ac4e5c0a9fbafceacf5e78281bab508ba03e5044",
      "parents": [
        "c6b40d16d1cfa1a01158049bb887a9bbe48ef7ba"
      ],
      "author": {
        "name": "Adrian Bunk",
        "email": "bunk@stusta.de",
        "time": "Tue May 08 00:27:22 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Tue May 08 11:15:05 2007 -0700"
      },
      "message": "make remove_inode_dquot_ref() static\n\nremove_inode_dquot_ref() can now become static.\n\nSigned-off-by: Adrian Bunk \u003cbunk@stusta.de\u003e\nAcked-by: Jan Kara \u003cjack@suse.cz\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "0da1480ec33d4bac8c32051c1d33202be6dc439f",
      "tree": "2b7c820451aa595fb9a8f64556eadd21ef3e9e2e",
      "parents": [
        "3982cd99c30285ebc71d405cd8530a3dfb7265de"
      ],
      "author": {
        "name": "Adrian Bunk",
        "email": "bunk@stusta.de",
        "time": "Wed Dec 06 20:40:03 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.osdl.org",
        "time": "Thu Dec 07 08:39:44 2006 -0800"
      },
      "message": "[PATCH] proper prototype for remove_inode_dquot_ref()\n\nAdd a proper prototype for remove_inode_dquot_ref() in\ninclude/linux/quotaops.h\n\nSigned-off-by: Adrian Bunk \u003cbunk@stusta.de\u003e\nAcked-by: Jan Kara \u003cjack@suse.cz\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "62c4f0a2d5a188f73a94f2cb8ea0dba3e7cf0a7f",
      "tree": "e85ca2d0dd43f90dccf758338764c3caa55f333f",
      "parents": [
        "089f26d5e31b7bf42a9a8fefec08b30cd27f4b0e"
      ],
      "author": {
        "name": "David Woodhouse",
        "email": "dwmw2@infradead.org",
        "time": "Wed Apr 26 12:56:16 2006 +0100"
      },
      "committer": {
        "name": "David Woodhouse",
        "email": "dwmw2@infradead.org",
        "time": "Wed Apr 26 12:56:16 2006 +0100"
      },
      "message": "Don\u0027t include linux/config.h from anywhere else in include/\n\nSigned-off-by: David Woodhouse \u003cdwmw2@infradead.org\u003e\n"
    },
    {
      "commit": "6bf8d889ed453f709dedacabdcf5db47470fdae9",
      "tree": "f28c0b85f67393eca83757853a9c4a13d0d56ea0",
      "parents": [
        "1374ae8b9a3789695962a0f3fd4c6eb7aff881bc"
      ],
      "author": {
        "name": "Herbert Poetzl",
        "email": "herbert@13thfloor.at",
        "time": "Fri Feb 03 03:04:32 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Fri Feb 03 08:32:08 2006 -0800"
      },
      "message": "[PATCH] quota: remove unused sync_dquots_dev()\n\nThe already removed sync_dquots_dev(dev,type) is still defined in the\nno-quota case.\n\nSigned-off-by: Herbert Pötzl \u003cherbert@13thfloor.at\u003e\nAcked-by: Jan Kara \u003cjack@suse.cz\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "be586bab8bfbf5d429bdfcb6136bdde89583c5c4",
      "tree": "3ff050d2e962b7bacec8b86685d6887717f06173",
      "parents": [
        "e3f17f0f6e98f58edb13cb38810d93e6d4808e68"
      ],
      "author": {
        "name": "Adrian Bunk",
        "email": "bunk@stusta.de",
        "time": "Mon Nov 07 00:59:35 2005 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Mon Nov 07 07:53:39 2005 -0800"
      },
      "message": "[PATCH] quota: small cleanups\n\n- \"extern inline\" -\u003e \"static inline\"\n\n- every file should #include the headers containing the prototypes for\n  it\u0027s global functions\n\nSigned-off-by: Adrian Bunk \u003cbunk@stusta.de\u003e\nSigned-off-by: Jan Kara \u003cjack@suse.cz\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "84de856ed30c568c2bb7b9ac0679772bd2737d9b",
      "tree": "532e4f6bcc0db2d1baf0455484ec7f64a2a51e71",
      "parents": [
        "df164db5fd16888ddbe2a63a47b2f6dda9a428b5"
      ],
      "author": {
        "name": "Christoph Hellwig",
        "email": "hch@lst.de",
        "time": "Thu Jun 23 00:09:16 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@ppc970.osdl.org",
        "time": "Thu Jun 23 09:45:20 2005 -0700"
      },
      "message": "[PATCH] quota: consolidate code surrounding vfs_quota_on_mount\n\nMove some code duplicated in both callers into vfs_quota_on_mount\n\nSigned-off-by: Christoph Hellwig \u003chch@lst.de\u003e\nAcked-by: Jan Kara \u003cjack@ucw.cz\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "1da177e4c3f41524e886b7f1b8a0c1fc7321cac2",
      "tree": "0bba044c4ce775e45a88a51686b5d9f90697ea9d",
      "parents": [],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@ppc970.osdl.org",
        "time": "Sat Apr 16 15:20:36 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@ppc970.osdl.org",
        "time": "Sat Apr 16 15:20:36 2005 -0700"
      },
      "message": "Linux-2.6.12-rc2\n\nInitial git repository build. I\u0027m not bothering with the full history,\neven though we have it. We can create a separate \"historical\" git\narchive of that later if we want to, and in the meantime it\u0027s about\n3.2GB when imported into git - space that would just make the early\ngit days unnecessarily complicated, when we don\u0027t have a lot of good\ninfrastructure for it.\n\nLet it rip!\n"
    }
  ]
}
