)]}'
{
  "log": [
    {
      "commit": "fd1b52435a6d9663de896e8437ef067372916ef3",
      "tree": "29ca8e641eba57647260b92afd4406e54f280876",
      "parents": [
        "ce8a7424d23a36f043d0de8484f888971c831119"
      ],
      "author": {
        "name": "Christoph Hellwig",
        "email": "hch@lst.de",
        "time": "Tue Apr 07 18:10:06 2009 +0200"
      },
      "committer": {
        "name": "Jan Kara",
        "email": "jack@suse.cz",
        "time": "Mon Apr 27 16:49:52 2009 +0200"
      },
      "message": "quota: remove obsolete comments in fs/quota/Makefile\n\nGet rid of useless comments and the equally useless obj-y\ninitialization.\n\nSigned-off-by: Christoph Hellwig \u003chch@lst.de\u003e\nSigned-off-by: Jan Kara \u003cjack@suse.cz\u003e\n"
    },
    {
      "commit": "b6fac63cc1f52ec27f29fe6c6c8494a2ffac33fd",
      "tree": "78b4da8231fb80ea05fffc65c4647957b5a858fb",
      "parents": [
        "33e5d76979cf01e3834814fe0aea569d1d602c1a"
      ],
      "author": {
        "name": "Wu Fengguang",
        "email": "fengguang.wu@intel.com",
        "time": "Thu Apr 02 16:56:34 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Apr 02 19:04:48 2009 -0700"
      },
      "message": "vfs: skip I_CLEAR state inodes\n\nclear_inode() will switch inode state from I_FREEING to I_CLEAR, and do so\n_outside_ of inode_lock.  So any I_FREEING testing is incomplete without a\ncoupled testing of I_CLEAR.\n\nSo add I_CLEAR tests to drop_pagecache_sb(), generic_sync_sb_inodes() and\nadd_dquot_ref().\n\nMasayoshi MIZUMA discovered the bug in drop_pagecache_sb() and Jan Kara\nreminds fixing the other two cases.\n\nMasayoshi MIZUMA has a nice panic flow:\n\n\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\n            [process A]               |        [process B]\n |                                    |\n |    prune_icache()                  | drop_pagecache()\n |      spin_lock(\u0026inode_lock)        |   drop_pagecache_sb()\n |      inode-\u003ei_state |\u003d I_FREEING;  |       |\n |      spin_unlock(\u0026inode_lock)      |       V\n |          |                         |     spin_lock(\u0026inode_lock)\n |          V                         |         |\n |      dispose_list()                |         |\n |        list_del()                  |         |\n |        clear_inode()               |         |\n |          inode-\u003ei_state \u003d I_CLEAR  |         |\n |            |                       |         V\n |            |                       |      if (inode-\u003ei_state \u0026 (I_FREEING|I_WILL_FREE))\n |            |                       |              continue;           \u003c\u003d\u003d\u003d\u003d NOT MATCH\n |            |                       |\n |            |                       | (DANGER from here on! Accessing disposing inode!)\n |            |                       |\n |            |                       |      __iget()\n |            |                       |        list_move() \u003c\u003d\u003d\u003d\u003d\u003d PANIC on poisoned list !!\n V            V                       |\n(time)\n\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\n\nReported-by: Masayoshi MIZUMA \u003cm.mizuma@jp.fujitsu.com\u003e\nReviewed-by: Jan Kara \u003cjack@suse.cz\u003e\nSigned-off-by: Wu Fengguang \u003cfengguang.wu@intel.com\u003e\nCc: \u003cstable@kernel.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "3ae5080f4c2e293229508dabe7c8a90af4e4c460",
      "tree": "9cb11f26905a82b7fac9d3b8f9d61d58bc5c94b0",
      "parents": [
        "2c9e15a011c55ff96b2b8d2b126d1b9a96abba20",
        "aabb8fdb41128705fd1627f56fdd571e45fdbcdb"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Mar 27 16:23:12 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Mar 27 16:23:12 2009 -0700"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs-2.6\n\n* \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs-2.6: (37 commits)\n  fs: avoid I_NEW inodes\n  Merge code for single and multiple-instance mounts\n  Remove get_init_pts_sb()\n  Move common mknod_ptmx() calls into caller\n  Parse mount options just once and copy them to super block\n  Unroll essentials of do_remount_sb() into devpts\n  vfs: simple_set_mnt() should return void\n  fs: move bdev code out of buffer.c\n  constify dentry_operations: rest\n  constify dentry_operations: configfs\n  constify dentry_operations: sysfs\n  constify dentry_operations: JFS\n  constify dentry_operations: OCFS2\n  constify dentry_operations: GFS2\n  constify dentry_operations: FAT\n  constify dentry_operations: FUSE\n  constify dentry_operations: procfs\n  constify dentry_operations: ecryptfs\n  constify dentry_operations: CIFS\n  constify dentry_operations: AFS\n  ...\n"
    },
    {
      "commit": "2c9e15a011c55ff96b2b8d2b126d1b9a96abba20",
      "tree": "6d9b27a07f88ad4509dcd86aa74a2cdecd0d5f4b",
      "parents": [
        "805de022b100bcf796860fe88d7db4164066d1c3",
        "c16831b4cc9b0805adf8ca3001752a7ec10a17bf"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Mar 27 14:48:34 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Mar 27 14:48:34 2009 -0700"
      },
      "message": "Merge branch \u0027for_linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/jack/linux-quota-2.6\n\n* \u0027for_linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/jack/linux-quota-2.6: (27 commits)\n  ext2: Zero our b_size in ext2_quota_read()\n  trivial: fix typos/grammar errors in fs/Kconfig\n  quota: Coding style fixes\n  quota: Remove superfluous inlines\n  quota: Remove uppercase aliases for quota functions.\n  nfsd: Use lowercase names of quota functions\n  jfs: Use lowercase names of quota functions\n  udf: Use lowercase names of quota functions\n  ufs: Use lowercase names of quota functions\n  reiserfs: Use lowercase names of quota functions\n  ext4: Use lowercase names of quota functions\n  ext3: Use lowercase names of quota functions\n  ext2: Use lowercase names of quota functions\n  ramfs: Remove quota call\n  vfs: Use lowercase names of quota functions\n  quota: Remove dqbuf_t and other cleanups\n  quota: Remove NODQUOT macro\n  quota: Make global quota locks cacheline aligned\n  quota: Move quota files into separate directory\n  ext4: quota reservation for delayed allocation\n  ...\n"
    },
    {
      "commit": "620372a9ffc6f1239a4f379ff145de9e4b5d23ba",
      "tree": "9cbd28499871cf86fd253b1d8a4d62e322b75be6",
      "parents": [
        "268157ba673e2a868c167211e39fcad4ada5fd1e"
      ],
      "author": {
        "name": "Matt LaPlante",
        "email": "kernel1@cyberdogtech.com",
        "time": "Tue Feb 10 14:50:34 2009 +0100"
      },
      "committer": {
        "name": "Jan Kara",
        "email": "jack@suse.cz",
        "time": "Thu Mar 26 02:18:38 2009 +0100"
      },
      "message": "trivial: fix typos/grammar errors in fs/Kconfig\n\nSigned-off-by: Matt LaPlante \u003ckernel1@cyberdogtech.com\u003e\nAcked-by: Randy Dunlap \u003crandy.dunlap@oracle.com\u003e\nSigned-off-by: Jiri Kosina \u003cjkosina@suse.cz\u003e\nSigned-off-by: Jan Kara \u003cjack@suse.cz\u003e\n"
    },
    {
      "commit": "268157ba673e2a868c167211e39fcad4ada5fd1e",
      "tree": "d6747ab0c15cd0f9daf986f6e749a56d062e1e7f",
      "parents": [
        "7a2435d874388271cfe5046d180751352a1d30a2"
      ],
      "author": {
        "name": "Jan Kara",
        "email": "jack@suse.cz",
        "time": "Tue Jan 27 15:47:22 2009 +0100"
      },
      "committer": {
        "name": "Jan Kara",
        "email": "jack@suse.cz",
        "time": "Thu Mar 26 02:18:38 2009 +0100"
      },
      "message": "quota: Coding style fixes\n\nWrap long lines, remove assignments from conditions, rewrite two\novercomplicated for loops.\n\nSigned-off-by: Jan Kara \u003cjack@suse.cz\u003e\n"
    },
    {
      "commit": "7a2435d874388271cfe5046d180751352a1d30a2",
      "tree": "57dbb588ea29976db10246add0b7d7e836d1e6a0",
      "parents": [
        "bf84c82d000b9820b01f516d13d328f354f8a8ee"
      ],
      "author": {
        "name": "Jan Kara",
        "email": "jack@suse.cz",
        "time": "Tue Jan 27 01:47:11 2009 +0100"
      },
      "committer": {
        "name": "Jan Kara",
        "email": "jack@suse.cz",
        "time": "Thu Mar 26 02:18:37 2009 +0100"
      },
      "message": "quota: Remove superfluous inlines\n\nRemove inlines of large functions to decrease code size (saved 1543\nbytes).\n\nSigned-off-by: Jan Kara \u003cjack@suse.cz\u003e\n"
    },
    {
      "commit": "d26ac1a8128f6e1fc467f145acaa9f9bf9e16b75",
      "tree": "8098d9b093ebd16ec92a11774f560f260b0ae386",
      "parents": [
        "dd6f3c6d5a26a282521f15a183fdc2d6f35cfa0f"
      ],
      "author": {
        "name": "Jan Kara",
        "email": "jack@suse.cz",
        "time": "Mon Jan 26 16:17:50 2009 +0100"
      },
      "committer": {
        "name": "Jan Kara",
        "email": "jack@suse.cz",
        "time": "Thu Mar 26 02:18:35 2009 +0100"
      },
      "message": "quota: Remove dqbuf_t and other cleanups\n\nRemove bogus typedef which is just a definition of char *.\nRemove unnecessary type casts.\nSubstitute freedqbuf() with kfree.\n\nSigned-off-by: Jan Kara \u003cjack@suse.cz\u003e\n"
    },
    {
      "commit": "dd6f3c6d5a26a282521f15a183fdc2d6f35cfa0f",
      "tree": "bf10e23743f9399c7c36c0137356df1b14affc3e",
      "parents": [
        "c516610cfec5c50f84ff8cc315628548481f4990"
      ],
      "author": {
        "name": "Jan Kara",
        "email": "jack@suse.cz",
        "time": "Mon Jan 26 16:01:43 2009 +0100"
      },
      "committer": {
        "name": "Jan Kara",
        "email": "jack@suse.cz",
        "time": "Thu Mar 26 02:18:35 2009 +0100"
      },
      "message": "quota: Remove NODQUOT macro\n\nRemove this macro which is just a definition of NULL. Fix a few coding style\nissues along the way.\n\nSigned-off-by: Jan Kara \u003cjack@suse.cz\u003e\n"
    },
    {
      "commit": "c516610cfec5c50f84ff8cc315628548481f4990",
      "tree": "82d1a46721528dfd088a3edcfe5761a4d62fac26",
      "parents": [
        "884d179dff3aa98a73c3ba9dee05fd6050d664f0"
      ],
      "author": {
        "name": "Jan Kara",
        "email": "jack@suse.cz",
        "time": "Mon Jan 26 15:32:46 2009 +0100"
      },
      "committer": {
        "name": "Jan Kara",
        "email": "jack@suse.cz",
        "time": "Thu Mar 26 02:18:35 2009 +0100"
      },
      "message": "quota: Make global quota locks cacheline aligned\n\nAndrew Morton has suggested that three global quota locks can end up in the\nsame cacheline which can result in bad cacheline ping-pong on SMP machines.\nMake locks cacheline aligned so that we avoid this problem (thanks goes to\nAndrew for the idea).\n\nSigned-off-by: Jan Kara \u003cjack@suse.cz\u003e\nCC: Andrew Morton \u003cakpm@linux-foundation.org\u003e\n"
    },
    {
      "commit": "884d179dff3aa98a73c3ba9dee05fd6050d664f0",
      "tree": "68c18e3ff8decd2af861e807bed96cca2dea30d4",
      "parents": [
        "60e58e0f30e723464c2a7d34b71b8675566c572d"
      ],
      "author": {
        "name": "Jan Kara",
        "email": "jack@suse.cz",
        "time": "Mon Jan 26 15:28:09 2009 +0100"
      },
      "committer": {
        "name": "Jan Kara",
        "email": "jack@suse.cz",
        "time": "Thu Mar 26 02:18:35 2009 +0100"
      },
      "message": "quota: Move quota files into separate directory\n\nQuota subsystem has more and more files. It\u0027s time to create a dir for it.\n\nSigned-off-by: Jan Kara \u003cjack@suse.cz\u003e\n"
    }
  ]
}
