)]}'
{
  "log": [
    {
      "commit": "802d31775404ee335ca1e97a82e1e706a4c843be",
      "tree": "3753263ea97748e6c2b01f29fb7f81c19381eb7b",
      "parents": [
        "773bc4f3b6898634a80a41c72a1f34cb89992dcd"
      ],
      "author": {
        "name": "Ryusuke Konishi",
        "email": "konishi.ryusuke@lab.ntt.co.jp",
        "time": "Mon Jul 05 14:27:04 2010 +0900"
      },
      "committer": {
        "name": "Ryusuke Konishi",
        "email": "konishi.ryusuke@lab.ntt.co.jp",
        "time": "Fri Jul 23 10:02:12 2010 +0900"
      },
      "message": "nilfs2: add nodiscard mount option\n\nNilfs has \"discard\" mount option which issues discard/TRIM commands to\nunderlying block device, but it lacks a complementary option and has\nno way to disable the feature through remount.\n\nThis adds \"nodiscard\" option to resolve this imbalance.\n\nSigned-off-by: Ryusuke Konishi \u003ckonishi.ryusuke@lab.ntt.co.jp\u003e\n"
    },
    {
      "commit": "773bc4f3b6898634a80a41c72a1f34cb89992dcd",
      "tree": "ee6f12c0fbfa959a79861904498d04db8d899cc2",
      "parents": [
        "325020477a51ffa849418b3e38189fd266f2ae20"
      ],
      "author": {
        "name": "Ryusuke Konishi",
        "email": "konishi.ryusuke@lab.ntt.co.jp",
        "time": "Mon Jul 05 13:00:08 2010 +0900"
      },
      "committer": {
        "name": "Ryusuke Konishi",
        "email": "konishi.ryusuke@lab.ntt.co.jp",
        "time": "Fri Jul 23 10:02:12 2010 +0900"
      },
      "message": "nilfs2: add barrier mount option\n\nNilfs enables write barriers by default and has \"nobarrier\" mount\noption to disable this feature.  But it lacks the complementary option\nand has no way to re-enable the feature on remount.\n\nThis adds \"barrier\" option to resolve this imbalance.\n\nSigned-off-by: Ryusuke Konishi \u003ckonishi.ryusuke@lab.ntt.co.jp\u003e\n"
    },
    {
      "commit": "1bf7dbfde8fe7ddaa8e2e1b4e0fc41a9fc6aa7a5",
      "tree": "fdb99e686fa40e79cc53f80dfed58e9b548ed4eb",
      "parents": [
        "ad8456361fa19068cf49b50a4f98e41b73c08e76",
        "f9369729496a0f4c607a4cc1ea4dfeddbbfc505a"
      ],
      "author": {
        "name": "Alex Elder",
        "email": "aelder@sgi.com",
        "time": "Fri Jun 04 13:22:30 2010 -0500"
      },
      "committer": {
        "name": "Alex Elder",
        "email": "aelder@sgi.com",
        "time": "Fri Jun 04 13:22:30 2010 -0500"
      },
      "message": "Merge branch \u0027master\u0027 into for-linus\n"
    },
    {
      "commit": "99a4d54620264a614c89597bc5aaab22ec83f89c",
      "tree": "84079064510e337afaee2e5fa5b120fb2650c1a0",
      "parents": [
        "5b257b4a1f9239624c6b5e669763de04e482c2b3"
      ],
      "author": {
        "name": "Christoph Hellwig",
        "email": "hch@infradead.org",
        "time": "Thu Jun 03 16:22:29 2010 +1000"
      },
      "committer": {
        "name": "Dave Chinner",
        "email": "david@fromorbit.com",
        "time": "Thu Jun 03 16:22:29 2010 +1000"
      },
      "message": "xfs: remove done roadmap item from xfs-delayed-logging-design.txt\n\nSigned-off-by: Christoph Hellwig \u003chch@lst.de\u003e\nReviewed-by: Dave Chinner \u003cdchinner@redhat.com\u003e\n\n\n"
    },
    {
      "commit": "7bb46a6734a7e1ad4beaecc11cae7ed3ff81d30f",
      "tree": "e575d9c55e2a6ccc645dcb3ae2564de458b428f2",
      "parents": [
        "7000d3c424e5bb350e502a477fb0e1ed42f8b10e"
      ],
      "author": {
        "name": "npiggin@suse.de",
        "email": "npiggin@suse.de",
        "time": "Thu May 27 01:05:33 2010 +1000"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Thu May 27 22:15:33 2010 -0400"
      },
      "message": "fs: introduce new truncate sequence\n\nIntroduce a new truncate calling sequence into fs/mm subsystems. Rather than\nsetattr \u003e vmtruncate \u003e truncate, have filesystems call their truncate sequence\nfrom -\u003esetattr if filesystem specific operations are required. vmtruncate is\ndeprecated, and truncate_pagecache and inode_newsize_ok helpers introduced\npreviously should be used.\n\nsimple_setattr is introduced for simple in-ram filesystems to implement\nthe new truncate sequence. Eventually all filesystems should be converted\nto implement a setattr, and the default code in notify_change should go\naway.\n\nsimple_setsize is also introduced to perform just the ATTR_SIZE portion\nof simple_setattr (ie. changing i_size and trimming pagecache).\n\nTo implement the new truncate sequence:\n- filesystem specific manipulations (eg freeing blocks) must be done in\n  the setattr method rather than -\u003etruncate.\n- vmtruncate can not be used by core code to trim blocks past i_size in\n  the event of write failure after allocation, so this must be performed\n  in the fs code.\n- convert usage of helpers block_write_begin, nobh_write_begin,\n  cont_write_begin, and *blockdev_direct_IO* to use _newtrunc postfixed\n  variants. These avoid calling vmtruncate to trim blocks (see previous).\n- inode_setattr should not be used. generic_setattr is a new function\n  to be used to copy simple attributes into the generic inode.\n- make use of the better opportunity to handle errors with the new sequence.\n\nBig problem with the previous calling sequence: the filesystem is not called\nuntil i_size has already changed.  This means it is not allowed to fail the\ncall, and also it does not know what the previous i_size was. Also, generic\ncode calling vmtruncate to truncate allocated blocks in case of error had\nno good way to return a meaningful error (or, for example, atomically handle\nblock deallocation).\n\nCc: Christoph Hellwig \u003chch@lst.de\u003e\nAcked-by: Jan Kara \u003cjack@suse.cz\u003e\nSigned-off-by: Nick Piggin \u003cnpiggin@suse.de\u003e\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "7ea8085910ef3dd4f3cad6845aaa2b580d39b115",
      "tree": "d9c1edb5906f943f7d70bfb4b65106e29772d379",
      "parents": [
        "cc967be54710d97c05229b2e5ba2d00df84ddd64"
      ],
      "author": {
        "name": "Christoph Hellwig",
        "email": "hch@lst.de",
        "time": "Wed May 26 17:53:25 2010 +0200"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Thu May 27 22:05:02 2010 -0400"
      },
      "message": "drop unused dentry argument to -\u003efsync\n\nSigned-off-by: Christoph Hellwig \u003chch@lst.de\u003e\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "866707fc2721df8fee637fcf0239628b9231f9ea",
      "tree": "485b1a369c1b879a2dd556e44bd30a23e6bfd87f",
      "parents": [
        "ca572727dbb945e443564029a495157fd2e72995"
      ],
      "author": {
        "name": "Jan Blunck",
        "email": "jblunck@suse.de",
        "time": "Wed May 26 14:44:54 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu May 27 09:12:56 2010 -0700"
      },
      "message": "Documentation/filesystems/Locking: update documentation on llseek() wrt BKL\n\nThe inode\u0027s i_size is not protected by the big kernel lock.  Therefore it\ndoes not make sense to recommend taking the BKL in filesystems llseek\noperations.  Instead it should use the inode\u0027s mutex or use just use\ni_size_read() instead.  Add a note that this is not protecting\nfile-\u003ef_pos.\n\nSigned-off-by: Jan Blunck \u003cjblunck@suse.de\u003e\nAcked-by: Alan Cox \u003calan@lxorguk.ukuu.org.uk\u003e\nCc: Arnd Bergmann \u003carnd@arndb.de\u003e\nCc: Christoph Hellwig \u003chch@infradead.org\u003e\nCc: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nCc: John Kacur \u003cjkacur@redhat.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "63a6440326e4cd01d6a663069208a0e68e9b833f",
      "tree": "ad3fa7a941d3eb59c4f584486cabc60247df9bdf",
      "parents": [
        "f45471cbda9df24f990154a963741c9bd4c0b0aa",
        "899f4530334da9292556e1f8f5791468e0136ff1"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed May 26 08:57:20 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed May 26 08:57:20 2010 -0700"
      },
      "message": "Merge git://git.kernel.org/pub/scm/linux/kernel/git/pkl/squashfs-linus\n\n* git://git.kernel.org/pub/scm/linux/kernel/git/pkl/squashfs-linus:\n  squashfs: update documentation to include description of xattr layout\n  squashfs: fix name reading in squashfs_xattr_get\n  squashfs: constify xattr handlers\n  squashfs: xattr fix sparse warnings\n  squashfs: xattr_lookup sparse fix\n  squashfs: add xattr support configure option\n  squashfs: add new extended inode types\n  squashfs: add support for xattr reading\n  squashfs: add xattr id support\n"
    },
    {
      "commit": "899f4530334da9292556e1f8f5791468e0136ff1",
      "tree": "d4edc8eb5cf308880ecdb51cbdffa5c0f65f84f8",
      "parents": [
        "5c80f5aa409b211ab193c56fb6b77d73b61966e5"
      ],
      "author": {
        "name": "Phillip Lougher",
        "email": "phillip@lougher.demon.co.uk",
        "time": "Tue May 25 02:47:00 2010 +0100"
      },
      "committer": {
        "name": "Phillip Lougher",
        "email": "phillip@lougher.demon.co.uk",
        "time": "Wed May 26 01:12:26 2010 +0100"
      },
      "message": "squashfs: update documentation to include description of xattr layout\n\nSigned-off-by: Phillip Lougher \u003cphillip@lougher.demon.co.uk\u003e\n"
    },
    {
      "commit": "110b93842e36b17598cf24874e90d0401431cda2",
      "tree": "d95591d129ea8ed8d5b8e489e2d5ae68e79586c4",
      "parents": [
        "4961ab934a1254b1ad9420cea0ded617b57f022b",
        "88e88374ee4958786397a57f684de6f1fc5e0242"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue May 25 08:17:01 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue May 25 08:17:01 2010 -0700"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://oss.sgi.com/xfs/xfs\n\n* \u0027for-linus\u0027 of git://oss.sgi.com/xfs/xfs:\n  xfs: Ensure inode allocation buffers are fully replayed\n  xfs: enable background pushing of the CIL\n  xfs: forced unmounts need to push the CIL\n  xfs: Introduce delayed logging core code\n  xfs: Delayed logging design documentation\n  xfs: Improve scalability of busy extent tracking\n  xfs: make the log ticket ID available outside the log infrastructure\n  xfs: clean up log ticket overrun debug output\n  xfs: Clean up XFS_BLI_* flag namespace\n  xfs: modify buffer item reference counting\n  xfs: allow log ticket allocation to take allocation flags\n  xfs: Don\u0027t reuse the same transaction ID for duplicated transactions.\n"
    },
    {
      "commit": "971ada0f6659488c3f36aed4c6f7670ff5ce4368",
      "tree": "41cae3f0baf63eca482e4e17c3081cc6a8a86439",
      "parents": [
        "15d77835ac48dbc2d4884376ea6a08b65b1c40ba"
      ],
      "author": {
        "name": "Lee Schermerhorn",
        "email": "lee.schermerhorn@hp.com",
        "time": "Mon May 24 14:32:05 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue May 25 08:06:57 2010 -0700"
      },
      "message": "mempolicy: document cpuset interaction with tmpfs mpol mount option\n\nUpdate Documentation/filesystems/tmpfs.txt to describe the interaction of\ntmpfs mount option memory policy with tasks\u0027 cpuset mems_allowed.\n\nNote: the mount(8) man page [in the util-linux-ng package] requires\nsimiliar updates.\n\nSigned-off-by: Lee Schermerhorn \u003clee.schermerhorn@hp.com\u003e\nCc: Hugh Dickins \u003chugh.dickins@tiscali.co.uk\u003e\nCc: Ravikiran Thirumalai \u003ckiran@scalex86.org\u003e\nCc: KOSAKI Motohiro \u003ckosaki.motohiro@jp.fujitsu.com\u003e\nCc: Christoph Lameter \u003ccl@linux-foundation.org\u003e\nCc: David Rientjes \u003crientjes@google.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "88e88374ee4958786397a57f684de6f1fc5e0242",
      "tree": "750fe86ece5d65e597223eb07c5ce7cf5b3749a0",
      "parents": [
        "7e125f7b9cbfce4101191b8076d606c517a73066",
        "ccf7c23fc129e75ef60e6f59f60a485b7a056598"
      ],
      "author": {
        "name": "Alex Elder",
        "email": "aelder@sgi.com",
        "time": "Mon May 24 11:57:36 2010 -0500"
      },
      "committer": {
        "name": "Alex Elder",
        "email": "aelder@sgi.com",
        "time": "Mon May 24 11:57:36 2010 -0500"
      },
      "message": "Merge branch \u0027delayed-logging-for-2.6.35\u0027 into for-linus\n"
    },
    {
      "commit": "a9a745daadab26f13884ff26a50fa38247c11ce9",
      "tree": "a68d4b8bf12c9ea405d3a97b0c3015c5de31145f",
      "parents": [
        "ed3b4d6cdc81e8feefdbfa3c584614be301b6d39"
      ],
      "author": {
        "name": "Dave Chinner",
        "email": "dchinner@redhat.com",
        "time": "Fri May 14 21:43:11 2010 +1000"
      },
      "committer": {
        "name": "Alex Elder",
        "email": "aelder@sgi.com",
        "time": "Mon May 24 10:35:39 2010 -0500"
      },
      "message": "xfs: Delayed logging design documentation\n\nDocument the design of the delayed logging implementation. This\nincludes assumptions made, dead ends followed, the reasoning behind\nthe structuring of the code, the layout of various structures, how\nthings fit together, traps and pit-falls avoided, etc. This is all\ntoo much to document in the code itself, so do it in a separate\nfile.\n\nSigned-off-by: Dave Chinner \u003cdchinner@redhat.com\u003e\nSigned-off-by: Alex Elder \u003caelder@sgi.com\u003e\n"
    },
    {
      "commit": "7ce1418f95e918cfc5ad36e3ec3431145c768cd0",
      "tree": "10fd5bf66a5d0cb71cbf0ffb17b354969a7cc4c4",
      "parents": [
        "a6f039869ff87e0a8d621e31d14bbb120c1dfa93",
        "1907131bbeabb33db313bad34f3ec1a5faedbd64"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri May 21 10:50:28 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri May 21 10:50:28 2010 -0700"
      },
      "message": "Merge branch \u0027for_linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/jack/linux-fs-2.6\n\n* \u0027for_linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/jack/linux-fs-2.6: (31 commits)\n  dquot: Detect partial write error to quota file in write_blk() and add printk_ratelimit for quota error messages\n  ocfs2: Fix lock inversion in quotas during umount\n  ocfs2: Use __dquot_transfer to avoid lock inversion\n  ocfs2: Fix NULL pointer deref when writing local dquot\n  ocfs2: Fix estimate of credits needed for quota allocation\n  ocfs2: Fix quota locking\n  ocfs2: Avoid unnecessary block mapping when refreshing quota info\n  ocfs2: Do not map blocks from local quota file on each write\n  quota: Refactor dquot_transfer code so that OCFS2 can pass in its references\n  quota: unify quota init condition in setattr\n  quota: remove sb_has_quota_active in get/set_info\n  quota: unify -\u003eset_dqblk\n  quota: unify -\u003eget_dqblk\n  ext3: make barrier options consistent with ext4\n  quota: Make quota stat accounting lockless.\n  suppress warning: \"quotatypes\" defined but not used\n  ext3: Fix waiting on transaction during fsync\n  jbd: Provide function to check whether transaction will issue data barrier\n  ufs: add ufs speciffic -\u003esetattr call\n  BKL: Remove BKL from ext2 filesystem\n  ...\n"
    },
    {
      "commit": "0636c73ee7b129f77f577aaaefc8dde057be6d18",
      "tree": "6cf9dba3119f9ec6fa346572c8a5bd693828bf45",
      "parents": [
        "dde9588853b1bde542eab247f8838c472806688f"
      ],
      "author": {
        "name": "Eric Sandeen",
        "email": "sandeen@redhat.com",
        "time": "Fri Apr 30 11:09:34 2010 -0500"
      },
      "committer": {
        "name": "Jan Kara",
        "email": "jack@suse.cz",
        "time": "Fri May 21 19:30:41 2010 +0200"
      },
      "message": "ext3: make barrier options consistent with ext4\n\next4 was updated to accept barrier/nobarrier mount options\nin addition to the older barrier\u003d0/1.  The barrier story\nis complex enough, we should help people by making the options\nthe same at least, even if the defaults are different.\n\nThis patch allows the barrier/nobarrier mount options for ext3,\nwhile keeping nobarrier the default.\n\nIt also unconditionally displays barrier status in show_options,\nand prints a message at mount time if barriers are not enabled,\njust as ext4 does.\n\nSigned-off-by: Eric Sandeen \u003csandeen@redhat.com\u003e\nSigned-off-by: Jan Kara \u003cjack@suse.cz\u003e\n"
    },
    {
      "commit": "b9d8b45ee3c5f62cdbd34ee006f3dd2ac51f7018",
      "tree": "9e941a38200988eb7721517fa41322518034114a",
      "parents": [
        "be867b194a3ae3c680c29521287ae49b4d44d420"
      ],
      "author": {
        "name": "Serge E. Hallyn",
        "email": "serue@us.ibm.com",
        "time": "Tue May 04 21:45:38 2010 -0500"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Fri May 21 09:37:31 2010 -0700"
      },
      "message": "sysfs-namespaces: add a high-level Documentation file\n\nThe first three paragraphs are almost verbatim taken from Eric\u0027s\ncommit message on the patch introducing network ns tags.  The next\ntwo paragraphs I wrote to be a brief high level overview.  The last\nsection is taken from the commit message on \"Implement sysfs tagged\ndirectory support\", but updated.  Hopefully correctly.\n\nSigned-off-by: Serge E. Hallyn \u003cserue@us.ibm.com\u003e\nCc: Eric W. Biederman \u003cebiederm@xmission.com\u003e\nCc: Tejun Heo \u003ctj@kernel.org\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "d7dbf4ffee1c7a17e2e5b5f01efe76fbd1671db6",
      "tree": "2f4eda25c0c9eb6de1e573dba92b4d23fc383db5",
      "parents": [
        "677abe49ad017679627af9d3bbd9a7ecb3d94c42",
        "d240e06713007bba309b074a386b7072b73c31a6"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri May 21 07:47:00 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri May 21 07:47:00 2010 -0700"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/ryusuke/nilfs2\n\n* \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/ryusuke/nilfs2: (23 commits)\n  nilfs2: disallow remount of snapshot from/to a regular mount\n  nilfs2: use huge_encode_dev/huge_decode_dev\n  nilfs2: update comment on deactivate_super at nilfs_get_sb\n  nilfs2: replace MS_VERBOSE with MS_SILENT\n  nilfs2: add missing initialization of s_mode\n  nilfs2: fix misuse of open_bdev_exclusive/close_bdev_exclusive\n  nilfs2: enlarge s_volume_name member in nilfs_super_block\n  nilfs2: use checkpoint number instead of timestamp to select super block\n  nilfs2: add missing endian conversion on super block magic number\n  nilfs2: make nilfs_sc_*_ops static\n  nilfs2: add kernel doc comments to persistent object allocator functions\n  nilfs2: change sc_timer from a pointer to an embedded one in struct nilfs_sc_info\n  nilfs2: remove nilfs_segctor_init() in segment.c\n  nilfs2: insert checkpoint number in segment summary header\n  nilfs2: add a print message after loading nilfs2\n  nilfs2: cleanup multi kmem_cache_{create,destroy} code\n  nilfs2: move out checksum routines to segment buffer code\n  nilfs2: move pointer to super root block into logs\n  nilfs2: change default of \u0027errors\u0027 mount option to \u0027remount-ro\u0027 mode\n  nilfs2: Combine nilfs_btree_release_path() and nilfs_btree_free_path()\n  ...\n"
    },
    {
      "commit": "677abe49ad017679627af9d3bbd9a7ecb3d94c42",
      "tree": "7cdb7fbc95b51b288e923a3978e17ed2207a4118",
      "parents": [
        "e90e4d9234c953b29267cc4fc9ad804128773313",
        "6a99be5d7b5973767b1ffa4fa68fed0738589c99"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri May 21 07:29:15 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri May 21 07:29:15 2010 -0700"
      },
      "message": "Merge git://git.kernel.org/pub/scm/linux/kernel/git/steve/gfs2-2.6-nmw\n\n* git://git.kernel.org/pub/scm/linux/kernel/git/steve/gfs2-2.6-nmw:\n  GFS2: Fix typo\n  GFS2: stuck in inode wait, no glocks stuck\n  GFS2: Eliminate useless err variable\n  GFS2: Fix writing to non-page aligned gfs2_quota structures\n  GFS2: Add some useful messages\n  GFS2: fix quota state reporting\n  GFS2: Various gfs2_logd improvements\n  GFS2: glock livelock\n  GFS2: Clean up stuffed file copying\n  GFS2: docs update\n  GFS2: Remove space from slab cache name\n"
    },
    {
      "commit": "03e62303cf56e87337115f14842321043df2b4bb",
      "tree": "3024495955beccddbae347d99613bcdd33801ee4",
      "parents": [
        "33cf23b0a535475aead57707cb9f4fe135a93544",
        "18d3a98f3c1b0e27ce026afa4d1ef042f2903726"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri May 21 07:20:17 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri May 21 07:20:17 2010 -0700"
      },
      "message": "Merge branch \u0027upstream-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/jlbec/ocfs2\n\n* \u0027upstream-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/jlbec/ocfs2: (47 commits)\n  ocfs2: Silence a gcc warning.\n  ocfs2: Don\u0027t retry xattr set in case value extension fails.\n  ocfs2:dlm: avoid dlm-\u003east_lock lockres-\u003espinlock dependency break\n  ocfs2: Reset xattr value size after xa_cleanup_value_truncate().\n  fs/ocfs2/dlm: Use kstrdup\n  fs/ocfs2/dlm: Drop memory allocation cast\n  Ocfs2: Optimize punching-hole code.\n  Ocfs2: Make ocfs2_find_cpos_for_left_leaf() public.\n  Ocfs2: Fix hole punching to correctly do CoW during cluster zeroing.\n  Ocfs2: Optimize ocfs2 truncate to use ocfs2_remove_btree_range() instead.\n  ocfs2: Block signals for mkdir/link/symlink/O_CREAT.\n  ocfs2: Wrap signal blocking in void functions.\n  ocfs2/dlm: Increase o2dlm lockres hash size\n  ocfs2: Make ocfs2_extend_trans() really extend.\n  ocfs2/trivial: Code cleanup for allocation reservation.\n  ocfs2: make ocfs2_adjust_resv_from_alloc simple.\n  ocfs2: Make nointr a default mount option\n  ocfs2/dlm: Make o2dlm domain join/leave messages KERN_NOTICE\n  o2net: log socket state changes\n  ocfs2: print node # when tcp fails\n  ...\n"
    },
    {
      "commit": "f39d01be4c59a61a08d0cb53f615e7016b85d339",
      "tree": "6777590e3ff2ddf4df1d38444ba7d692cd463b7b",
      "parents": [
        "54291263519ac2c9bdda68b23b02fef3808deed4",
        "7db82437cfcac4bdfe79a6323eb554fdfa271623"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu May 20 09:20:59 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu May 20 09:20:59 2010 -0700"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/trivial\n\n* \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/trivial: (44 commits)\n  vlynq: make whole Kconfig-menu dependant on architecture\n  add descriptive comment for TIF_MEMDIE task flag declaration.\n  EEPROM: max6875: Header file cleanup\n  EEPROM: 93cx6: Header file cleanup\n  EEPROM: Header file cleanup\n  agp: use NULL instead of 0 when pointer is needed\n  rtc-v3020: make bitfield unsigned\n  PCI: make bitfield unsigned\n  jbd2: use NULL instead of 0 when pointer is needed\n  cciss: fix shadows sparse warning\n  doc: inode uses a mutex instead of a semaphore.\n  uml: i386: Avoid redefinition of NR_syscalls\n  fix \"seperate\" typos in comments\n  cocbalt_lcdfb: correct sections\n  doc: Change urls for sparse\n  Powerpc: wii: Fix typo in comment\n  i2o: cleanup some exit paths\n  Documentation/: it\u0027s -\u003e its where appropriate\n  UML: Fix compiler warning due to missing task_struct declaration\n  UML: add kernel.h include to signal.c\n  ...\n"
    },
    {
      "commit": "f72caf7e496465182eeda842ac66a5e75404ddf1",
      "tree": "682e2e4b34d6240ea5dbc516d368dd14b21de182",
      "parents": [
        "6a6be470c3071559970c5659354484d4f664050e",
        "e4e83ea47babd9d4bf95a13aed87f8ef51e46472"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed May 19 17:24:54 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed May 19 17:24:54 2010 -0700"
      },
      "message": "Merge branch \u0027for-2.6.35\u0027 of git://linux-nfs.org/~bfields/linux\n\n* \u0027for-2.6.35\u0027 of git://linux-nfs.org/~bfields/linux: (45 commits)\n  Revert \"nfsd4: distinguish expired from stale stateids\"\n  nfsd: safer initialization order in find_file()\n  nfs4: minor callback code simplification, comment\n  NFSD: don\u0027t report compiled-out versions as present\n  nfsd4: implement reclaim_complete\n  nfsd4: nfsd4_destroy_session must set callback client under the state lock\n  nfsd4: keep a reference count on client while in use\n  nfsd4: mark_client_expired\n  nfsd4: introduce nfs4_client.cl_refcount\n  nfsd4: refactor expire_client\n  nfsd4: extend the client_lock to cover cl_lru\n  nfsd4: use list_move in move_to_confirmed\n  nfsd4: fold release_session into expire_client\n  nfsd4: rename sessionid_lock to client_lock\n  nfsd4: fix bare destroy_session null dereference\n  nfsd4: use local variable in nfs4svc_encode_compoundres\n  nfsd: further comment typos\n  sunrpc: centralise most calls to svc_xprt_received\n  nfsd4: fix unlikely race in session replay case\n  nfsd4: fix filehandle comment\n  ...\n"
    },
    {
      "commit": "6e0b7b2c39b91b467270dd0bc383914f99e1fb28",
      "tree": "bdd28cb3ab5653404220d2bd9089203168ef869f",
      "parents": [
        "e4e47eb15b7884963efe7f98231009c5770a2c3d",
        "4308ad801193f14ff42cb746da37cf07e35f0d08"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed May 19 17:09:40 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed May 19 17:09:40 2010 -0700"
      },
      "message": "Merge branch \u0027irq-core-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip\n\n* \u0027irq-core-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:\n  genirq: Clear CPU mask in affinity_hint when none is provided\n  genirq: Add CPU mask affinity hint\n  genirq: Remove IRQF_DISABLED from core code\n  genirq: Run irq handlers with interrupts disabled\n  genirq: Introduce request_any_context_irq()\n  genirq: Expose irq_desc-\u003enode in proc/irq\n\nFixed up trivial conflicts in Documentation/feature-removal-schedule.txt\n"
    },
    {
      "commit": "4dc6ec00f6347b72312fa41dfc587d5302b05544",
      "tree": "fbb00e0c8341561f155a6dcd6fc5f83282c638b0",
      "parents": [
        "ab707e156593ff7fffd615757332dbff6616836a"
      ],
      "author": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Mon Apr 19 15:11:28 2010 -0400"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Thu May 13 12:03:11 2010 -0400"
      },
      "message": "nfsd4: implement reclaim_complete\n\nThis is a mandatory operation.  Also, here (not in open) is where we\nshould be committing the reboot recovery information.\n\nSigned-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\n"
    },
    {
      "commit": "34441427aab4bdb3069a4ffcda69a99357abcb2e",
      "tree": "3beebde910f25b0945e9105017fd743c9e5241a5",
      "parents": [
        "3c904afd7358e9ef515eb5df36b6f25c2b7fc2da"
      ],
      "author": {
        "name": "Robin Holt",
        "email": "holt@sgi.com",
        "time": "Tue May 11 14:06:46 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue May 11 17:33:41 2010 -0700"
      },
      "message": "revert \"procfs: provide stack information for threads\" and its fixup commits\n\nOriginally, commit d899bf7b (\"procfs: provide stack information for\nthreads\") attempted to introduce a new feature for showing where the\nthreadstack was located and how many pages are being utilized by the\nstack.\n\nCommit c44972f1 (\"procfs: disable per-task stack usage on NOMMU\") was\napplied to fix the NO_MMU case.\n\nCommit 89240ba0 (\"x86, fs: Fix x86 procfs stack information for threads on\n64-bit\") was applied to fix a bug in ia32 executables being loaded.\n\nCommit 9ebd4eba7 (\"procfs: fix /proc/\u003cpid\u003e/stat stack pointer for kernel\nthreads\") was applied to fix a bug which had kernel threads printing a\nuserland stack address.\n\nCommit 1306d603f (\u0027proc: partially revert \"procfs: provide stack\ninformation for threads\"\u0027) was then applied to revert the stack pages\nbeing used to solve a significant performance regression.\n\nThis patch nearly undoes the effect of all these patches.\n\nThe reason for reverting these is it provides an unusable value in\nfield 28.  For x86_64, a fork will result in the task-\u003estack_start\nvalue being updated to the current user top of stack and not the stack\nstart address.  This unpredictability of the stack_start value makes\nit worthless.  That includes the intended use of showing how much stack\nspace a thread has.\n\nOther architectures will get different values.  As an example, ia64\ngets 0.  The do_fork() and copy_process() functions appear to treat the\nstack_start and stack_size parameters as architecture specific.\n\nI only partially reverted c44972f1 (\"procfs: disable per-task stack usage\non NOMMU\") .  If I had completely reverted it, I would have had to change\nmm/Makefile only build pagewalk.o when CONFIG_PROC_PAGE_MONITOR is\nconfigured.  Since I could not test the builds without significant effort,\nI decided to not change mm/Makefile.\n\nI only partially reverted 89240ba0 (\"x86, fs: Fix x86 procfs stack\ninformation for threads on 64-bit\") .  I left the KSTK_ESP() change in\nplace as that seemed worthwhile.\n\nSigned-off-by: Robin Holt \u003cholt@sgi.com\u003e\nCc: Stefani Seibold \u003cstefani@seibold.net\u003e\nCc: KOSAKI Motohiro \u003ckosaki.motohiro@jp.fujitsu.com\u003e\nCc: Michal Simek \u003cmonstr@monstr.eu\u003e\nCc: Ingo Molnar \u003cmingo@elte.hu\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": "ca0dbd86b12be9af7cda230890eb741d5cb8b624",
      "tree": "007bb05cf7032e81e97da4e704641aa15103e2f8",
      "parents": [
        "ce60d4d5d50a5454768faa522da98aa5f8070bd0"
      ],
      "author": {
        "name": "Thadeu Lima de Souza Cascardo",
        "email": "cascardo@holoscopio.com",
        "time": "Fri May 07 16:52:26 2010 -0300"
      },
      "committer": {
        "name": "Jiri Kosina",
        "email": "jkosina@suse.cz",
        "time": "Mon May 10 23:42:27 2010 +0200"
      },
      "message": "doc: inode uses a mutex instead of a semaphore.\n\nReplace the introduced i_sem by an i_mutex in the filesystem locking\ndocumentation. This was introduced [1] after all occurrences were\nalready replaced in the same text [2]. However, the term \"inode\nsemaphore\" has not been replaced then, and it\u0027s replaced now.\n\n[1] afddba49d18f346e5cc2938b6ed7c512db18ca68\n[2] a7bc02f4f47fd0e7860c6589f0ad000d1476f7a3\n\nSigned-off-by: Thadeu Lima de Souza Cascardo \u003ccascardo@holoscopio.com\u003e\nCc: Nick Piggin \u003cnpiggin@suse.de\u003e\nCc: Artem Bityutskiy \u003cArtem.Bityutskiy@nokia.com\u003e\nCc: Randy Dunlap \u003crdunlap@xenotime.net\u003e\nCc: Christoph Hellwig \u003chch@lst.de\u003e\nCc: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\nSigned-off-by: Jiri Kosina \u003cjkosina@suse.cz\u003e\n"
    },
    {
      "commit": "a8cd4561ea176f51e9f4707873ca4eff8fd5ee70",
      "tree": "82f4f90f732fcc06480073bf494bab503fc24d62",
      "parents": [
        "7d7fb0e6eb78600e5d4fb0f28858e97d38ef6bbf"
      ],
      "author": {
        "name": "Anand Gadiyar",
        "email": "gadiyar@ti.com",
        "time": "Mon May 10 14:51:19 2010 +0530"
      },
      "committer": {
        "name": "Jiri Kosina",
        "email": "jkosina@suse.cz",
        "time": "Mon May 10 11:56:30 2010 +0200"
      },
      "message": "fix \"seperate\" typos in comments\n\ns/seperate/separate\n\nSigned-off-by: Anand Gadiyar \u003cgadiyar@ti.com\u003e\nSigned-off-by: Jiri Kosina \u003cjkosina@suse.cz\u003e\n"
    },
    {
      "commit": "277a6a34175dcb0ee98dceee619e0e3190347a25",
      "tree": "bda68b681972c608b78de87f5e856a649f2a04e7",
      "parents": [
        "73bb48869b14fd5094b9ec173a2bf86bc0e464d4"
      ],
      "author": {
        "name": "Ryusuke Konishi",
        "email": "konishi.ryusuke@lab.ntt.co.jp",
        "time": "Fri Apr 02 18:02:33 2010 +0900"
      },
      "committer": {
        "name": "Ryusuke Konishi",
        "email": "konishi.ryusuke@lab.ntt.co.jp",
        "time": "Mon May 10 11:32:30 2010 +0900"
      },
      "message": "nilfs2: change default of \u0027errors\u0027 mount option to \u0027remount-ro\u0027 mode\n\nLike ext3, nilfs has \u0027errors\u0027 mount option to allow specifying desired\nbehavior on severe errors.\n\nCurrently, the default action is \u0027errors\u003dcontinue\u0027 and has potential\nto advance filesystem corruption for severe errors.\n\nThis will change the action to \u0027errors\u003dremount-ro\u0027 to avoid the issue.\n\nSigned-off-by: Ryusuke Konishi \u003ckonishi.ryusuke@lab.ntt.co.jp\u003e\n"
    },
    {
      "commit": "83f92318fa33cc084e14e64dc903e605f75884c1",
      "tree": "c7466c64019fb050c69cab27b4388e3a86d58b1a",
      "parents": [
        "b07f8f24dfe54da0f074b78949044842e8df881f"
      ],
      "author": {
        "name": "Mark Fasheh",
        "email": "mfasheh@suse.com",
        "time": "Mon Apr 05 18:17:16 2010 -0700"
      },
      "committer": {
        "name": "Joel Becker",
        "email": "joel.becker@oracle.com",
        "time": "Wed May 05 18:18:07 2010 -0700"
      },
      "message": "ocfs2: Add dir_resv_level mount option\n\nThe default behavior for directory reservations stays the same, but we add a\nmount option so people can tweak the size of directory reservations\naccording to their workloads.\n\nSigned-off-by: Mark Fasheh \u003cmfasheh@suse.com\u003e\nSigned-off-by: Joel Becker \u003cjoel.becker@oracle.com\u003e\n"
    },
    {
      "commit": "b07f8f24dfe54da0f074b78949044842e8df881f",
      "tree": "8cc24b0a1e02a9b7f1241fbfecca50ac6881b938",
      "parents": [
        "6b82021b9e91cd689fdffadbcdb9a42597bbe764"
      ],
      "author": {
        "name": "Mark Fasheh",
        "email": "mfasheh@suse.com",
        "time": "Mon Apr 05 18:17:15 2010 -0700"
      },
      "committer": {
        "name": "Joel Becker",
        "email": "joel.becker@oracle.com",
        "time": "Wed May 05 18:18:07 2010 -0700"
      },
      "message": "ocfs2: change default reservation window sizes\n\nThe default reservation size of 4 (32-bit windows) is a bit too ambitious.\nScale it back to 16 bits (resv_level\u003d2). I have been testing various sizes\non a 4-node cluster which runs a mixed workload that is heavily threaded.\nWith a 256MB local alloc, I get *roughly* the following levels of average file\nfragmentation:\n\nresv_level\u003d0\t70%\nresv_level\u003d1\t21%\nresv_level\u003d2\t23%\nresv_level\u003d3\t24%\nresv_level\u003d4\t60%\nresv_level\u003d5\tdid not test\nresv_level\u003d6\t60%\n\nresv_level\u003d2 seemed like a good compromise between not letting windows be\ntoo small, but not so big that heavier workloads will immediately suffer\nwithout tuning.\n\nThis patch also change the behavior of directory reservations - they now\ntrack file reservations.  The previous compromise of giving directory\nwindows only 8 bits wound up fragmenting more at some window sizes because\nfile allocations had smaller unused windows to poach from.\n\nSigned-off-by: Mark Fasheh \u003cmfasheh@suse.com\u003e\nSigned-off-by: Joel Becker \u003cjoel.becker@oracle.com\u003e\n"
    },
    {
      "commit": "d02f00cc057809d96c044cc72d5b9809d59f7d49",
      "tree": "44a6d81ecf9fb4b5aa91c0501a8da2ee36890a38",
      "parents": [
        "ec20cec7a351584ca6c70ead012e73d61f9a8e04"
      ],
      "author": {
        "name": "Mark Fasheh",
        "email": "mfasheh@suse.com",
        "time": "Mon Dec 07 13:10:48 2009 -0800"
      },
      "committer": {
        "name": "Joel Becker",
        "email": "joel.becker@oracle.com",
        "time": "Wed May 05 18:17:30 2010 -0700"
      },
      "message": "ocfs2: allocation reservations\n\nThis patch improves Ocfs2 allocation policy by allowing an inode to\nreserve a portion of the local alloc bitmap for itself. The reserved\nportion (allocation window) is advisory in that other allocation\nwindows might steal it if the local alloc bitmap becomes\nfull. Otherwise, the reservations are honored and guaranteed to be\nfree. When the local alloc window is moved to a different portion of\nthe bitmap, existing reservations are discarded.\n\nReservation windows are represented internally by a red-black\ntree. Within that tree, each node represents the reservation window of\none inode. An LRU of active reservations is also maintained. When new\ndata is written, we allocate it from the inodes window. When all bits\nin a window are exhausted, we allocate a new one as close to the\nprevious one as possible. Should we not find free space, an existing\nreservation is pulled off the LRU and cannibalized.\n\nSigned-off-by: Mark Fasheh \u003cmfasheh@suse.com\u003e\n"
    },
    {
      "commit": "a33f32244d8550da8b4a26e277ce07d5c6d158b5",
      "tree": "2b24b891e48ae791446fef6d1b9e520190c03c62",
      "parents": [
        "6c9468e9eb1252eaefd94ce7f06e1be9b0b641b1"
      ],
      "author": {
        "name": "Francis Galiegue",
        "email": "fgaliegue@gmail.com",
        "time": "Fri Apr 23 00:08:02 2010 +0200"
      },
      "committer": {
        "name": "Jiri Kosina",
        "email": "jkosina@suse.cz",
        "time": "Fri Apr 23 02:09:52 2010 +0200"
      },
      "message": "Documentation/: it\u0027s -\u003e its where appropriate\n\nFix obvious cases of \"it\u0027s\" being used when \"its\" was meant.\n\nSigned-off-by: Francis Galiegue \u003cfgaliegue@gmail.com\u003e\nAcked-by: Randy Dunlap \u003crdunlap@xenotime.net\u003e\nSigned-off-by: Jiri Kosina \u003cjkosina@suse.cz\u003e\n"
    },
    {
      "commit": "6c9468e9eb1252eaefd94ce7f06e1be9b0b641b1",
      "tree": "797676a336b050bfa1ef879377c07e541b9075d6",
      "parents": [
        "4cb3ca7cd7e2cae8d1daf5345ec99a1e8502cf3f",
        "c81eddb0e3728661d1585fbc564449c94165cc36"
      ],
      "author": {
        "name": "Jiri Kosina",
        "email": "jkosina@suse.cz",
        "time": "Fri Apr 23 02:08:44 2010 +0200"
      },
      "committer": {
        "name": "Jiri Kosina",
        "email": "jkosina@suse.cz",
        "time": "Fri Apr 23 02:08:44 2010 +0200"
      },
      "message": "Merge branch \u0027master\u0027 into for-next\n"
    },
    {
      "commit": "7c7145f6acc68100dbdc5d3c5c64fe3af1c99c89",
      "tree": "5e93e3eb4787229032f1df222fa490112f4b0c32",
      "parents": [
        "92d6b71ab906be706f3679353b30a8d2c3831144",
        "0d0fb0f9c5fddef4a10242fe3337f00f528a3099"
      ],
      "author": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Tue Apr 13 14:12:17 2010 +0200"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Tue Apr 13 14:12:17 2010 +0200"
      },
      "message": "Merge branch \u0027linus\u0027 into irq/core\n\nReason: Get the upstream IRQF_DISABLED related changes.\n\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n"
    },
    {
      "commit": "9208d24253e5e644f8cb1b87b69de44897668303",
      "tree": "130092938941e26f32428497ce9335dcebeb367d",
      "parents": [
        "476ada0436351672fbf482db54cb94b8ba877709"
      ],
      "author": {
        "name": "Sripathi Kodi",
        "email": "sripathik@in.ibm.com",
        "time": "Thu Mar 18 08:01:33 2010 +0000"
      },
      "committer": {
        "name": "Eric Van Hensbergen",
        "email": "ericvh@gmail.com",
        "time": "Mon Apr 05 10:37:36 2010 -0500"
      },
      "message": "9p: documentation update\n\nThis patch adds documentation for new 9P options introduced in\n2.6.34.\n\nSigned-off-by: Sripathi Kodi \u003csripathik@in.ibm.com\u003e\nSigned-off-by: Eric Van Hensbergen \u003cericvh@gmail.com\u003e\n"
    },
    {
      "commit": "9f321603724be7386ea39ea41fd885954db60a4a",
      "tree": "efd64c26c2fb2698ecd95c2f10dc1016b45ba4a4",
      "parents": [
        "9d54e2c0b0a03b0f05fc4f988323c858ec9d7740",
        "82593f87b6c1922a8f8317bb165c6c7794fa4639"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Mar 29 14:42:25 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Mar 29 14:42:25 2010 -0700"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/sage/ceph-client\n\n* \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/sage/ceph-client: (28 commits)\n  ceph: update discussion list address in MAINTAINERS\n  ceph: some documentations fixes\n  ceph: fix use after free on mds __unregister_request\n  ceph: avoid loaded term \u0027OSD\u0027 in documention\n  ceph: fix possible double-free of mds request reference\n  ceph: fix session check on mds reply\n  ceph: handle kmalloc() failure\n  ceph: propagate mds session allocation failures to caller\n  ceph: make write_begin wait propagate ERESTARTSYS\n  ceph: fix snap rebuild condition\n  ceph: avoid reopening osd connections when address hasn\u0027t changed\n  ceph: rename r_sent_stamp r_stamp\n  ceph: fix connection fault con_work reentrancy problem\n  ceph: prevent dup stale messages to console for restarting mds\n  ceph: fix pg pool decoding from incremental osdmap update\n  ceph: fix mds sync() race with completing requests\n  ceph: only release unused caps with mds requests\n  ceph: clean up handle_cap_grant, handle_caps wrt session mutex\n  ceph: fix session locking in handle_caps, ceph_check_caps\n  ceph: drop unnecessary WARN_ON in caps migration\n  ...\n"
    },
    {
      "commit": "8136b58dd0fce0b4cb649ac690e0493fb6fdacdb",
      "tree": "7872de6b64028e7b10d6688baea9834523a4b974",
      "parents": [
        "94aa8ae13db2ecf2ec1b4e65a65d3fe92b468e0e"
      ],
      "author": {
        "name": "Cheng Renquan",
        "email": "crquan@gmail.com",
        "time": "Mon Mar 29 19:05:57 2010 +0800"
      },
      "committer": {
        "name": "Sage Weil",
        "email": "sage@newdream.net",
        "time": "Mon Mar 29 09:52:11 2010 -0700"
      },
      "message": "ceph: some documentations fixes\n\nNew documentation should have an entry in the 00-INDEX.  Correct git\nurls.\n\nSigned-off-by: Cheng Renquan \u003ccrquan@gmail.com\u003e\nSigned-off-by: Sage Weil \u003csage@newdream.net\u003e\n"
    },
    {
      "commit": "4cb947b59c5835783fb96aad2f7d92b1e4250aff",
      "tree": "0a3b180a0074e3ed92af499d2c4f578cd7710151",
      "parents": [
        "7c9a84a57b57978f0ea0d2dc16394d75a781e6a5"
      ],
      "author": {
        "name": "Andrea Gelmini",
        "email": "andrea.gelmini@gelma.net",
        "time": "Thu Mar 25 11:04:49 2010 +0100"
      },
      "committer": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Mon Mar 29 14:28:52 2010 +0100"
      },
      "message": "GFS2: docs update\n\nNow http://sources.redhat.com/cluster/ is redirected to\nhttp://sources.redhat.com/cluster/wiki/\n\nAlso fixed tabs in the end.\n\nSigned-off-by: Andrea Gelmini \u003candrea.gelmini@gelma.net\u003e\nSigned-off-by: Steven Whitehouse \u003cswhiteho@redhat.com\u003e\n"
    },
    {
      "commit": "5574169613b40b85d6f4c67208fa4846b897a0a1",
      "tree": "050644509a39366d77fb03fc20efce19103cbefe",
      "parents": [
        "926f2ae04f183098cf9a30521776fb2759c8afeb"
      ],
      "author": {
        "name": "KOSAKI Motohiro",
        "email": "kosaki.motohiro@jp.fujitsu.com",
        "time": "Tue Mar 23 13:35:33 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Mar 24 16:31:21 2010 -0700"
      },
      "message": "doc: add the documentation for mpol\u003dlocal\n\ncommit 3f226aa1c (mempolicy: support mpol\u003dlocal tmpfs mount option) added\nnew mpol\u003dlocal mount option.  but it didn\u0027t add a documentation.\n\nThis patch does it.\n\nSigned-off-by: KOSAKI Motohiro \u003ckosaki.motohiro@jp.fujitsu.com\u003e\nCc: Ravikiran Thirumalai \u003ckiran@scalex86.org\u003e\nCc: Christoph Lameter \u003ccl@linux-foundation.org\u003e\nCc: Mel Gorman \u003cmel@csn.ul.ie\u003e\nAcked-by: Lee Schermerhorn \u003clee.schermerhorn@hp.com\u003e\nCc: Hugh Dickins \u003chugh.dickins@tiscali.co.uk\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": "92d6b71ab906be706f3679353b30a8d2c3831144",
      "tree": "2b82cc7f065f947f4a6430e0de3bc63a4870907d",
      "parents": [
        "220bf991b0366cc50a94feede3d7341fa5710ee4"
      ],
      "author": {
        "name": "Dimitri Sivanich",
        "email": "sivanich@sgi.com",
        "time": "Thu Mar 11 14:08:56 2010 -0800"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Wed Mar 24 14:10:03 2010 +0100"
      },
      "message": "genirq: Expose irq_desc-\u003enode in proc/irq\n\nExpose irq_desc-\u003enode as /proc/irq/*/node.\n\nThis file provides device hardware locality information for apps\ndesiring to include hardware locality in irq mapping decisions.\n\nSigned-off-by: Dimitri Sivanich \u003csivanich@sgi.com\u003e\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n"
    },
    {
      "commit": "23ab15ad7a9d042afa7303b735b6e24faa607241",
      "tree": "6bdcad5aa5761593cb7a2ace957cd9a162a4b247",
      "parents": [
        "393f66209669ad23f4f6d4191234c1df4367df3c"
      ],
      "author": {
        "name": "Sage Weil",
        "email": "sage@newdream.net",
        "time": "Mon Mar 22 09:37:14 2010 -0700"
      },
      "committer": {
        "name": "Sage Weil",
        "email": "sage@newdream.net",
        "time": "Tue Mar 23 07:47:07 2010 -0700"
      },
      "message": "ceph: avoid loaded term \u0027OSD\u0027 in documention\n\n\u0027OSD\u0027 means different things to different people; avoid it here to avoid\nconfusion.\n\nSigned-off-by: Sage Weil \u003csage@newdream.net\u003e\n"
    },
    {
      "commit": "fc7f99cf36ebae853639dabb43bc2f0098c59aef",
      "tree": "3ca7050397f515f91ef98f8b6293f9f7fd84ef02",
      "parents": [
        "0a492fdef8aa241f6139e6455e852cc710ae8ed1",
        "f1a3d57213fe264b4cf584e78bac36aaf9998729"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Mar 19 09:43:06 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Mar 19 09:43:06 2010 -0700"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/sage/ceph-client\n\n* \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/sage/ceph-client: (205 commits)\n  ceph: update for write_inode API change\n  ceph: reset osd after relevant messages timed out\n  ceph: fix flush_dirty_caps race with caps migration\n  ceph: include migrating caps in issued set\n  ceph: fix osdmap decoding when pools include (removed) snaps\n  ceph: return EBADF if waiting for caps on closed file\n  ceph: set osd request message front length correctly\n  ceph: reset front len on return to msgpool; BUG on mismatched front iov\n  ceph: fix snaptrace decoding on cap migration between mds\n  ceph: use single osd op reply msg\n  ceph: reset bits on connection close\n  ceph: remove bogus mds forward warning\n  ceph: remove fragile __map_osds optimization\n  ceph: fix connection fault STANDBY check\n  ceph: invalidate_authorizer without con-\u003emutex held\n  ceph: don\u0027t clobber write return value when using O_SYNC\n  ceph: fix client_request_forward decoding\n  ceph: drop messages on unregistered mds sessions; cleanup\n  ceph: fix comments, locking in destroy_inode\n  ceph: move dereference after NULL test\n  ...\n\nFix trivial conflicts in Documentation/ioctl/ioctl-number.txt\n"
    },
    {
      "commit": "32e688b8c1afafa389223a4813b97e8c128a1636",
      "tree": "d93f4d6009e03fb00ad94ef49090ce95b34f5426",
      "parents": [
        "31a2d31dbd01a7d530a748e6f708ba047c37fb90"
      ],
      "author": {
        "name": "Rob Landley",
        "email": "rob@landley.net",
        "time": "Mon Mar 15 15:21:31 2010 +0100"
      },
      "committer": {
        "name": "Jiri Kosina",
        "email": "jkosina@suse.cz",
        "time": "Mon Mar 15 15:21:31 2010 +0100"
      },
      "message": "Documentation/filesystems/proc.txt typo fix.\n\nTypo fix for a filename in procfs documentation.\n\nSigned-off-by: Rob Landley \u003crob@landley.net\u003e\nSigned-off-by: Jiri Kosina \u003cjkosina@suse.cz\u003e\n"
    },
    {
      "commit": "c32da02342b7521df25fefc2ef20aee0e61cf887",
      "tree": "7e38f664fa3e13602c357d37f77d8adcf82fccc2",
      "parents": [
        "dca1d9f6d7ae428c193f32bd3e9a4ca13176648b",
        "318ae2edc3b29216abd8a2510f3f80b764f06858"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Mar 12 16:04:50 2010 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Mar 12 16:04:50 2010 -0800"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/trivial\n\n* \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/trivial: (56 commits)\n  doc: fix typo in comment explaining rb_tree usage\n  Remove fs/ntfs/ChangeLog\n  doc: fix console doc typo\n  doc: cpuset: Update the cpuset flag file\n  Fix of spelling in arch/sparc/kernel/leon_kernel.c no longer needed\n  Remove drivers/parport/ChangeLog\n  Remove drivers/char/ChangeLog\n  doc: typo - Table 1-2 should refer to \"status\", not \"statm\"\n  tree-wide: fix typos \"ass?o[sc]iac?te\" -\u003e \"associate\" in comments\n  No need to patch AMD-provided drivers/gpu/drm/radeon/atombios.h\n  devres/irq: Fix devm_irq_match comment\n  Remove reference to kthread_create_on_cpu\n  tree-wide: Assorted spelling fixes\n  tree-wide: fix \u0027lenght\u0027 typo in comments and code\n  drm/kms: fix spelling in error message\n  doc: capitalization and other minor fixes in pnp doc\n  devres: typo fix s/dev/devm/\n  Remove redundant trailing semicolons from macros\n  fix typo \"definetly\" -\u003e \"definitely\" in comment\n  tree-wide: s/widht/width/g typo in comments\n  ...\n\nFix trivial conflict in Documentation/laptops/00-INDEX\n"
    },
    {
      "commit": "1e0051ae48a253685e4309256f9c1ec2bdb74b5d",
      "tree": "15d1d284fb91bb9b6683991402186c681c118d81",
      "parents": [
        "d49129accc21ddb2e779d375dacafb612b1bd28d"
      ],
      "author": {
        "name": "Randy Dunlap",
        "email": "randy.dunlap@oracle.com",
        "time": "Wed Mar 10 15:21:57 2010 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Mar 12 15:52:35 2010 -0800"
      },
      "message": "Documentation/fs/: split txt and source files\n\nMake dnotify_test.c source file and add it to Makefile so that\nbitrot can be prevented.\n\nSigned-off-by: Randy Dunlap \u003crandy.dunlap@oracle.com\u003e\nCc: Stephen Rothwell \u003csfr@canb.auug.org.au\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "318ae2edc3b29216abd8a2510f3f80b764f06858",
      "tree": "ce595adde342f57f379d277b25e4dd206988a052",
      "parents": [
        "25cf84cf377c0aae5dbcf937ea89bc7893db5176",
        "3e58974027b04e84f68b964ef368a6cd758e2f84"
      ],
      "author": {
        "name": "Jiri Kosina",
        "email": "jkosina@suse.cz",
        "time": "Mon Mar 08 16:55:37 2010 +0100"
      },
      "committer": {
        "name": "Jiri Kosina",
        "email": "jkosina@suse.cz",
        "time": "Mon Mar 08 16:55:37 2010 +0100"
      },
      "message": "Merge branch \u0027for-next\u0027 into for-linus\n\nConflicts:\n\tDocumentation/filesystems/proc.txt\n\tarch/arm/mach-u300/include/mach/debug-macro.S\n\tdrivers/net/qlge/qlge_ethtool.c\n\tdrivers/net/qlge/qlge_main.c\n\tdrivers/net/typhoon.c\n"
    },
    {
      "commit": "66b89159c25a47d2177743526c61b5ada7acc39e",
      "tree": "b092b859ca01d7544a666c95f940144b0ef3b35b",
      "parents": [
        "87c7ae06cc50bcbcdcc60d64a959ca0b9b71f892",
        "c2f843f03d658e9ab2a1a455f2c1851fd6a869af"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Mar 06 13:18:03 2010 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Mar 06 13:18:03 2010 -0800"
      },
      "message": "Merge git://git.kernel.org/pub/scm/linux/kernel/git/joern/logfs\n\n* git://git.kernel.org/pub/scm/linux/kernel/git/joern/logfs:\n  [LogFS] Change magic number\n  [LogFS] Remove h_version field\n  [LogFS] Check feature flags\n  [LogFS] Only write journal if dirty\n  [LogFS] Fix bdev erases\n  [LogFS] Silence gcc\n  [LogFS] Prevent 64bit divisions in hash_index\n  [LogFS] Plug memory leak on error paths\n  [LogFS] Add MAINTAINERS entry\n  [LogFS] add new flash file system\n\nFixed up trivial conflict in lib/Kconfig, and a semantic conflict in\nfs/logfs/inode.c introduced by write_inode() being changed to use\nwriteback_control\u0027 by commit a9185b41a4f84971b930c519f0c63bd450c4810d\n(\"pass writeback_control to -\u003ewrite_inode\")\n"
    },
    {
      "commit": "05c5cb31ec47cacf38db56d9efaa37ca9d473132",
      "tree": "03f900679819abd8700d5ea93c22e3a59d3af7ca",
      "parents": [
        "4582a30c2fdca5d2b40f63a20ea082b93230ff2b",
        "4ea41e2de5bba756858bb40f964e3490b6d1a25c"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Mar 06 11:31:38 2010 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Mar 06 11:31:38 2010 -0800"
      },
      "message": "Merge branch \u0027for-2.6.34\u0027 of git://linux-nfs.org/~bfields/linux\n\n* \u0027for-2.6.34\u0027 of git://linux-nfs.org/~bfields/linux: (22 commits)\n  nfsd4: fix minor memory leak\n  svcrpc: treat uid\u0027s as unsigned\n  nfsd: ensure sockets are closed on error\n  Revert \"sunrpc: move the close processing after do recvfrom method\"\n  Revert \"sunrpc: fix peername failed on closed listener\"\n  sunrpc: remove unnecessary svc_xprt_put\n  NFSD: NFSv4 callback client should use RPC_TASK_SOFTCONN\n  xfs_export_operations.commit_metadata\n  commit_metadata export operation replacing nfsd_sync_dir\n  lockd: don\u0027t clear sm_monitored on nsm_reboot_lookup\n  lockd: release reference to nsm_handle in nlm_host_rebooted\n  nfsd: Use vfs_fsync_range() in nfsd_commit\n  NFSD: Create PF_INET6 listener in write_ports\n  SUNRPC: NFS kernel APIs shouldn\u0027t return ENOENT for \"transport not found\"\n  SUNRPC: Bury \"#ifdef IPV6\" in svc_create_xprt()\n  NFSD: Support AF_INET6 in svc_addsock() function\n  SUNRPC: Use rpc_pton() in ip_map_parse()\n  nfsd: 4.1 has an rfc number\n  nfsd41: Create the recovery entry for the NFSv4.1 client\n  nfsd: use vfs_fsync for non-directories\n  ...\n"
    },
    {
      "commit": "a1b57ac061b0e348c9a878f8fa3a93a67fe6af42",
      "tree": "8e904d9f3c3aae08f0bc8128eef81078653f611d",
      "parents": [
        "72f0ba0252e7177965255ed2c663be126b6b5f91"
      ],
      "author": {
        "name": "Mel Gorman",
        "email": "mel@csn.ul.ie",
        "time": "Fri Mar 05 13:42:15 2010 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Mar 06 11:26:26 2010 -0800"
      },
      "message": "mm: document /proc/pagetypeinfo\n\nAdd documentation for /proc/pagetypeinfo.\n\nSigned-off-by: Mel Gorman \u003cmel@csn.ul.ie\u003e\nReviewed-by: Christoph Lameter \u003ccl@linux-foundation.org\u003e\nReviewed-by: KOSAKI Motohiro \u003ckosaki.motohiro@jp.fujitsu.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "b084d4353ff99d824d3bc5a5c2c22c70b1fba722",
      "tree": "8178db2b337fc8a36e6ca2e1fc2e7d7473957e27",
      "parents": [
        "34e55232e59f7b19050267a05ff1226e5cd122a5"
      ],
      "author": {
        "name": "KAMEZAWA Hiroyuki",
        "email": "kamezawa.hiroyu@jp.fujitsu.com",
        "time": "Fri Mar 05 13:41:42 2010 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Mar 06 11:26:24 2010 -0800"
      },
      "message": "mm: count swap usage\n\nA frequent questions from users about memory management is what numbers of\nswap ents are user for processes.  And this information will give some\nhints to oom-killer.\n\nBesides we can count the number of swapents per a process by scanning\n/proc/\u003cpid\u003e/smaps, this is very slow and not good for usual process\ninformation handler which works like \u0027ps\u0027 or \u0027top\u0027.  (ps or top is now\nenough slow..)\n\nThis patch adds a counter of swapents to mm_counter and update is at each\nswap events.  Information is exported via /proc/\u003cpid\u003e/status file as\n\n[kamezawa@bluextal memory]$ cat /proc/self/status\nName:   cat\nState:  R (running)\nTgid:   2910\nPid:    2910\nPPid:   2823\nTracerPid:      0\nUid:    500     500     500     500\nGid:    500     500     500     500\nFDSize: 256\nGroups: 500\nVmPeak:    82696 kB\nVmSize:    82696 kB\nVmLck:         0 kB\nVmHWM:       432 kB\nVmRSS:       432 kB\nVmData:      172 kB\nVmStk:        84 kB\nVmExe:        48 kB\nVmLib:      1568 kB\nVmPTE:        40 kB\nVmSwap:        0 kB \u003c\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d this.\n\n[akpm@linux-foundation.org: coding-style fixes]\nSigned-off-by: KAMEZAWA Hiroyuki \u003ckamezawa.hiroyu@jp.fujitsu.com\u003e\nReviewed-by: Minchan Kim \u003cminchan.kim@gmail.com\u003e\nReviewed-by: Christoph Lameter \u003ccl@linux-foundation.org\u003e\nCc: Lee Schermerhorn \u003clee.schermerhorn@hp.com\u003e\nCc: David Rientjes \u003crientjes@google.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "34e55232e59f7b19050267a05ff1226e5cd122a5",
      "tree": "6b94e776e87d2a2fe1ceca7c5606901575323900",
      "parents": [
        "d559db086ff5be9bcc259e5aa50bf3d881eaf1d1"
      ],
      "author": {
        "name": "KAMEZAWA Hiroyuki",
        "email": "kamezawa.hiroyu@jp.fujitsu.com",
        "time": "Fri Mar 05 13:41:40 2010 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Mar 06 11:26:24 2010 -0800"
      },
      "message": "mm: avoid false sharing of mm_counter\n\nConsidering the nature of per mm stats, it\u0027s the shared object among\nthreads and can be a cache-miss point in the page fault path.\n\nThis patch adds per-thread cache for mm_counter.  RSS value will be\ncounted into a struct in task_struct and synchronized with mm\u0027s one at\nevents.\n\nNow, in this patch, the event is the number of calls to handle_mm_fault.\nPer-thread value is added to mm at each 64 calls.\n\n rough estimation with small benchmark on parallel thread (2threads) shows\n [before]\n     4.5 cache-miss/faults\n [after]\n     4.0 cache-miss/faults\n Anyway, the most contended object is mmap_sem if the number of threads grows.\n\n[akpm@linux-foundation.org: coding-style fixes]\nSigned-off-by: KAMEZAWA Hiroyuki \u003ckamezawa.hiroyu@jp.fujitsu.com\u003e\nCc: Minchan Kim \u003cminchan.kim@gmail.com\u003e\nCc: Christoph Lameter \u003ccl@linux-foundation.org\u003e\nCc: Lee Schermerhorn \u003clee.schermerhorn@hp.com\u003e\nCc: David Rientjes \u003crientjes@google.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "e213e26ab3988c516c06eba4dcd030ac052f6dc9",
      "tree": "6e26fbdbb842b387697d73daf6e70cf718269a77",
      "parents": [
        "c812a51d11bbe983f4c24e32b59b265705ddd3c2",
        "efd8f0e6f6c1faa041f228d7113bd3a9db802d49"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Mar 05 13:20:53 2010 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Mar 05 13:20:53 2010 -0800"
      },
      "message": "Merge branch \u0027for_linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/jack/linux-fs-2.6\n\n* \u0027for_linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/jack/linux-fs-2.6: (33 commits)\n  quota: stop using QUOTA_OK / NO_QUOTA\n  dquot: cleanup dquot initialize routine\n  dquot: move dquot initialization responsibility into the filesystem\n  dquot: cleanup dquot drop routine\n  dquot: move dquot drop responsibility into the filesystem\n  dquot: cleanup dquot transfer routine\n  dquot: move dquot transfer responsibility into the filesystem\n  dquot: cleanup inode allocation / freeing routines\n  dquot: cleanup space allocation / freeing routines\n  ext3: add writepage sanity checks\n  ext3: Truncate allocated blocks if direct IO write fails to update i_size\n  quota: Properly invalidate caches even for filesystems with blocksize \u003c pagesize\n  quota: generalize quota transfer interface\n  quota: sb_quota state flags cleanup\n  jbd: Delay discarding buffers in journal_unmap_buffer\n  ext3: quota_write cross block boundary behaviour\n  quota: drop permission checks from xfs_fs_set_xstate/xfs_fs_set_xquota\n  quota: split out compat_sys_quotactl support from quota.c\n  quota: split out netlink notification support from quota.c\n  quota: remove invalid optimization from quota_sync_all\n  ...\n\nFixed trivial conflicts in fs/namei.c and fs/ufs/inode.c\n"
    },
    {
      "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": "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": "0f2cc4ecd81dc1917a041dc93db0ada28f8356fa",
      "tree": "f128b50f48f50f0cda6d2b20b53e9ad6e2dfded3",
      "parents": [
        "1fae4cfb97302289bb5df6a8195eb28385d0b002",
        "9643f5d94aadd47a5fa9754fb60f2c957de05903"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Mar 04 08:15:33 2010 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Mar 04 08:15:33 2010 -0800"
      },
      "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: (52 commits)\n  init: Open /dev/console from rootfs\n  mqueue: fix typo \"failues\" -\u003e \"failures\"\n  mqueue: only set error codes if they are really necessary\n  mqueue: simplify do_open() error handling\n  mqueue: apply mathematics distributivity on mq_bytes calculation\n  mqueue: remove unneeded info-\u003emessages initialization\n  mqueue: fix mq_open() file descriptor leak on user-space processes\n  fix race in d_splice_alias()\n  set S_DEAD on unlink() and non-directory rename() victims\n  vfs: add NOFOLLOW flag to umount(2)\n  get rid of -\u003emnt_parent in tomoyo/realpath\n  hppfs can use existing proc_mnt, no need for do_kern_mount() in there\n  Mirror MS_KERNMOUNT in -\u003emnt_flags\n  get rid of useless vfsmount_lock use in put_mnt_ns()\n  Take vfsmount_lock to fs/internal.h\n  get rid of insanity with namespace roots in tomoyo\n  take check for new events in namespace (guts of mounts_poll()) to namespace.c\n  Don\u0027t mess with generic_permission() under -\u003ed_lock in hpfs\n  sanitize const/signedness for udf\n  nilfs: sanitize const/signedness in dealing with -\u003ed_name.name\n  ...\n\nFix up fairly trivial (famous last words...) conflicts in\ndrivers/infiniband/core/uverbs_main.c and security/tomoyo/realpath.c\n"
    },
    {
      "commit": "2f99cc6e4688faf5f03f9afe5e1c6097278c75b2",
      "tree": "274933c56de5b24be3830f6faef6ca6d279a4ab9",
      "parents": [
        "796a6b521d0eadb338adf8cf7e482351c3a8a7b4"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Sat Jan 16 14:10:21 2010 -0500"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Wed Mar 03 13:00:23 2010 -0500"
      },
      "message": "add several pieces to shared subtree documentation\n\n* document locking\n* add the missing part of data structure invariants (relationship\nbetween mnt_share and mnt_slave lists in case of a peer group\namong slaves).\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "feaf77d51a6e2e95f60c8095ac7282e610ede798",
      "tree": "77f446c0ac5d58eeb725975a1b579eda22f1f2e5",
      "parents": [
        "eca281aad0c293e7698edea5834c252dd8108afa",
        "0d561f12b490dd2b993d73112d3297007688e6df"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Mar 03 08:53:49 2010 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Mar 03 08:53:49 2010 -0800"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/ryusuke/nilfs2\n\n* \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/ryusuke/nilfs2:\n  nilfs2: add reader\u0027s lock for cno in nilfs_ioctl_sync\n  nilfs2: delete unnecessary condition in load_segment_summary\n  nilfs2: move iterator to write log into segment buffer\n  nilfs2: get rid of s_dirt flag use\n  nilfs2: get rid of nilfs_segctor_req struct\n  nilfs2: delete unnecessary condition in nilfs_dat_translate\n  nilfs2: fix potential hang in nilfs_error on errors\u003dremount-ro\n  nilfs2: use mnt_want_write in ioctls where write access is needed\n  nilfs2: issue discard request after cleaning segments\n"
    },
    {
      "commit": "cb2992a60b7e73fbabe9ffe54056eed0022f2ed2",
      "tree": "05796ba32714bf81868e376576aa1f7731b6ef30",
      "parents": [
        "dfff0615d28bdb3e8d213e5537dd069265912667"
      ],
      "author": {
        "name": "Mulyadi Santosa",
        "email": "mulyadi.santosa@gmail.com",
        "time": "Thu Feb 18 01:22:40 2010 +0700"
      },
      "committer": {
        "name": "Jiri Kosina",
        "email": "jkosina@suse.cz",
        "time": "Thu Feb 18 00:43:50 2010 +0100"
      },
      "message": "doc: typo - Table 1-2 should refer to \"status\", not \"statm\"\n\nFixes a typo in proc.txt documentation. Table 1-2 should refer to\n\"status\", not \"statm\"\n\nSigned-off-by: Mulyadi Santosa \u003cmulyadi.santosa@gmail.com\u003e\nSigned-off-by: Jiri Kosina \u003cjkosina@suse.cz\u003e\n"
    },
    {
      "commit": "e902ec9906e844f4613fa6190c6fa65f162dc86e",
      "tree": "ee0ea829ae04a30fb01c119f050a3967304e55ba",
      "parents": [
        "724e6d3fe8003c3f60bf404bf22e4e331327c596"
      ],
      "author": {
        "name": "Jiro SEKIBA",
        "email": "jir@unicus.jp",
        "time": "Sat Jan 30 18:06:35 2010 +0900"
      },
      "committer": {
        "name": "Ryusuke Konishi",
        "email": "konishi.ryusuke@lab.ntt.co.jp",
        "time": "Sat Feb 13 12:26:02 2010 +0900"
      },
      "message": "nilfs2: issue discard request after cleaning segments\n\nThis adds a function to send discard requests for given array of\nsegment numbers, and calls the function when garbage collection\nsucceeded.\n\nSigned-off-by: Jiro SEKIBA \u003cjir@unicus.jp\u003e\nSigned-off-by: Ryusuke Konishi \u003ckonishi.ryusuke@lab.ntt.co.jp\u003e\n"
    },
    {
      "commit": "73834d6f90f6833663f9effd4cf9b79b63bc36e1",
      "tree": "5043072b24fd8ebf585fcde617a47dc46e16e5b8",
      "parents": [
        "8b8aae4009349397fffe7bd38a8fa200c9a5bcad"
      ],
      "author": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Wed Jan 20 17:17:04 2010 -0500"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Wed Jan 20 17:17:04 2010 -0500"
      },
      "message": "nfsd: 4.1 has an rfc number\n\nNo need to refer to an internet draft; there\u0027s an RFC now.\n\nSigned-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\n"
    },
    {
      "commit": "4c54005ca438a8b46dd542b497d4f0dc2ca375e8",
      "tree": "4274fb9dcbd94480b93fecefcf83969db53461ba",
      "parents": [
        "b6407e863934965cdc66cbc244d811ceeb6f4d77"
      ],
      "author": {
        "name": "Paul E. McKenney",
        "email": "paulmck@linux.vnet.ibm.com",
        "time": "Thu Jan 14 16:10:57 2010 -0800"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Sat Jan 16 10:25:22 2010 +0100"
      },
      "message": "rcu: 1Q2010 update for RCU documentation\n\nAdd expedited functions.  Review documentation and update\nobsolete verbiage.  Also fix the advice for the RCU CPU-stall\nkernel configuration parameter, and document RCU CPU-stall\nwarnings.\n\nSigned-off-by: Paul E. McKenney \u003cpaulmck@linux.vnet.ibm.com\u003e\nCc: laijs@cn.fujitsu.com\nCc: dipankar@in.ibm.com\nCc: mathieu.desnoyers@polymtl.ca\nCc: josh@joshtriplett.org\nCc: dvhltc@us.ibm.com\nCc: niv@us.ibm.com\nCc: peterz@infradead.org\nCc: rostedt@goodmis.org\nCc: Valdis.Kletnieks@vt.edu\nCc: dhowells@redhat.com\nLKML-Reference: \u003c12635142581866-git-send-email-\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "1306d603fcf1f6682f8575d1ff23631a24184b21",
      "tree": "8e2278cfabf874cb16bf03bd182ae75b87055741",
      "parents": [
        "f146aabfe921006b98dfa4a78506763aedfd3206"
      ],
      "author": {
        "name": "KOSAKI Motohiro",
        "email": "kosaki.motohiro@jp.fujitsu.com",
        "time": "Fri Jan 08 14:42:56 2010 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Jan 11 09:34:06 2010 -0800"
      },
      "message": "proc: partially revert \"procfs: provide stack information for threads\"\n\nCommit d899bf7b (procfs: provide stack information for threads) introduced\nto show stack information in /proc/{pid}/status.  But it cause large\nperformance regression.  Unfortunately /proc/{pid}/status is used ps\ncommand too and ps is one of most important component.  Because both to\ntake mmap_sem and page table walk are heavily operation.\n\nIf many process run, the ps performance is,\n\n[before d899bf7b]\n\n% perf stat ps \u003e/dev/null\n\n Performance counter stats for \u0027ps\u0027:\n\n     4090.435806  task-clock-msecs         #      0.032 CPUs\n             229  context-switches         #      0.000 M/sec\n               0  CPU-migrations           #      0.000 M/sec\n             234  page-faults              #      0.000 M/sec\n      8587565207  cycles                   #   2099.425 M/sec\n      9866662403  instructions             #      1.149 IPC\n      3789415411  cache-references         #    926.409 M/sec\n        30419509  cache-misses             #      7.437 M/sec\n\n   128.859521955  seconds time elapsed\n\n[after d899bf7b]\n\n% perf stat  ps  \u003e /dev/null\n\n Performance counter stats for \u0027ps\u0027:\n\n     4305.081146  task-clock-msecs         #      0.028 CPUs\n             480  context-switches         #      0.000 M/sec\n               2  CPU-migrations           #      0.000 M/sec\n             237  page-faults              #      0.000 M/sec\n      9021211334  cycles                   #   2095.480 M/sec\n     10605887536  instructions             #      1.176 IPC\n      3612650999  cache-references         #    839.160 M/sec\n        23917502  cache-misses             #      5.556 M/sec\n\n   152.277819582  seconds time elapsed\n\nThus, this patch revert it. Fortunately /proc/{pid}/task/{tid}/smaps\nprovide almost same information. we can use it.\n\nCommit d899bf7b introduced two features:\n\n 1) Add the annotattion of [thread stack: xxxx] mark to\n    /proc/{pid}/task/{tid}/maps.\n 2) Add StackUsage field to /proc/{pid}/status.\n\nI only revert (2), because I haven\u0027t seen (1) cause regression.\n\nSigned-off-by: KOSAKI Motohiro \u003ckosaki.motohiro@jp.fujitsu.com\u003e\nCc: Stefani Seibold \u003cstefani@seibold.net\u003e\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Alexey Dobriyan \u003cadobriyan@gmail.com\u003e\nCc: \"Eric W. Biederman\" \u003cebiederm@xmission.com\u003e\nCc: Randy Dunlap \u003crandy.dunlap@oracle.com\u003e\nCc: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nCc: Andi Kleen \u003candi@firstfloor.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "a87da40875f5510866a699b72818cce09b0b9040",
      "tree": "bc8d18944263c8c0c76103072951c75ce77867da",
      "parents": [
        "45d28b097280a78893ce25a5d0db41e6a2717853",
        "6aff43f817ddc54fcd6f0215bfba5d334b0bbbbd"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Jan 04 12:28:26 2010 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Jan 04 12:28:26 2010 -0800"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/ryusuke/nilfs2\n\n* \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/ryusuke/nilfs2:\n  nilfs2: update mailing list address\n  nilfs2: Storage class should be before const qualifier\n  nilfs2: trivial coding style fix\n"
    },
    {
      "commit": "6aff43f817ddc54fcd6f0215bfba5d334b0bbbbd",
      "tree": "a18c2c69c5a9c17c835f35aaca63d16e4d012947",
      "parents": [
        "33e189bd5754dead3ece130da8e62f470f526f36"
      ],
      "author": {
        "name": "Ryusuke Konishi",
        "email": "konishi.ryusuke@lab.ntt.co.jp",
        "time": "Sat Jan 02 21:41:53 2010 +0900"
      },
      "committer": {
        "name": "Ryusuke Konishi",
        "email": "konishi.ryusuke@lab.ntt.co.jp",
        "time": "Sat Jan 02 21:47:04 2010 +0900"
      },
      "message": "nilfs2: update mailing list address\n\nThis replaces the list address for nilfs discussion to linux-nilfs at\nvger.kernel.org from users at nilfs.org.\n\nSigned-off-by: Ryusuke Konishi \u003ckonishi.ryusuke@lab.ntt.co.jp\u003e\n"
    },
    {
      "commit": "6d3b82f2d31f22085e5711b28dddcb9fb3d97a25",
      "tree": "50a3325a3ff81e3583e8a3c6203b8945afc06ff3",
      "parents": [
        "3ebfdf885acedafcadceb4007e77438479094135"
      ],
      "author": {
        "name": "Fang Wenqi",
        "email": "anton.fang@gmail.com",
        "time": "Thu Dec 24 17:51:42 2009 -0500"
      },
      "committer": {
        "name": "Theodore Ts\u0027o",
        "email": "tytso@mit.edu",
        "time": "Thu Dec 24 17:51:42 2009 -0500"
      },
      "message": "ext4: Update documentation to correct the inode_readahead_blks option name\n\nPer commit 240799cd, the option name for readahead should be\ninode_readahead_blks, not inode_readahead.\n\nSigned-off-by: Fang Wenqi \u003cantonf@turbolinux.com.cn\u003e\nSigned-off-by: \"Theodore Ts\u0027o\" \u003ctytso@mit.edu\u003e\n"
    },
    {
      "commit": "099c2f21d8cf0724b85abb2c589d6276953781b7",
      "tree": "7f84a98f4b3658871408794a59d04995d5ced254",
      "parents": [
        "66ecb92be9eb579df93add22d19843e7869f168e"
      ],
      "author": {
        "name": "Phil Carmody",
        "email": "ext-phil.2.carmody@nokia.com",
        "time": "Fri Dec 18 15:34:21 2009 +0200"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Wed Dec 23 11:23:43 2009 -0800"
      },
      "message": "Driver core: driver_attribute parameters can often be const*\n\nMany struct driver_attribute descriptors are purely read-only\nstructures, and there\u0027s no need to change them. Therefore make\nthe promise not to, which will let those descriptors be put in\na ro section.\n\nSigned-off-by: Phil Carmody \u003cext-phil.2.carmody@nokia.com\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "26579ab70aa0e0ea434e6e100279d2f67c094431",
      "tree": "1c9dfd6ed6209ecee088e3e6b600ebd7fba24acc",
      "parents": [
        "8e9b9362266dd16255473c080d846b13e27247bf"
      ],
      "author": {
        "name": "Phil Carmody",
        "email": "ext-phil.2.carmody@nokia.com",
        "time": "Fri Dec 18 15:34:19 2009 +0200"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Wed Dec 23 11:23:43 2009 -0800"
      },
      "message": "Driver core: device_attribute parameters can often be const*\n\nMost device_attributes are const, and are begging to be\nput in a ro section. However, the create and remove\nfile interfaces were failing to propagate the const promise\nwhich the only functions they call offer.\n\nSigned-off-by: Phil Carmody \u003cext-phil.2.carmody@nokia.com\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "37c24b37fb2454e95136139d10bb6828967105bf",
      "tree": "d5c3fa61fa689567caeb2a7cb5891473e444ff7d",
      "parents": [
        "5ac4d630eb87656bd4dc313b910776d54d88ea28",
        "7663dacd926584093dfc350892792054692b6cb3"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Dec 16 10:43:34 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Dec 16 10:43:34 2009 -0800"
      },
      "message": "Merge branch \u0027for-2.6.33\u0027 of git://linux-nfs.org/~bfields/linux\n\n* \u0027for-2.6.33\u0027 of git://linux-nfs.org/~bfields/linux: (42 commits)\n  nfsd: remove pointless paths in file headers\n  nfsd: move most of nfsfh.h to fs/nfsd\n  nfsd: remove unused field rq_reffh\n  nfsd: enable V4ROOT exports\n  nfsd: make V4ROOT exports read-only\n  nfsd: restrict filehandles accepted in V4ROOT case\n  nfsd: allow exports of symlinks\n  nfsd: filter readdir results in V4ROOT case\n  nfsd: filter lookup results in V4ROOT case\n  nfsd4: don\u0027t continue \"under\" mounts in V4ROOT case\n  nfsd: introduce export flag for v4 pseudoroot\n  nfsd: let \"insecure\" flag vary by pseudoflavor\n  nfsd: new interface to advertise export features\n  nfsd: Move private headers to source directory\n  vfs: nfsctl.c un-used nfsd #includes\n  lockd: Remove un-used nfsd headers #includes\n  s390: remove un-used nfsd #includes\n  sparc: remove un-used nfsd #includes\n  parsic: remove un-used nfsd #includes\n  compat.c: Remove dependence on nfsd private headers\n  ...\n"
    },
    {
      "commit": "6be4b78993498c253e99b12c4d0f7684a36955e2",
      "tree": "0ae9cc80b96a825b1723d427c250d16edf52deeb",
      "parents": [
        "82c1e49ccb28534b4e8b77d5f0ff553f19912d4d"
      ],
      "author": {
        "name": "Alexey Dobriyan",
        "email": "adobriyan@gmail.com",
        "time": "Tue Dec 15 16:47:00 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Dec 16 07:20:07 2009 -0800"
      },
      "message": "seq_file: use proc_create() in documentation\n\nUsing create_proc_entry() + -\u003eproc_fops assignment is racy because\n-\u003eproc_fops will be NULL for some time, use proc_create() to avoid race.\n\nSigned-off-by: Alexey Dobriyan \u003cadobriyan@gmail.com\u003e\nCc: Randy Dunlap \u003crandy.dunlap@oracle.com\u003e\nCc: Jonathan Corbet \u003ccorbet@lwn.net\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "4614a696bd1c3a9af3a08f0e5874830a85b889d4",
      "tree": "0b363d89ce612ab8557d49ab8b0f49b8520ffa66",
      "parents": [
        "7e1e0ef22c9ba9f797d7c4448feee722584bba5c"
      ],
      "author": {
        "name": "john stultz",
        "email": "johnstul@us.ibm.com",
        "time": "Mon Dec 14 18:00:05 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Dec 15 08:53:24 2009 -0800"
      },
      "message": "procfs: allow threads to rename siblings via /proc/pid/tasks/tid/comm\n\nSetting a thread\u0027s comm to be something unique is a very useful ability\nand is helpful for debugging complicated threaded applications.  However\ncurrently the only way to set a thread name is for the thread to name\nitself via the PR_SET_NAME prctl.\n\nHowever, there may be situations where it would be advantageous for a\nthread dispatcher to be naming the threads its managing, rather then\nhaving the threads self-describe themselves.  This sort of behavior is\navailable on other systems via the pthread_setname_np() interface.\n\nThis patch exports a task\u0027s comm via proc/pid/comm and\nproc/pid/task/tid/comm interfaces, and allows thread siblings to write to\nthese values.\n\n[akpm@linux-foundation.org: cleanups]\nSigned-off-by: John Stultz \u003cjohnstul@us.ibm.com\u003e\nCc: Andi Kleen \u003candi@firstfloor.org\u003e\nCc: Arjan van de Ven \u003carjan@infradead.org\u003e\nCc: Mike Fulton \u003cfultonm@ca.ibm.com\u003e\nCc: Sean Foley \u003cSean_Foley@ca.ibm.com\u003e\nCc: Darren Hart \u003cdvhltc@us.ibm.com\u003e\nCc: KOSAKI Motohiro \u003ckosaki.motohiro@jp.fujitsu.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "3126c136bc30225d7a43af741778aa50e95e467a",
      "tree": "71e6f0de6e1f4cde200dd632da4d2f61180289bf",
      "parents": [
        "f4d544ee5720d336a8c64f9fd33efb888c302309",
        "8e0eb4011bd73d5f91b215b532f74eef478ef795"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Dec 11 15:31:13 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Dec 11 15:31:13 2009 -0800"
      },
      "message": "Merge branch \u0027for_linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/jack/linux-fs-2.6\n\n* \u0027for_linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/jack/linux-fs-2.6: (21 commits)\n  ext3: PTR_ERR return of wrong pointer in setup_new_group_blocks()\n  ext3: Fix data / filesystem corruption when write fails to copy data\n  ext4: Support for 64-bit quota format\n  ext3: Support for vfsv1 quota format\n  quota: Implement quota format with 64-bit space and inode limits\n  quota: Move definition of QFMT_OCFS2 to linux/quota.h\n  ext2: fix comment in ext2_find_entry about return values\n  ext3: Unify log messages in ext3\n  ext2: clear uptodate flag on super block I/O error\n  ext2: Unify log messages in ext2\n  ext3: make \"norecovery\" an alias for \"noload\"\n  ext3: Don\u0027t update the superblock in ext3_statfs()\n  ext3: journal all modifications in ext3_xattr_set_handle\n  ext2: Explicitly assign values to on-disk enum of filetypes\n  quota: Fix WARN_ON in lookup_one_len\n  const: struct quota_format_ops\n  ubifs: remove manual O_SYNC handling\n  afs: remove manual O_SYNC handling\n  kill wait_on_page_writeback_range\n  vfs: Implement proper O_SYNC semantics\n  ...\n"
    },
    {
      "commit": "4e2ccdb0409146f8cf64a11b6ef82a9c928ced2a",
      "tree": "986896cc558ae23017e79ab08eb55b25c3a54549",
      "parents": [
        "3ef884b4c04e857c283cc77ca70ad8f638d94b0e",
        "a694291a6211537189c6080f77f63cdabfc9b63e"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Dec 11 11:49:18 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Dec 11 11:49:18 2009 -0800"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/ryusuke/nilfs2\n\n* \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/ryusuke/nilfs2: (49 commits)\n  nilfs2: separate wait function from nilfs_segctor_write\n  nilfs2: add iterator for segment buffers\n  nilfs2: hide nilfs_write_info struct in segment buffer code\n  nilfs2: relocate io status variables to segment buffer\n  nilfs2: do not return io error for bio allocation failure\n  nilfs2: use list_splice_tail or list_splice_tail_init\n  nilfs2: replace mark_inode_dirty as nilfs_mark_inode_dirty\n  nilfs2: delete mark_inode_dirty in nilfs_delete_entry\n  nilfs2: delete mark_inode_dirty in nilfs_commit_chunk\n  nilfs2: change return type of nilfs_commit_chunk\n  nilfs2: split nilfs_unlink as nilfs_do_unlink and nilfs_unlink\n  nilfs2: delete redundant mark_inode_dirty\n  nilfs2: expand inode_inc_link_count and inode_dec_link_count\n  nilfs2: delete mark_inode_dirty from nilfs_set_link\n  nilfs2: delete mark_inode_dirty in nilfs_new_inode\n  nilfs2: add norecovery mount option\n  nilfs2: add helper to get if volume is in a valid state\n  nilfs2: move recovery completion into load_nilfs function\n  nilfs2: apply readahead for recovery on mount\n  nilfs2: clean up get/put function of a segment usage\n  ...\n"
    },
    {
      "commit": "4515c3069da5bfb6f08dbfca499464b4cbdfcb50",
      "tree": "0f067045a0e31f126aebcf3087028639ceb237b4",
      "parents": [
        "a5eba3f66f812cbc076a1170b3f888ad63f850b2",
        "fab3a549e204172236779f502eccb4f9bf0dc87d"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Dec 10 09:33:29 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Dec 10 09:33:29 2009 -0800"
      },
      "message": "Merge branch \u0027for_linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tytso/ext4\n\n* \u0027for_linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tytso/ext4: (47 commits)\n  ext4: Fix potential fiemap deadlock (mmap_sem vs. i_data_sem)\n  ext4: Do not override ext2 or ext3 if built they are built as modules\n  jbd2: Export jbd2_log_start_commit to fix ext4 build\n  ext4: Fix insufficient checks in EXT4_IOC_MOVE_EXT\n  ext4: Wait for proper transaction commit on fsync\n  ext4: fix incorrect block reservation on quota transfer.\n  ext4: quota macros cleanup\n  ext4: ext4_get_reserved_space() must return bytes instead of blocks\n  ext4: remove blocks from inode prealloc list on failure\n  ext4: wait for log to commit when umounting\n  ext4: Avoid data / filesystem corruption when write fails to copy data\n  ext4: Use ext4 file system driver for ext2/ext3 file system mounts\n  ext4: Return the PTR_ERR of the correct pointer in setup_new_group_blocks()\n  jbd2: Add ENOMEM checking in and for jbd2_journal_write_metadata_buffer()\n  ext4: remove unused parameter wbc from __ext4_journalled_writepage()\n  ext4: remove encountered_congestion trace\n  ext4: move_extent_per_page() cleanup\n  ext4: initialize moved_len before calling ext4_move_extents()\n  ext4: Fix double-free of blocks with EXT4_IOC_MOVE_EXT\n  ext4: use ext4_data_block_valid() in ext4_free_blocks()\n  ...\n"
    },
    {
      "commit": "dee1d3b6270a7cf5cc65c493a2ab4ebaad1a1caf",
      "tree": "c8de16452f9a70e96456bc4bfdfdf1b4f9e3c404",
      "parents": [
        "b918397542388de75bd86c32fbfa820e5d629fa9"
      ],
      "author": {
        "name": "Eric Sandeen",
        "email": "sandeen@redhat.com",
        "time": "Mon Nov 16 16:50:49 2009 -0600"
      },
      "committer": {
        "name": "Jan Kara",
        "email": "jack@suse.cz",
        "time": "Thu Dec 10 15:02:52 2009 +0100"
      },
      "message": "ext3: make \"norecovery\" an alias for \"noload\"\n\nUsers on the list recently complained about differences across\nfilesystems w.r.t. how to mount without a journal replay.\n\nIn the discussion it was noted that xfs\u0027s \"norecovery\" option is\nperhaps more descriptively accurate than \"noload,\" so let\u0027s make\nthat an alias for ext3.\n\nAlso show this status in /proc/mounts\n\nSigned-off-by: Eric Sandeen \u003csandeen@redhat.com\u003e\nSigned-off-by: Jan Kara \u003cjack@suse.cz\u003e\n"
    },
    {
      "commit": "94004ed726f38a841cc51f97c4a3f9eda9fbd0d9",
      "tree": "786689e9fc9e686a5b54c1a1b1efcbb7d043b5ab",
      "parents": [
        "6b2f3d1f769be5779b479c37800229d9a4809fc3"
      ],
      "author": {
        "name": "Christoph Hellwig",
        "email": "hch@lst.de",
        "time": "Wed Sep 30 22:16:33 2009 +0200"
      },
      "committer": {
        "name": "Jan Kara",
        "email": "jack@suse.cz",
        "time": "Thu Dec 10 15:02:50 2009 +0100"
      },
      "message": "kill wait_on_page_writeback_range\n\nAll callers really want the more logical filemap_fdatawait_range interface,\nso convert them to use it and merge wait_on_page_writeback_range into\nfilemap_fdatawait_range.\n\nSigned-off-by: Christoph Hellwig \u003chch@lst.de\u003e\nSigned-off-by: Jan Kara \u003cjack@suse.cz\u003e\n"
    },
    {
      "commit": "9f249162fbf1aea1335e13c57fd5355d00e07a47",
      "tree": "c85f66f94b7d63658316998ac87243690c256ec8",
      "parents": [
        "3067e02f8f3ae2f3f02ba76400d03b8bcb4942b0"
      ],
      "author": {
        "name": "Thadeu Lima de Souza Cascardo",
        "email": "cascardo@holoscopio.com",
        "time": "Mon Jul 27 13:26:32 2009 -0300"
      },
      "committer": {
        "name": "Boaz Harrosh",
        "email": "bharrosh@panasas.com",
        "time": "Thu Dec 10 09:59:16 2009 +0200"
      },
      "message": "trivial: some small fixes in exofs documentation\n\nAdd exofs.txt to filesystems Documentation index and fix some typos,\nidentation and grammar.\n\nSigned-off-by: Thadeu Lima de Souza Cascardo \u003ccascardo@holoscopio.com\u003e\nSigned-off-by: Boaz Harrosh \u003cbharrosh@panasas.com\u003e\n"
    },
    {
      "commit": "e3cc2226e99cfadbf300dde892c4a16d742a0856",
      "tree": "88eb2361112f7147d11ccc04e3a511edd7a51078",
      "parents": [
        "bfc9dcabd513334c1d888ab66f7b7d84a3159571"
      ],
      "author": {
        "name": "Luis Garces-Erice",
        "email": "lge@ieee.org",
        "time": "Sun Dec 06 18:30:44 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Dec 09 18:59:52 2009 -0800"
      },
      "message": "Doc: better explanation of procs_running\n\nthe description in Documentation/filesystems/proc.txt of the\nprocs_running entry in /proc/stat is confusing (according to that\ndescription, it looks as if procs_running could only be a number\nbetween 0 and the number of CPUs).\n\nChanged it to a more accurate description in the patch attached.\n\nSigned-off-by: Randy Dunlap \u003crandy.dunlap@oracle.com\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "897e81bea1fcfcd2c5cdb720c9efdb25da9ff374",
      "tree": "92cf33ed2c35c1ece633f09365702f1c8e24d415",
      "parents": [
        "c3fa27d1367fac63ac8533d6f20ea851d0d70a10",
        "0cf55e1ec08bb5a22e068309e2d8ba1180ab4239"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Dec 05 15:30:49 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Dec 05 15:30:49 2009 -0800"
      },
      "message": "Merge branch \u0027sched-core-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip\n\n* \u0027sched-core-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip: (35 commits)\n  sched, cputime: Introduce thread_group_times()\n  sched, cputime: Cleanups related to task_times()\n  Revert \"sched, x86: Optimize branch hint in __switch_to()\"\n  sched: Fix isolcpus boot option\n  sched: Revert 498657a478c60be092208422fefa9c7b248729c2\n  sched, time: Define nsecs_to_jiffies()\n  sched: Remove task_{u,s,g}time()\n  sched: Introduce task_times() to replace task_{u,s}time() pair\n  sched: Limit the number of scheduler debug messages\n  sched.c: Call debug_show_all_locks() when dumping all tasks\n  sched, x86: Optimize branch hint in __switch_to()\n  sched: Optimize branch hint in context_switch()\n  sched: Optimize branch hint in pick_next_task_fair()\n  sched_feat_write(): Update ppos instead of file-\u003ef_pos\n  sched: Sched_rt_periodic_timer vs cpu hotplug\n  sched, kvm: Fix race condition involving sched_in_preempt_notifers\n  sched: More generic WAKE_AFFINE vs select_idle_sibling()\n  sched: Cleanup select_task_rq_fair()\n  sched: Fix granularity of task_u/stime()\n  sched: Fix/add missing update_rq_clock() calls\n  ...\n"
    },
    {
      "commit": "6e80133f7f247f313da1638af4ce30f2bac303cc",
      "tree": "318afcc1c1c434135849cef50e3d89be505ad011",
      "parents": [
        "e3a41d7b99e7f97d9a50bec2a8f4eb237ce1d504",
        "4fa9f4ede88b4e2ff135b6e5717499d734508c62"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Nov 30 13:33:48 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Nov 30 13:33:48 2009 -0800"
      },
      "message": "Merge git://git.kernel.org/pub/scm/linux/kernel/git/dhowells/linux-2.6-fscache\n\n* git://git.kernel.org/pub/scm/linux/kernel/git/dhowells/linux-2.6-fscache: (31 commits)\n  FS-Cache: Provide nop fscache_stat_d() if CONFIG_FSCACHE_STATS\u003dn\n  SLOW_WORK: Fix GFS2 to #include \u003clinux/module.h\u003e before using THIS_MODULE\n  SLOW_WORK: Fix CIFS to pass THIS_MODULE to slow_work_register_user()\n  CacheFiles: Don\u0027t log lookup/create failing with ENOBUFS\n  CacheFiles: Catch an overly long wait for an old active object\n  CacheFiles: Better showing of debugging information in active object problems\n  CacheFiles: Mark parent directory locks as I_MUTEX_PARENT to keep lockdep happy\n  CacheFiles: Handle truncate unlocking the page we\u0027re reading\n  CacheFiles: Don\u0027t write a full page if there\u0027s only a partial page to cache\n  FS-Cache: Actually requeue an object when requested\n  FS-Cache: Start processing an object\u0027s operations on that object\u0027s death\n  FS-Cache: Make sure FSCACHE_COOKIE_LOOKING_UP cleared on lookup failure\n  FS-Cache: Add a retirement stat counter\n  FS-Cache: Handle pages pending storage that get evicted under OOM conditions\n  FS-Cache: Handle read request vs lookup, creation or other cache failure\n  FS-Cache: Don\u0027t delete pending pages from the page-store tracking tree\n  FS-Cache: Fix lock misorder in fscache_write_op()\n  FS-Cache: The object-available state can\u0027t rely on the cookie to be available\n  FS-Cache: Permit cache retrieval ops to be interrupted in the initial wait phase\n  FS-Cache: Use radix tree preload correctly in tracking of pages to be stored\n  ...\n"
    },
    {
      "commit": "16bc67edeb49b531940b2ba6c183780a1b5c472d",
      "tree": "71b4bc48e47e54f2c0b3126d8f81d2f31b707ea8",
      "parents": [
        "f6630114d9198aa959ac95c131334c020038f253",
        "047106adcc85e3023da210143a6ab8a55df9e0fc"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Nov 26 10:50:39 2009 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Nov 26 10:50:42 2009 +0100"
      },
      "message": "Merge branch \u0027sched/urgent\u0027 into sched/core\n\nMerge reason: Pick up fixes that did not make it into .32.0\n\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "9b8b317d58084b9a44f6f33b355c4278d9f841fb",
      "tree": "e0df89800bf4301c4017db3cdf04a2056ec1a852",
      "parents": [
        "78c210efdefe07131f91ed512a3308b15bb14e2f",
        "648f4e3e50c4793d9dbf9a09afa193631f76fa26"
      ],
      "author": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Mon Nov 23 12:34:58 2009 -0500"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Mon Nov 23 12:34:58 2009 -0500"
      },
      "message": "Merge commit \u0027v2.6.32-rc8\u0027 into HEAD\n"
    },
    {
      "commit": "5db53f3e80dee2d9dff5e534f9e9fe1db17c9936",
      "tree": "066f2873eeb7eb86466f6389e45892d957db3de2",
      "parents": [
        "66b00a7c93ec782d118d2c03bd599cfd041e80a1"
      ],
      "author": {
        "name": "Joern Engel",
        "email": "joern@logfs.org",
        "time": "Fri Nov 20 20:13:39 2009 +0100"
      },
      "committer": {
        "name": "Joern Engel",
        "email": "joern@logfs.org",
        "time": "Fri Nov 20 20:13:39 2009 +0100"
      },
      "message": "[LogFS] add new flash file system\n\nThis is a new flash file system. See\nDocumentation/filesystems/logfs.txt\n\nSigned-off-by: Joern Engel \u003cjoern@logfs.org\u003e\n"
    },
    {
      "commit": "931ed94430e36b9bea3904572424116092ba5663",
      "tree": "6ac8895f63ec90fdc2baddbd42bdc31da72e1e41",
      "parents": [
        "648f4e3e50c4793d9dbf9a09afa193631f76fa26",
        "7aee47b0bb9f93baecdbea205e878fe0f155f7da"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Nov 19 20:29:05 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Nov 19 20:29:05 2009 -0800"
      },
      "message": "Merge branch \u0027upstream-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/jlbec/ocfs2\n\n* \u0027upstream-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/jlbec/ocfs2:\n  ocfs2: Trivial cleanup of jbd compatibility layer removal\n  ocfs2: Refresh documentation\n  ocfs2: return f_fsid info in ocfs2_statfs()\n  ocfs2: duplicate inline data properly during reflink.\n  ocfs2: Move ocfs2_complete_reflink to the right place.\n  ocfs2: Return -EINVAL when a device is not ocfs2.\n"
    },
    {
      "commit": "0234576d041b9b2cc7043691ea61d2c2ca597aaa",
      "tree": "1fd5f397cf0a7cb010a3e383a715438e64582b65",
      "parents": [
        "a057d2c01161444c48b12a60351ae6c7135f6e61"
      ],
      "author": {
        "name": "Ryusuke Konishi",
        "email": "konishi.ryusuke@lab.ntt.co.jp",
        "time": "Fri Nov 20 03:28:01 2009 +0900"
      },
      "committer": {
        "name": "Ryusuke Konishi",
        "email": "konishi.ryusuke@lab.ntt.co.jp",
        "time": "Fri Nov 20 10:05:52 2009 +0900"
      },
      "message": "nilfs2: add norecovery mount option\n\nThis adds \"norecovery\" mount option which disables temporal write\naccess to read-only mounts or snapshots during mount/recovery.\nWithout this option, write access will be even performed for those\ntypes of mounts; the temporal write access is needed to mount root\nfile system read-only after an unclean shutdown.\n\nThis option will be helpful when user wants to prevent any write\naccess to the device.\n\nSigned-off-by: Ryusuke Konishi \u003ckonishi.ryusuke@lab.ntt.co.jp\u003e\nCc: Eric Sandeen \u003csandeen@redhat.com\u003e\n"
    },
    {
      "commit": "91f1953bf3243a4215b57d8e2f317a7035924de7",
      "tree": "78bec48dc558ebd130c67a6144e2e981286a603c",
      "parents": [
        "6600b9dd8e0d4a60c610f216b78d992a598bc52a"
      ],
      "author": {
        "name": "Jiro SEKIBA",
        "email": "jir@unicus.jp",
        "time": "Thu Nov 12 14:07:26 2009 +0900"
      },
      "committer": {
        "name": "Ryusuke Konishi",
        "email": "konishi.ryusuke@lab.ntt.co.jp",
        "time": "Fri Nov 20 10:05:47 2009 +0900"
      },
      "message": "nilfs2: Using nobarrier option instead of barrier\u003doff\n\nSince most of fs using nofoobar style option,\nmodified barrier\u003doff option as nobarrier.\n\nSigned-off-by: Jiro SEKIBA \u003cjir@unicus.jp\u003e\nSigned-off-by: Ryusuke Konishi \u003ckonishi.ryusuke@lab.ntt.co.jp\u003e\n"
    },
    {
      "commit": "e3bb52ae2bb9573e84c17b8e3560378d13a5c798",
      "tree": "529bbe0318f5bd6a2c76fb855c54b08bc85fd9e0",
      "parents": [
        "5328e635315734d42080de9a5a1ee87bf4cae0a4"
      ],
      "author": {
        "name": "Eric Sandeen",
        "email": "sandeen@redhat.com",
        "time": "Thu Nov 19 14:28:50 2009 -0500"
      },
      "committer": {
        "name": "Theodore Ts\u0027o",
        "email": "tytso@mit.edu",
        "time": "Thu Nov 19 14:28:50 2009 -0500"
      },
      "message": "ext4: make \"norecovery\" an alias for \"noload\"\n\nUsers on the linux-ext4 list recently complained about differences\nacross filesystems w.r.t. how to mount without a journal replay.\n\nIn the discussion it was noted that xfs\u0027s \"norecovery\" option is\nperhaps more descriptively accurate than \"noload,\" so let\u0027s make\nthat an alias for ext4.\n\nAlso show this status in /proc/mounts\n\nSigned-off-by: Eric Sandeen \u003csandeen@redhat.com\u003e\nSigned-off-by: \"Theodore Ts\u0027o\" \u003ctytso@mit.edu\u003e\n"
    },
    {
      "commit": "5328e635315734d42080de9a5a1ee87bf4cae0a4",
      "tree": "4952c04c9b1faec9a3c82a3743805efad05ed96e",
      "parents": [
        "2bba702d4f88d7b010ec37e2527b552588404ae7"
      ],
      "author": {
        "name": "Eric Sandeen",
        "email": "sandeen@redhat.com",
        "time": "Thu Nov 19 14:25:42 2009 -0500"
      },
      "committer": {
        "name": "Theodore Ts\u0027o",
        "email": "tytso@mit.edu",
        "time": "Thu Nov 19 14:25:42 2009 -0500"
      },
      "message": "ext4: make trim/discard optional (and off by default)\n\nIt is anticipated that when sb_issue_discard starts doing\nreal work on trim-capable devices, we may see issues.  Make\nthis mount-time optional, and default it to off until we know\nthat things are working out OK.\n\nSigned-off-by: Eric Sandeen \u003csandeen@redhat.com\u003e\nSigned-off-by: \"Theodore Ts\u0027o\" \u003ctytso@mit.edu\u003e\n"
    },
    {
      "commit": "fee096deb4f33897937b974cb2c5168bab7935be",
      "tree": "c86e5ed5b3435ff0f0266f343b19f8cc7be63340",
      "parents": [
        "d0e27b7808dc667f3015be0b6888f6d680e222c8"
      ],
      "author": {
        "name": "David Howells",
        "email": "dhowells@redhat.com",
        "time": "Thu Nov 19 18:12:05 2009 +0000"
      },
      "committer": {
        "name": "David Howells",
        "email": "dhowells@redhat.com",
        "time": "Thu Nov 19 18:12:05 2009 +0000"
      },
      "message": "CacheFiles: Catch an overly long wait for an old active object\n\nCatch an overly long wait for an old, dying active object when we want to\nreplace it with a new one.  The probability is that all the slow-work threads\nare hogged, and the delete can\u0027t get a look in.\n\nWhat we do instead is:\n\n (1) if there\u0027s nothing in the slow work queue, we sleep until either the dying\n     object has finished dying or there is something in the slow work queue\n     behind which we can queue our object.\n\n (2) if there is something in the slow work queue, we return ETIMEDOUT to\n     fscache_lookup_object(), which then puts us back on the slow work queue,\n     presumably behind the deletion that we\u0027re blocked by.  We are then\n     deferred for a while until we work our way back through the queue -\n     without blocking a slow-work thread unnecessarily.\n\nA backtrace similar to the following may appear in the log without this patch:\n\n\tINFO: task kslowd004:5711 blocked for more than 120 seconds.\n\t\"echo 0 \u003e /proc/sys/kernel/hung_task_timeout_secs\" disables this message.\n\tkslowd004     D 0000000000000000     0  5711      2 0x00000080\n\t ffff88000340bb80 0000000000000046 ffff88002550d000 0000000000000000\n\t ffff88002550d000 0000000000000007 ffff88000340bfd8 ffff88002550d2a8\n\t 000000000000ddf0 00000000000118c0 00000000000118c0 ffff88002550d2a8\n\tCall Trace:\n\t [\u003cffffffff81058e21\u003e] ? trace_hardirqs_on+0xd/0xf\n\t [\u003cffffffffa011c4d8\u003e] ? cachefiles_wait_bit+0x0/0xd [cachefiles]\n\t [\u003cffffffffa011c4e1\u003e] cachefiles_wait_bit+0x9/0xd [cachefiles]\n\t [\u003cffffffff81353153\u003e] __wait_on_bit+0x43/0x76\n\t [\u003cffffffff8111ae39\u003e] ? ext3_xattr_get+0x1ec/0x270\n\t [\u003cffffffff813531ef\u003e] out_of_line_wait_on_bit+0x69/0x74\n\t [\u003cffffffffa011c4d8\u003e] ? cachefiles_wait_bit+0x0/0xd [cachefiles]\n\t [\u003cffffffff8104c125\u003e] ? wake_bit_function+0x0/0x2e\n\t [\u003cffffffffa011bc79\u003e] cachefiles_mark_object_active+0x203/0x23b [cachefiles]\n\t [\u003cffffffffa011c209\u003e] cachefiles_walk_to_object+0x558/0x827 [cachefiles]\n\t [\u003cffffffffa011a429\u003e] cachefiles_lookup_object+0xac/0x12a [cachefiles]\n\t [\u003cffffffffa00aa1e9\u003e] fscache_lookup_object+0x1c7/0x214 [fscache]\n\t [\u003cffffffffa00aafc5\u003e] fscache_object_state_machine+0xa5/0x52d [fscache]\n\t [\u003cffffffffa00ab4ac\u003e] fscache_object_slow_work_execute+0x5f/0xa0 [fscache]\n\t [\u003cffffffff81082093\u003e] slow_work_execute+0x18f/0x2d1\n\t [\u003cffffffff8108239a\u003e] slow_work_thread+0x1c5/0x308\n\t [\u003cffffffff8104c0f1\u003e] ? autoremove_wake_function+0x0/0x34\n\t [\u003cffffffff810821d5\u003e] ? slow_work_thread+0x0/0x308\n\t [\u003cffffffff8104be91\u003e] kthread+0x7a/0x82\n\t [\u003cffffffff8100beda\u003e] child_rip+0xa/0x20\n\t [\u003cffffffff8100b87c\u003e] ? restore_args+0x0/0x30\n\t [\u003cffffffff8104be17\u003e] ? kthread+0x0/0x82\n\t [\u003cffffffff8100bed0\u003e] ? child_rip+0x0/0x20\n\t1 lock held by kslowd004/5711:\n\t #0:  (\u0026sb-\u003es_type-\u003ei_mutex_key#7/1){+.+.+.}, at: [\u003cffffffffa011be64\u003e] cachefiles_walk_to_object+0x1b3/0x827 [cachefiles]\n\nSigned-off-by: David Howells \u003cdhowells@redhat.com\u003e\n"
    },
    {
      "commit": "60d543ca724be155c2b6166e36a00c80b21bd810",
      "tree": "90ec6edd77ddb7666dbf7069aa2e001f155cea49",
      "parents": [
        "d461d26dde901b0523c46b0317e7fccf574a3933"
      ],
      "author": {
        "name": "David Howells",
        "email": "dhowells@redhat.com",
        "time": "Thu Nov 19 18:11:45 2009 +0000"
      },
      "committer": {
        "name": "David Howells",
        "email": "dhowells@redhat.com",
        "time": "Thu Nov 19 18:11:45 2009 +0000"
      },
      "message": "FS-Cache: Start processing an object\u0027s operations on that object\u0027s death\n\nStart processing an object\u0027s operations when that object moves into the DYING\nstate as the object cannot be destroyed until all its outstanding operations\nhave completed.\n\nFurthermore, make sure that read and allocation operations handle being woken\nup on a dead object.  Such events are recorded in the Allocs.abt and\nRetrvls.abt statistics as viewable through /proc/fs/fscache/stats.\n\nThe code for waiting for object activation for the read and allocation\noperations is also extracted into its own function as it is much the same in\nall cases, differing only in the stats incremented.\n\nSigned-off-by: David Howells \u003cdhowells@redhat.com\u003e\n"
    },
    {
      "commit": "201a15428bd54f83eccec8b7c64a04b8f9431204",
      "tree": "326fcce64ce96657253fd141a3f4a767ac95418a",
      "parents": [
        "e3d4d28b1c8cc7c26536a50b43d86ccd39878550"
      ],
      "author": {
        "name": "David Howells",
        "email": "dhowells@redhat.com",
        "time": "Thu Nov 19 18:11:35 2009 +0000"
      },
      "committer": {
        "name": "David Howells",
        "email": "dhowells@redhat.com",
        "time": "Thu Nov 19 18:11:35 2009 +0000"
      },
      "message": "FS-Cache: Handle pages pending storage that get evicted under OOM conditions\n\nHandle netfs pages that the vmscan algorithm wants to evict from the pagecache\nunder OOM conditions, but that are waiting for write to the cache.  Under these\nconditions, vmscan calls the releasepage() function of the netfs, asking if a\npage can be discarded.\n\nThe problem is typified by the following trace of a stuck process:\n\n\tkslowd005     D 0000000000000000     0  4253      2 0x00000080\n\t ffff88001b14f370 0000000000000046 ffff880020d0d000 0000000000000007\n\t 0000000000000006 0000000000000001 ffff88001b14ffd8 ffff880020d0d2a8\n\t 000000000000ddf0 00000000000118c0 00000000000118c0 ffff880020d0d2a8\n\tCall Trace:\n\t [\u003cffffffffa00782d8\u003e] __fscache_wait_on_page_write+0x8b/0xa7 [fscache]\n\t [\u003cffffffff8104c0f1\u003e] ? autoremove_wake_function+0x0/0x34\n\t [\u003cffffffffa0078240\u003e] ? __fscache_check_page_write+0x63/0x70 [fscache]\n\t [\u003cffffffffa00b671d\u003e] nfs_fscache_release_page+0x4e/0xc4 [nfs]\n\t [\u003cffffffffa00927f0\u003e] nfs_release_page+0x3c/0x41 [nfs]\n\t [\u003cffffffff810885d3\u003e] try_to_release_page+0x32/0x3b\n\t [\u003cffffffff81093203\u003e] shrink_page_list+0x316/0x4ac\n\t [\u003cffffffff8109372b\u003e] shrink_inactive_list+0x392/0x67c\n\t [\u003cffffffff813532fa\u003e] ? __mutex_unlock_slowpath+0x100/0x10b\n\t [\u003cffffffff81058df0\u003e] ? trace_hardirqs_on_caller+0x10c/0x130\n\t [\u003cffffffff8135330e\u003e] ? mutex_unlock+0x9/0xb\n\t [\u003cffffffff81093aa2\u003e] shrink_list+0x8d/0x8f\n\t [\u003cffffffff81093d1c\u003e] shrink_zone+0x278/0x33c\n\t [\u003cffffffff81052d6c\u003e] ? ktime_get_ts+0xad/0xba\n\t [\u003cffffffff81094b13\u003e] try_to_free_pages+0x22e/0x392\n\t [\u003cffffffff81091e24\u003e] ? isolate_pages_global+0x0/0x212\n\t [\u003cffffffff8108e743\u003e] __alloc_pages_nodemask+0x3dc/0x5cf\n\t [\u003cffffffff81089529\u003e] grab_cache_page_write_begin+0x65/0xaa\n\t [\u003cffffffff8110f8c0\u003e] ext3_write_begin+0x78/0x1eb\n\t [\u003cffffffff81089ec5\u003e] generic_file_buffered_write+0x109/0x28c\n\t [\u003cffffffff8103cb69\u003e] ? current_fs_time+0x22/0x29\n\t [\u003cffffffff8108a509\u003e] __generic_file_aio_write+0x350/0x385\n\t [\u003cffffffff8108a588\u003e] ? generic_file_aio_write+0x4a/0xae\n\t [\u003cffffffff8108a59e\u003e] generic_file_aio_write+0x60/0xae\n\t [\u003cffffffff810b2e82\u003e] do_sync_write+0xe3/0x120\n\t [\u003cffffffff8104c0f1\u003e] ? autoremove_wake_function+0x0/0x34\n\t [\u003cffffffff810b18e1\u003e] ? __dentry_open+0x1a5/0x2b8\n\t [\u003cffffffff810b1a76\u003e] ? dentry_open+0x82/0x89\n\t [\u003cffffffffa00e693c\u003e] cachefiles_write_page+0x298/0x335 [cachefiles]\n\t [\u003cffffffffa0077147\u003e] fscache_write_op+0x178/0x2c2 [fscache]\n\t [\u003cffffffffa0075656\u003e] fscache_op_execute+0x7a/0xd1 [fscache]\n\t [\u003cffffffff81082093\u003e] slow_work_execute+0x18f/0x2d1\n\t [\u003cffffffff8108239a\u003e] slow_work_thread+0x1c5/0x308\n\t [\u003cffffffff8104c0f1\u003e] ? autoremove_wake_function+0x0/0x34\n\t [\u003cffffffff810821d5\u003e] ? slow_work_thread+0x0/0x308\n\t [\u003cffffffff8104be91\u003e] kthread+0x7a/0x82\n\t [\u003cffffffff8100beda\u003e] child_rip+0xa/0x20\n\t [\u003cffffffff8100b87c\u003e] ? restore_args+0x0/0x30\n\t [\u003cffffffff8102ef83\u003e] ? tg_shares_up+0x171/0x227\n\t [\u003cffffffff8104be17\u003e] ? kthread+0x0/0x82\n\t [\u003cffffffff8100bed0\u003e] ? child_rip+0x0/0x20\n\nIn the above backtrace, the following is happening:\n\n (1) A page storage operation is being executed by a slow-work thread\n     (fscache_write_op()).\n\n (2) FS-Cache farms the operation out to the cache to perform\n     (cachefiles_write_page()).\n\n (3) CacheFiles is then calling Ext3 to perform the actual write, using Ext3\u0027s\n     standard write (do_sync_write()) under KERNEL_DS directly from the netfs\n     page.\n\n (4) However, for Ext3 to perform the write, it must allocate some memory, in\n     particular, it must allocate at least one page cache page into which it\n     can copy the data from the netfs page.\n\n (5) Under OOM conditions, the memory allocator can\u0027t immediately come up with\n     a page, so it uses vmscan to find something to discard\n     (try_to_free_pages()).\n\n (6) vmscan finds a clean netfs page it might be able to discard (possibly the\n     one it\u0027s trying to write out).\n\n (7) The netfs is called to throw the page away (nfs_release_page()) - but it\u0027s\n     called with __GFP_WAIT, so the netfs decides to wait for the store to\n     complete (__fscache_wait_on_page_write()).\n\n (8) This blocks a slow-work processing thread - possibly against itself.\n\nThe system ends up stuck because it can\u0027t write out any netfs pages to the\ncache without allocating more memory.\n\nTo avoid this, we make FS-Cache cancel some writes that aren\u0027t in the middle of\nactually being performed.  This means that some data won\u0027t make it into the\ncache this time.  To support this, a new FS-Cache function is added\nfscache_maybe_release_page() that replaces what the netfs releasepage()\nfunctions used to do with respect to the cache.\n\nThe decisions fscache_maybe_release_page() makes are counted and displayed\nthrough /proc/fs/fscache/stats on a line labelled \"VmScan\".  There are four\ncounters provided: \"nos\u003dN\" - pages that weren\u0027t pending storage; \"gon\u003dN\" -\npages that were pending storage when we first looked, but weren\u0027t by the time\nwe got the object lock; \"bsy\u003dN\" - pages that we ignored as they were actively\nbeing written when we looked; and \"can\u003dN\" - pages that we cancelled the storage\nof.\n\nWhat I\u0027d really like to do is alter the behaviour of the cancellation\nheuristics, depending on how necessary it is to expel pages.  If there are\nplenty of other pages that aren\u0027t waiting to be written to the cache that\ncould be ejected first, then it would be nice to hold up on immediate\ncancellation of cache writes - but I don\u0027t see a way of doing that.\n\nSigned-off-by: David Howells \u003cdhowells@redhat.com\u003e\n"
    },
    {
      "commit": "e3d4d28b1c8cc7c26536a50b43d86ccd39878550",
      "tree": "23f6dacd5ffdf6c6d01c411517855a41405381b9",
      "parents": [
        "285e728b0ac55b53a673114096168d6f74930167"
      ],
      "author": {
        "name": "David Howells",
        "email": "dhowells@redhat.com",
        "time": "Thu Nov 19 18:11:32 2009 +0000"
      },
      "committer": {
        "name": "David Howells",
        "email": "dhowells@redhat.com",
        "time": "Thu Nov 19 18:11:32 2009 +0000"
      },
      "message": "FS-Cache: Handle read request vs lookup, creation or other cache failure\n\nFS-Cache doesn\u0027t correctly handle the netfs requesting a read from the cache\non an object that failed or was withdrawn by the cache.  A trace similar to\nthe following might be seen:\n\n\tCacheFiles: Lookup failed error -105\n\t[exe   ] unexpected submission OP165afe [OBJ6cac OBJECT_LC_DYING]\n\t[exe   ] objstate\u003dOBJECT_LC_DYING [OBJECT_LC_DYING]\n\t[exe   ] objflags\u003d0\n\t[exe   ] objevent\u003d9 [fffffffffffffffb]\n\t[exe   ] ops\u003d0 inp\u003d0 exc\u003d0\n\tPid: 6970, comm: exe Not tainted 2.6.32-rc6-cachefs #50\n\tCall Trace:\n\t [\u003cffffffffa0076477\u003e] fscache_submit_op+0x3ff/0x45a [fscache]\n\t [\u003cffffffffa0077997\u003e] __fscache_read_or_alloc_pages+0x187/0x3c4 [fscache]\n\t [\u003cffffffffa00b6480\u003e] ? nfs_readpage_from_fscache_complete+0x0/0x66 [nfs]\n\t [\u003cffffffffa00b6388\u003e] __nfs_readpages_from_fscache+0x7e/0x176 [nfs]\n\t [\u003cffffffff8108e483\u003e] ? __alloc_pages_nodemask+0x11c/0x5cf\n\t [\u003cffffffffa009d796\u003e] nfs_readpages+0x114/0x1d7 [nfs]\n\t [\u003cffffffff81090314\u003e] __do_page_cache_readahead+0x15f/0x1ec\n\t [\u003cffffffff81090228\u003e] ? __do_page_cache_readahead+0x73/0x1ec\n\t [\u003cffffffff810903bd\u003e] ra_submit+0x1c/0x20\n\t [\u003cffffffff810906bb\u003e] ondemand_readahead+0x227/0x23a\n\t [\u003cffffffff81090762\u003e] page_cache_sync_readahead+0x17/0x19\n\t [\u003cffffffff8108a99e\u003e] generic_file_aio_read+0x236/0x5a0\n\t [\u003cffffffffa00937bd\u003e] nfs_file_read+0xe4/0xf3 [nfs]\n\t [\u003cffffffff810b2fa2\u003e] do_sync_read+0xe3/0x120\n\t [\u003cffffffff81354cc3\u003e] ? _spin_unlock_irq+0x2b/0x31\n\t [\u003cffffffff8104c0f1\u003e] ? autoremove_wake_function+0x0/0x34\n\t [\u003cffffffff811848e5\u003e] ? selinux_file_permission+0x5d/0x10f\n\t [\u003cffffffff81352bdb\u003e] ? thread_return+0x3e/0x101\n\t [\u003cffffffff8117d7b0\u003e] ? security_file_permission+0x11/0x13\n\t [\u003cffffffff810b3b06\u003e] vfs_read+0xaa/0x16f\n\t [\u003cffffffff81058df0\u003e] ? trace_hardirqs_on_caller+0x10c/0x130\n\t [\u003cffffffff810b3c84\u003e] sys_read+0x45/0x6c\n\t [\u003cffffffff8100ae2b\u003e] system_call_fastpath+0x16/0x1b\n\nThe object state might also be OBJECT_DYING or OBJECT_WITHDRAWING.\n\nThis should be handled by simply rejecting the new operation with ENOBUFS.\nThere\u0027s no need to log an error for it.  Events of this type now appear in the\nstats file under Ops:rej.\n\nSigned-off-by: David Howells \u003cdhowells@redhat.com\u003e\n"
    },
    {
      "commit": "1bccf513ac49d44604ba1cddcc29f5886e70f1b6",
      "tree": "096ba75a3d02018c5f6e1857aaf1d41471733850",
      "parents": [
        "6897e3df8fc37bd4a58bbcdef8306da7fc175584"
      ],
      "author": {
        "name": "David Howells",
        "email": "dhowells@redhat.com",
        "time": "Thu Nov 19 18:11:25 2009 +0000"
      },
      "committer": {
        "name": "David Howells",
        "email": "dhowells@redhat.com",
        "time": "Thu Nov 19 18:11:25 2009 +0000"
      },
      "message": "FS-Cache: Fix lock misorder in fscache_write_op()\n\nFS-Cache has two structs internally for keeping track of the internal state of\na cached file: the fscache_cookie struct, which represents the netfs\u0027s state,\nand fscache_object struct, which represents the cache\u0027s state.  Each has a\npointer that points to the other (when both are in existence), and each has a\nspinlock for pointer maintenance.\n\nSince netfs operations approach these structures from the cookie side, they get\nthe cookie lock first, then the object lock.  Cache operations, on the other\nhand, approach from the object side, and get the object lock first.  It is not\nthen permitted for a cache operation to get the cookie lock whilst it is\nholding the object lock lest deadlock occur; instead, it must do one of two\nthings:\n\n (1) increment the cookie usage counter, drop the object lock and then get both\n     locks in order, or\n\n (2) simply hold the object lock as certain parts of the cookie may not be\n     altered whilst the object lock is held.\n\nIt is also not permitted to follow either pointer without holding the lock at\nthe end you start with.  To break the pointers between the cookie and the\nobject, both locks must be held.\n\nfscache_write_op(), however, violates the locking rules: It attempts to get the\ncookie lock without (a) checking that the cookie pointer is a valid pointer,\nand (b) holding the object lock to protect the cookie pointer whilst it follows\nit.  This is so that it can access the pending page store tree without\ninterference from __fscache_write_page().\n\nThis is fixed by splitting the cookie lock, such that the page store tracking\ntree is protected by its own lock, and checking that the cookie pointer is\nnon-NULL before we attempt to follow it whilst holding the object lock.\n\nThe new lock is subordinate to both the cookie lock and the object lock, and so\nshould be taken after those.\n\nSigned-off-by: David Howells \u003cdhowells@redhat.com\u003e\n"
    },
    {
      "commit": "5753c441889253e4323eee85f791a1d64cf08196",
      "tree": "55a0de053d0593d96e99710f978277df668412d1",
      "parents": [
        "b34df792b4e9e311db47fad27949095d0629c197"
      ],
      "author": {
        "name": "David Howells",
        "email": "dhowells@redhat.com",
        "time": "Thu Nov 19 18:11:19 2009 +0000"
      },
      "committer": {
        "name": "David Howells",
        "email": "dhowells@redhat.com",
        "time": "Thu Nov 19 18:11:19 2009 +0000"
      },
      "message": "FS-Cache: Permit cache retrieval ops to be interrupted in the initial wait phase\n\nPermit the operations to retrieve data from the cache or to allocate space in\nthe cache for future writes to be interrupted whilst they\u0027re waiting for\npermission for the operation to proceed.  Typically this wait occurs whilst the\ncache object is being looked up on disk in the background.\n\nIf an interruption occurs, and the operation has not yet been given the\ngo-ahead to run, the operation is dequeued and cancelled, and control returns\nto the read operation of the netfs routine with none of the requested pages\nhaving been read or in any way marked as known by the cache.\n\nThis means that the initial wait is done interruptibly rather than\nuninterruptibly.\n\nIn addition, extra stats values are made available to show the number of ops\ncancelled and the number of cache space allocations interrupted.\n\nSigned-off-by: David Howells \u003cdhowells@redhat.com\u003e\n"
    },
    {
      "commit": "52bd75fdb135d6133d878ae60c6e7e3f4ebc1cfc",
      "tree": "4fad4fa37ce533c520a4575e5b7df90e19c6a666",
      "parents": [
        "4fbf4291aa15926cd4fdca0ffe9122e89d0459db"
      ],
      "author": {
        "name": "David Howells",
        "email": "dhowells@redhat.com",
        "time": "Thu Nov 19 18:11:08 2009 +0000"
      },
      "committer": {
        "name": "David Howells",
        "email": "dhowells@redhat.com",
        "time": "Thu Nov 19 18:11:08 2009 +0000"
      },
      "message": "FS-Cache: Add counters for entry/exit to/from cache operation functions\n\nCount entries to and exits from cache operation table functions.  Maintain\nthese as a single counter that\u0027s added to or removed from as appropriate.\n\nSigned-off-by: David Howells \u003cdhowells@redhat.com\u003e\n"
    },
    {
      "commit": "4fbf4291aa15926cd4fdca0ffe9122e89d0459db",
      "tree": "ec2195c39ef8117acea598af4a5c20c77f67aa0b",
      "parents": [
        "440f0affe247e9990c8f8778f1861da4fd7d5e50"
      ],
      "author": {
        "name": "David Howells",
        "email": "dhowells@redhat.com",
        "time": "Thu Nov 19 18:11:04 2009 +0000"
      },
      "committer": {
        "name": "David Howells",
        "email": "dhowells@redhat.com",
        "time": "Thu Nov 19 18:11:04 2009 +0000"
      },
      "message": "FS-Cache: Allow the current state of all objects to be dumped\n\nAllow the current state of all fscache objects to be dumped by doing:\n\n\tcat /proc/fs/fscache/objects\n\nBy default, all objects and all fields will be shown.  This can be restricted\nby adding a suitable key to one of the caller\u0027s keyrings (such as the session\nkeyring):\n\n\tkeyctl add user fscache:objlist \"\u003crestrictions\u003e\" @s\n\nThe \u003crestrictions\u003e are:\n\n\tK\tShow hexdump of object key (don\u0027t show if not given)\n\tA\tShow hexdump of object aux data (don\u0027t show if not given)\n\nAnd paired restrictions:\n\n\tC\tShow objects that have a cookie\n\tc\tShow objects that don\u0027t have a cookie\n\tB\tShow objects that are busy\n\tb\tShow objects that aren\u0027t busy\n\tW\tShow objects that have pending writes\n\tw\tShow objects that don\u0027t have pending writes\n\tR\tShow objects that have outstanding reads\n\tr\tShow objects that don\u0027t have outstanding reads\n\tS\tShow objects that have slow work queued\n\ts\tShow objects that don\u0027t have slow work queued\n\nIf neither side of a restriction pair is given, then both are implied.  For\nexample:\n\n\tkeyctl add user fscache:objlist KB @s\n\nshows objects that are busy, and lists their object keys, but does not dump\ntheir auxiliary data.  It also implies \"CcWwRrSs\", but as \u0027B\u0027 is given, \u0027b\u0027 is\nnot implied.\n\nSigned-off-by: David Howells \u003cdhowells@redhat.com\u003e\n"
    },
    {
      "commit": "7ab8f5244d6a8695688a91c8a3f6d3f40356ff97",
      "tree": "cdfe242ccccce95d4c75ed32282c6aeaab120b26",
      "parents": [
        "837711f862bb71ac263837a0f0714dd8cc4ef7ea"
      ],
      "author": {
        "name": "Sunil Mushran",
        "email": "sunil.mushran@oracle.com",
        "time": "Mon Nov 02 13:38:10 2009 -0800"
      },
      "committer": {
        "name": "Joel Becker",
        "email": "joel.becker@oracle.com",
        "time": "Fri Nov 13 15:45:01 2009 -0800"
      },
      "message": "ocfs2: Refresh documentation\n\nSigned-off-by: Sunil Mushran \u003csunil.mushran@oracle.com\u003e\nSigned-off-by: Joel Becker \u003cjoel.becker@oracle.com\u003e\n"
    },
    {
      "commit": "ea4878a24d7e6a467d369b962bab95bd6a12cbe0",
      "tree": "4f937b8dfa658b16779ae2267d450b53fb035fe7",
      "parents": [
        "8c10cbdb4af642d9a2efb45ea89251aaab905360"
      ],
      "author": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Fri Nov 06 13:59:43 2009 -0500"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Fri Nov 06 14:01:02 2009 -0500"
      },
      "message": "nfs: move more to Documentation/filesystems/nfs\n\nOops: I missed two files in the first commit that created this\ndirectory.\n\nSigned-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\n"
    },
    {
      "commit": "d4da6c9ccf648f3f1cb5bf9d981a62c253d30e28",
      "tree": "709f8bdc50a3a1d47632047eb3670b4a4a6ff045",
      "parents": [
        "c35102c3e15f90fe604523a2fbffd9dc158b455a"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Nov 02 10:15:27 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Nov 02 10:15:27 2009 -0800"
      },
      "message": "Revert \"ext4: Remove journal_checksum mount option and enable it by default\"\n\nThis reverts commit d0646f7b636d067d715fab52a2ba9c6f0f46b0d7, as\nrequested by Eric Sandeen.\n\nIt can basically cause an ext4 filesystem to miss recovery (and thus get\nmounted with errors) if the journal checksum does not match.\n\nQuoth Eric:\n\n   \"My hand-wavy hunch about what is happening is that we\u0027re finding a\n    bad checksum on the last partially-written transaction, which is\n    not surprising, but if we have a wrapped log and we\u0027re doing the\n    initial scan for head/tail, and we abort scanning on that bad\n    checksum, then we are essentially running an unrecovered filesystem.\n\n    But that\u0027s hand-wavy and I need to go look at the code.\n\n    We lived without journal checksums on by default until now, and at\n    this point they\u0027re doing more harm than good, so we should revert\n    the default-changing commit until we can fix it and do some good\n    power-fail testing with the fixes in place.\"\n\nSee\n\n\thttp://bugzilla.kernel.org/show_bug.cgi?id\u003d14354\n\nfor all the gory details.\n\nRequested-by: Eric Sandeen \u003csandeen@redhat.com\u003e\nCc: Theodore Tso \u003ctytso@mit.edu\u003e\nCc: Alexey Fisher \u003cbug-track@fisher-privat.net\u003e\nCc: Maxim Levitsky \u003cmaximlevitsky@gmail.com\u003e\nCc: Aneesh Kumar K.V \u003caneesh.kumar@linux.vnet.ibm.com\u003e\nCc: Mathias Burén \u003cmathias.buren@gmail.com\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    }
  ],
  "next": "dc7a08166f3a5f23e79e839a8a88849bd3397c32"
}
