)]}'
{
  "log": [
    {
      "commit": "1193755ac6328ad240ba987e6ec41d5e8baf0680",
      "tree": "40bf847d7e3ebaa57b107151d14e6cd1d280cc6d",
      "parents": [
        "4edebed86690eb8db9af3ab85baf4a34e73266cc",
        "0ef97dcfce4179a2eba046b855ee2f91d6f1b414"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jun 01 10:34:35 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jun 01 10:34:35 2012 -0700"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs\n\nPull vfs changes from Al Viro.\n \"A lot of misc stuff.  The obvious groups:\n   * Miklos\u0027 atomic_open series; kills the damn abuse of\n     -\u003ed_revalidate() by NFS, which was the major stumbling block for\n     all work in that area.\n   * ripping security_file_mmap() and dealing with deadlocks in the\n     area; sanitizing the neighborhood of vm_mmap()/vm_munmap() in\n     general.\n   * -\u003eencode_fh() switched to saner API; insane fake dentry in\n     mm/cleancache.c gone.\n   * assorted annotations in fs (endianness, __user)\n   * parts of Artem\u0027s -\u003es_dirty work (jff2 and reiserfs parts)\n   * -\u003eupdate_time() work from Josef.\n   * other bits and pieces all over the place.\n\n  Normally it would\u0027ve been in two or three pull requests, but\n  signal.git stuff had eaten a lot of time during this cycle ;-/\"\n\nFix up trivial conflicts in Documentation/filesystems/vfs.txt (the\n\u0027truncate_range\u0027 inode method was removed by the VM changes, the VFS\nupdate adds an \u0027update_time()\u0027 method), and in fs/btrfs/ulist.[ch] (due\nto sparse fix added twice, with other changes nearby).\n\n* \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs: (95 commits)\n  nfs: don\u0027t open in -\u003ed_revalidate\n  vfs: retry last component if opening stale dentry\n  vfs: nameidata_to_filp(): don\u0027t throw away file on error\n  vfs: nameidata_to_filp(): inline __dentry_open()\n  vfs: do_dentry_open(): don\u0027t put filp\n  vfs: split __dentry_open()\n  vfs: do_last() common post lookup\n  vfs: do_last(): add audit_inode before open\n  vfs: do_last(): only return EISDIR for O_CREAT\n  vfs: do_last(): check LOOKUP_DIRECTORY\n  vfs: do_last(): make ENOENT exit RCU safe\n  vfs: make follow_link check RCU safe\n  vfs: do_last(): use inode variable\n  vfs: do_last(): inline walk_component()\n  vfs: do_last(): make exit RCU safe\n  vfs: split do_lookup()\n  Btrfs: move over to use -\u003eupdate_time\n  fs: introduce inode operation -\u003eupdate_time\n  reiserfs: get rid of resierfs_sync_super\n  reiserfs: mark the superblock as dirty a bit later\n  ...\n"
    },
    {
      "commit": "11475975dd3c0a8e639f1544ef6530373de5979e",
      "tree": "e20344e3d296d2271eea093c76fa728e1c341510",
      "parents": [
        "a1d494495c69ef0810cd008f59310d2b9db28e36"
      ],
      "author": {
        "name": "Ryusuke Konishi",
        "email": "konishi.ryusuke@lab.ntt.co.jp",
        "time": "Thu May 31 16:26:11 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu May 31 17:49:27 2012 -0700"
      },
      "message": "nilfs2: flush disk caches in syncing\n\nThere are two cases that the cache flush is needed to avoid data loss\nagainst unexpected hang or power failure.  One is sync file function (i.e.\n nilfs_sync_file) and another is checkpointing ioctl.\n\nThis issues a cache flush request to device for such cases if barrier\nmount option is enabled, and makes sure data really is on persistent\nstorage on their completion.\n\nSigned-off-by: Ryusuke Konishi \u003ckonishi.ryusuke@lab.ntt.co.jp\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "b0b0382bb4904965a9e9fca77ad87514dfda0d1c",
      "tree": "dc46873fa74e0d194e4a2571b16f0767e1919ae8",
      "parents": [
        "6d42e7e9f6d86ed4dfacde75a6cf515068f9749c"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Mon Apr 02 14:34:06 2012 -0400"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Tue May 29 23:28:33 2012 -0400"
      },
      "message": "-\u003eencode_fh() API change\n\npass inode + parent\u0027s inode or NULL instead of dentry + bool saying\nwhether we want the parent or not.\n\nNOTE: that needs ceph fix folded in.\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "90324cc1b11a211e37eabd8cb863e1a1561d6b1d",
      "tree": "c8b79c6850420a114ca6660c1b44fc486b1ba86d",
      "parents": [
        "fb8b00675eb6462aacab56bca31ed6107bda5314",
        "169ebd90131b2ffca74bb2dbe7eeacd39fb83714"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon May 28 09:54:45 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon May 28 09:54:45 2012 -0700"
      },
      "message": "Merge tag \u0027writeback\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/wfg/linux\n\nPull writeback tree from Wu Fengguang:\n \"Mainly from Jan Kara to avoid iput() in the flusher threads.\"\n\n* tag \u0027writeback\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/wfg/linux:\n  writeback: Avoid iput() from flusher thread\n  vfs: Rename end_writeback() to clear_inode()\n  vfs: Move waiting for inode writeback from end_writeback() to evict_inode()\n  writeback: Refactor writeback_single_inode()\n  writeback: Remove wb-\u003elist_lock from writeback_single_inode()\n  writeback: Separate inode requeueing after writeback\n  writeback: Move I_DIRTY_PAGES handling\n  writeback: Move requeueing when I_SYNC set to writeback_sb_inodes()\n  writeback: Move clearing of I_SYNC into inode_sync_complete()\n  writeback: initialize global_dirty_limit\n  fs: remove 8 bytes of padding from struct writeback_control on 64 bit builds\n  mm: page-writeback.c: local functions should not be exposed globally\n"
    },
    {
      "commit": "26fe575028703948880fce4355a210c76bb0536e",
      "tree": "0a7d04289e1eb1f1739659ebc9498d40f2add5da",
      "parents": [
        "ee983e89670704b2a05e897b161f2674a42d1508"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu May 10 13:14:12 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu May 10 19:54:35 2012 -0700"
      },
      "message": "vfs: make it possible to access the dentry hash/len as one 64-bit entry\n\nThis allows comparing hash and len in one operation on 64-bit\narchitectures.  Right now only __d_lookup_rcu() takes advantage of this,\nsince that is the case we care most about.\n\nThe use of anonymous struct/unions hides the alternate 64-bit approach\nfrom most users, the exception being a few cases where we initialize a\n\u0027struct qstr\u0027 with a static initializer.  This makes the problematic\ncases use a new QSTR_INIT() helper function for that (but initializing\njust the name pointer with a \"{ .name \u003d xyzzy }\" initializer remains\nvalid, as does just copying another qstr structure).\n\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "dbd5768f87ff6fb0a4fe09c4d7b6c4a24de99430",
      "tree": "42ea94ea733538f797aa745945fc43c4d1b89217",
      "parents": [
        "7994e6f7254354e03028a11f98a27bd67dace9f1"
      ],
      "author": {
        "name": "Jan Kara",
        "email": "jack@suse.cz",
        "time": "Thu May 03 14:48:02 2012 +0200"
      },
      "committer": {
        "name": "Fengguang Wu",
        "email": "fengguang.wu@intel.com",
        "time": "Sun May 06 13:43:41 2012 +0800"
      },
      "message": "vfs: Rename end_writeback() to clear_inode()\n\nAfter we moved inode_sync_wait() from end_writeback() it doesn\u0027t make sense\nto call the function end_writeback() anymore. Rename it to clear_inode()\nwhich well says what the function really does - set I_CLEAR flag.\n\nSigned-off-by: Jan Kara \u003cjack@suse.cz\u003e\nSigned-off-by: Fengguang Wu \u003cfengguang.wu@intel.com\u003e\n"
    },
    {
      "commit": "e2a0883e4071237d09b604a342c28b96b44a04b3",
      "tree": "aa56f4d376b5eb1c32358c19c2669c2a94e0e1fd",
      "parents": [
        "3a990a52f9f25f45469e272017a31e7a3fda60ed",
        "07c0c5d8b8c122b2f2df9ee574ac3083daefc981"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Mar 21 13:36:41 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Mar 21 13:36:41 2012 -0700"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs\n\nPull vfs pile 1 from Al Viro:\n \"This is _not_ all; in particular, Miklos\u0027 and Jan\u0027s stuff is not there\n  yet.\"\n\n* \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs: (64 commits)\n  ext4: initialization of ext4_li_mtx needs to be done earlier\n  debugfs-related mode_t whack-a-mole\n  hfsplus: add an ioctl to bless files\n  hfsplus: change finder_info to u32\n  hfsplus: initialise userflags\n  qnx4: new helper - try_extent()\n  qnx4: get rid of qnx4_bread/qnx4_getblk\n  take removal of PF_FORKNOEXEC to flush_old_exec()\n  trim includes in inode.c\n  um: uml_dup_mmap() relies on -\u003emmap_sem being held, but activate_mm() doesn\u0027t hold it\n  um: embed -\u003estub_pages[] into mmu_context\n  gadgetfs: list_for_each_safe() misuse\n  ocfs2: fix leaks on failure exits in module_init\n  ecryptfs: make register_filesystem() the last potential failure exit\n  ntfs: forgets to unregister sysctls on register_filesystem() failure\n  logfs: missing cleanup on register_filesystem() failure\n  jfs: mising cleanup on register_filesystem() failure\n  make configfs_pin_fs() return root dentry on success\n  configfs: configfs_create_dir() has parent dentry in dentry-\u003ed_parent\n  configfs: sanitize configfs_create()\n  ...\n"
    },
    {
      "commit": "48fde701aff662559b38d9a609574068f22d00fe",
      "tree": "aa6b203dc671b51d58575b65eb08310ff8309b60",
      "parents": [
        "6b4231e2f92adbcf96fb2a3fa751d7ca0a61b21f"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Sun Jan 08 22:15:13 2012 -0500"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Tue Mar 20 21:29:35 2012 -0400"
      },
      "message": "switch open-coded instances of d_make_root() to new helper\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "8de52778798fe39660a8d6b26f290e0c93202761",
      "tree": "56384beb7863c1f338f2b66b509bf58eea5a99c2",
      "parents": [
        "c16fa4f2ad19908a47c63d8fa436a1178438c7e7"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Mon Feb 06 12:45:27 2012 -0500"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Tue Mar 20 21:29:32 2012 -0400"
      },
      "message": "vfs: check i_nlink limits in vfs_{mkdir,rename_dir,link}\n\nNew field of struct super_block - -\u003es_max_links.  Maximal allowed\nvalue of -\u003ei_nlink or 0; in the latter case all checks still need\nto be done in -\u003elink/-\u003emkdir/-\u003erename instances.  Note that this\nlimit applies both to directoris and to non-directories.\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "7b9c0976ac5e549feb1d4731bc76b9acf9ac47a8",
      "tree": "50cf70108a1530cc51bab9dda8306abb4e5ad04c",
      "parents": [
        "2b86ce2db3349f5c2af81769c2596ee0d5a63a47"
      ],
      "author": {
        "name": "Cong Wang",
        "email": "amwang@redhat.com",
        "time": "Fri Nov 25 23:14:33 2011 +0800"
      },
      "committer": {
        "name": "Cong Wang",
        "email": "xiyou.wangcong@gmail.com",
        "time": "Tue Mar 20 21:48:24 2012 +0800"
      },
      "message": "nilfs2: remove the second argument of k[un]map_atomic()\n\nAcked-by: Ryusuke Konishi \u003ckonishi.ryusuke@lab.ntt.co.jp\u003e\nSigned-off-by: Cong Wang \u003camwang@redhat.com\u003e\n"
    },
    {
      "commit": "d7178c79d9b7c5518f9943188091a75fc6ce0675",
      "tree": "6389bdb07d2788357dacbb7dde698e318745591e",
      "parents": [
        "3d777a64066f3b9db8a94834aaed6a9cf09808fd"
      ],
      "author": {
        "name": "Ryusuke Konishi",
        "email": "konishi.ryusuke@lab.ntt.co.jp",
        "time": "Fri Mar 16 17:08:39 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Mar 16 17:14:44 2012 -0700"
      },
      "message": "nilfs2: fix NULL pointer dereference in nilfs_load_super_block()\n\nAccording to the report from Slicky Devil, nilfs caused kernel oops at\nnilfs_load_super_block function during mount after he shrank the\npartition without resizing the filesystem:\n\n BUG: unable to handle kernel NULL pointer dereference at 00000048\n IP: [\u003cd0d7a08e\u003e] nilfs_load_super_block+0x17e/0x280 [nilfs2]\n *pde \u003d 00000000\n Oops: 0000 [#1] PREEMPT SMP\n ...\n Call Trace:\n  [\u003cd0d7a87b\u003e] init_nilfs+0x4b/0x2e0 [nilfs2]\n  [\u003cd0d6f707\u003e] nilfs_mount+0x447/0x5b0 [nilfs2]\n  [\u003cc0226636\u003e] mount_fs+0x36/0x180\n  [\u003cc023d961\u003e] vfs_kern_mount+0x51/0xa0\n  [\u003cc023ddae\u003e] do_kern_mount+0x3e/0xe0\n  [\u003cc023f189\u003e] do_mount+0x169/0x700\n  [\u003cc023fa9b\u003e] sys_mount+0x6b/0xa0\n  [\u003cc04abd1f\u003e] sysenter_do_call+0x12/0x28\n Code: 53 18 8b 43 20 89 4b 18 8b 4b 24 89 53 1c 89 43 24 89 4b 20 8b 43\n 20 c7 43 2c 00 00 00 00 23 75 e8 8b 50 68 89 53 28 8b 54 b3 20 \u003c8b\u003e 72\n 48 8b 7a 4c 8b 55 08 89 b3 84 00 00 00 89 bb 88 00 00 00\n EIP: [\u003cd0d7a08e\u003e] nilfs_load_super_block+0x17e/0x280 [nilfs2] SS:ESP 0068:ca9bbdcc\n CR2: 0000000000000048\n\nThis turned out due to a defect in an error path which runs if the\ncalculated location of the secondary super block was invalid.\n\nThis patch fixes it and eliminates the reported oops.\n\nReported-by: Slicky Devil \u003cslicky.dvl@gmail.com\u003e\nSigned-off-by: Ryusuke Konishi \u003ckonishi.ryusuke@lab.ntt.co.jp\u003e\nTested-by: Slicky Devil \u003cslicky.dvl@gmail.com\u003e\nCc: \u003cstable@vger.kernel.org\u003e\t[2.6.30+]\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "3d777a64066f3b9db8a94834aaed6a9cf09808fd",
      "tree": "6cf49f30feef97f0cd0397e21769930c6d5ea52c",
      "parents": [
        "cf2b94daab9f3d21b0a393bef91292622f6a8ca4"
      ],
      "author": {
        "name": "Haogang Chen",
        "email": "haogangchen@gmail.com",
        "time": "Fri Mar 16 17:08:38 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Mar 16 17:14:44 2012 -0700"
      },
      "message": "nilfs2: clamp ns_r_segments_percentage to [1, 99]\n\nns_r_segments_percentage is read from the disk.  Bogus or malicious\nvalue could cause integer overflow and malfunction due to meaningless\ndisk usage calculation.  This patch reports error when mounting such\nbogus volumes.\n\nSigned-off-by: Haogang Chen \u003chaogangchen@gmail.com\u003e\nSigned-off-by: Ryusuke Konishi \u003ckonishi.ryusuke@lab.ntt.co.jp\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "1ecd3c7ea76488c63b4b0a2561fd7eaf96cc8028",
      "tree": "3bc88fd0b4fd61c86141c66e86cf5492753bcd22",
      "parents": [
        "98e96852480566333f6dacd3223f0be15df34d60"
      ],
      "author": {
        "name": "Xi Wang",
        "email": "xi.wang@gmail.com",
        "time": "Wed Feb 08 17:13:37 2012 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Feb 08 19:03:51 2012 -0800"
      },
      "message": "nilfs2: avoid overflowing segment numbers in nilfs_ioctl_clean_segments()\n\nnsegs is read from userspace.  Limit its value and avoid overflowing nsegs\n* sizeof(__u64) in the subsequent call to memdup_user().\n\nThis patch complements 481fe17e973fb9 (\"nilfs2: potential integer overflow\nin nilfs_ioctl_clean_segments()\").\n\nSigned-off-by: Xi Wang \u003cxi.wang@gmail.com\u003e\nCc: Haogang Chen \u003chaogangchen@gmail.com\u003e\nAcked-by: Ryusuke Konishi \u003ckonishi.ryusuke@lab.ntt.co.jp\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "eb59c505f8a5906ad2e053d14fab50eb8574fd6f",
      "tree": "c6e875adc12b481b916e847e8f80b8881a0fb02c",
      "parents": [
        "1619ed8f60959829d070d8f39cd2f8ca0e7135ce",
        "c233523b3d392e530033a7587d7970dc62a02361"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun Jan 08 13:10:57 2012 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun Jan 08 13:10:57 2012 -0800"
      },
      "message": "Merge branch \u0027pm-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm\n\n* \u0027pm-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm: (76 commits)\n  PM / Hibernate: Implement compat_ioctl for /dev/snapshot\n  PM / Freezer: fix return value of freezable_schedule_timeout_killable()\n  PM / shmobile: Allow the A4R domain to be turned off at run time\n  PM / input / touchscreen: Make st1232 use device PM QoS constraints\n  PM / QoS: Introduce dev_pm_qos_add_ancestor_request()\n  PM / shmobile: Remove the stay_on flag from SH7372\u0027s PM domains\n  PM / shmobile: Don\u0027t include SH7372\u0027s INTCS in syscore suspend/resume\n  PM / shmobile: Add support for the sh7372 A4S power domain / sleep mode\n  PM: Drop generic_subsys_pm_ops\n  PM / Sleep: Remove forward-only callbacks from AMBA bus type\n  PM / Sleep: Remove forward-only callbacks from platform bus type\n  PM: Run the driver callback directly if the subsystem one is not there\n  PM / Sleep: Make pm_op() and pm_noirq_op() return callback pointers\n  PM/Devfreq: Add Exynos4-bus device DVFS driver for Exynos4210/4212/4412.\n  PM / Sleep: Merge internal functions in generic_ops.c\n  PM / Sleep: Simplify generic system suspend callbacks\n  PM / Hibernate: Remove deprecated hibernation snapshot ioctls\n  PM / Sleep: Fix freezer failures due to racy usermodehelper_is_disabled()\n  ARM: S3C64XX: Implement basic power domain support\n  PM / shmobile: Use common always on power domain governor\n  ...\n\nFix up trivial conflict in fs/xfs/xfs_buf.c due to removal of unused\nXBT_FORCE_SLEEP bit\n"
    },
    {
      "commit": "34c80b1d93e6e20ca9dea0baf583a5b5510d92d4",
      "tree": "7dcbf0a4e09464247e6992c8f44fcc872867bd3a",
      "parents": [
        "a6322de67b58a00e3a783ad9c87c2a11b2d67b47"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Thu Dec 08 21:32:45 2011 -0500"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Fri Jan 06 23:19:54 2012 -0500"
      },
      "message": "vfs: switch -\u003eshow_options() to struct dentry *\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "c6e49e3f266dbe62773941dca8afa65f53b5415f",
      "tree": "d16592189d8ea9fafb15d5dcbfc1a18d3bbf8d97",
      "parents": [
        "64f1426f3c4f8dde9ac9bf3f3b19b88d17f2bae6"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Tue Jul 26 03:07:14 2011 -0400"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Tue Jan 03 22:55:04 2012 -0500"
      },
      "message": "nilfs: propagate umode_t\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "1a67aafb5f72a436ca044293309fa7e6351d6a35",
      "tree": "d9e58600148de9d41b478cf815773b746647d15b",
      "parents": [
        "4acdaf27ebe2034c342f3be57ef49aed1ad885ef"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Tue Jul 26 01:52:52 2011 -0400"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Tue Jan 03 22:54:54 2012 -0500"
      },
      "message": "switch -\u003emknod() to umode_t\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "4acdaf27ebe2034c342f3be57ef49aed1ad885ef",
      "tree": "d89a876ee19cd88609a587f8aa6c464a52ee6d98",
      "parents": [
        "18bb1db3e7607e4a997d50991a6f9fa5b0f8722c"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Tue Jul 26 01:42:34 2011 -0400"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Tue Jan 03 22:54:53 2012 -0500"
      },
      "message": "switch -\u003ecreate() to umode_t\n\nvfs_create() ignores everything outside of 16bit subset of its\nmode argument; switching it to umode_t is obviously equivalent\nand it\u0027s the only caller of the method\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "18bb1db3e7607e4a997d50991a6f9fa5b0f8722c",
      "tree": "4ee4e584bc9a67f3ec14ce159d2d7d4a27e68d4a",
      "parents": [
        "8208a22bb8bd3c52ef634b4ff194f14892ab1713"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Tue Jul 26 01:41:39 2011 -0400"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Tue Jan 03 22:54:53 2012 -0500"
      },
      "message": "switch vfs_mkdir() and -\u003emkdir() to umode_t\n\nvfs_mkdir() gets int, but immediately drops everything that might not\nfit into umode_t and that\u0027s the only caller of -\u003emkdir()...\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "6b520e0565422966cdf1c3759bd73df77b0f248c",
      "tree": "f63a26afa7342eb59b125271b16e30a219b59094",
      "parents": [
        "2a79f17e4a641a2f463cb512cb0ec349844a147b"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Mon Dec 12 15:51:45 2011 -0500"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Tue Jan 03 22:52:40 2012 -0500"
      },
      "message": "vfs: fix the stupidity with i_dentry in inode destructors\n\nSeeing that just about every destructor got that INIT_LIST_HEAD() copied into\nit, there is no point whatsoever keeping this INIT_LIST_HEAD in inode_init_once();\nthe cost of taking it into inode_init_always() will be negligible for pipes\nand sockets and negative for everything else.  Not to mention the removal of\nboilerplate code from -\u003edestroy_inode() instances...\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "2a79f17e4a641a2f463cb512cb0ec349844a147b",
      "tree": "8801127310d0a3492941bb284e83393844a19685",
      "parents": [
        "8c9379e972e984d11c2b99121847ba9fa7a0c56c"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Fri Dec 09 08:06:57 2011 -0500"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Tue Jan 03 22:52:40 2012 -0500"
      },
      "message": "vfs: mnt_drop_write_file()\n\nnew helper (wrapper around mnt_drop_write()) to be used in pair with\nmnt_want_write_file().\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "a561be7100cd610bd2e082f3211c1dfb45835817",
      "tree": "a1016a11df967be6f289a4e8ae29597ba39df17e",
      "parents": [
        "f47ec3f28354795f000c14bf18ed967ec81a3ec3"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Wed Nov 23 11:57:51 2011 -0500"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Tue Jan 03 22:52:35 2012 -0500"
      },
      "message": "switch a bunch of places to mnt_want_write_file()\n\nit\u0027s both faster (in case when file has been opened for write) and cleaner.\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "b00f4dc5ff022cb9cbaffd376d9454d7fa1e496f",
      "tree": "40f1b232e2f1e8ac365317a14fdcbcb331722b46",
      "parents": [
        "1eac8111e0763853266a171ce11214da3a347a0a",
        "b9e26dfdad5a4f9cbdaacafac6998614cc9c41bc"
      ],
      "author": {
        "name": "Rafael J. Wysocki",
        "email": "rjw@sisk.pl",
        "time": "Wed Dec 21 21:59:45 2011 +0100"
      },
      "committer": {
        "name": "Rafael J. Wysocki",
        "email": "rjw@sisk.pl",
        "time": "Wed Dec 21 21:59:45 2011 +0100"
      },
      "message": "Merge branch \u0027master\u0027 into pm-sleep\n\n* master: (848 commits)\n  SELinux: Fix RCU deref check warning in sel_netport_insert()\n  binary_sysctl(): fix memory leak\n  mm/vmalloc.c: remove static declaration of va from __get_vm_area_node\n  ipmi_watchdog: restore settings when BMC reset\n  oom: fix integer overflow of points in oom_badness\n  memcg: keep root group unchanged if creation fails\n  nilfs2: potential integer overflow in nilfs_ioctl_clean_segments()\n  nilfs2: unbreak compat ioctl\n  cpusets: stall when updating mems_allowed for mempolicy or disjoint nodemask\n  evm: prevent racing during tfm allocation\n  evm: key must be set once during initialization\n  mmc: vub300: fix type of firmware_rom_wait_states module parameter\n  Revert \"mmc: enable runtime PM by default\"\n  mmc: sdhci: remove \"state\" argument from sdhci_suspend_host\n  x86, dumpstack: Fix code bytes breakage due to missing KERN_CONT\n  IB/qib: Correct sense on freectxts increment and decrement\n  RDMA/cma: Verify private data length\n  cgroups: fix a css_set not found bug in cgroup_attach_proc\n  oprofile: Fix uninitialized memory access when writing to writing to oprofilefs\n  Revert \"xen/pv-on-hvm kexec: add xs_reset_watches to shutdown watches from old kernel\"\n  ...\n\nConflicts:\n\tkernel/cgroup_freezer.c\n"
    },
    {
      "commit": "481fe17e973fb97aa3edf17c69557afe88d8334f",
      "tree": "3ab58a5f35345d7e61fc4428b18529705ceab1e5",
      "parents": [
        "695c60f21c69e525a89279a5f35bae4ff237afbc"
      ],
      "author": {
        "name": "Haogang Chen",
        "email": "haogangchen@gmail.com",
        "time": "Mon Dec 19 17:11:56 2011 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Dec 20 10:25:04 2011 -0800"
      },
      "message": "nilfs2: potential integer overflow in nilfs_ioctl_clean_segments()\n\nThere is a potential integer overflow in nilfs_ioctl_clean_segments().\nWhen a large argv[n].v_nmembs is passed from the userspace, the subsequent\ncall to vmalloc() will allocate a buffer smaller than expected, which\nleads to out-of-bound access in nilfs_ioctl_move_blocks() and\nlfs_clean_segments().\n\nThe following check does not prevent the overflow because nsegs is also\ncontrolled by the userspace and could be very large.\n\n\t\tif (argv[n].v_nmembs \u003e nsegs * nilfs-\u003ens_blocks_per_segment)\n\t\t\tgoto out_free;\n\nThis patch clamps argv[n].v_nmembs to UINT_MAX / argv[n].v_size, and\nreturns -EINVAL when overflow.\n\nSigned-off-by: Haogang Chen \u003chaogangchen@gmail.com\u003e\nSigned-off-by: Ryusuke Konishi \u003ckonishi.ryusuke@lab.ntt.co.jp\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "695c60f21c69e525a89279a5f35bae4ff237afbc",
      "tree": "ff706db0f49c246a398d1bbb0fc0336a43334dd1",
      "parents": [
        "b246272ecc5ac68c743b15c9e41a2275f7ce70e2"
      ],
      "author": {
        "name": "Thomas Meyer",
        "email": "thomas@m3y3r.de",
        "time": "Mon Dec 19 17:11:55 2011 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Dec 20 10:25:04 2011 -0800"
      },
      "message": "nilfs2: unbreak compat ioctl\n\ncommit 828b1c50ae (\"nilfs2: add compat ioctl\") incidentally broke all\nother NILFS compat ioctls.  Make them work again.\n\nSigned-off-by: Thomas Meyer \u003cthomas@m3y3r.de\u003e\nSigned-off-by: Ryusuke Konishi \u003ckonishi.ryusuke@lab.ntt.co.jp\u003e\nTested-by: Ryusuke Konishi \u003ckonishi.ryusuke@lab.ntt.co.jp\u003e\nCc: \u003cstable@vger.kernel.org\u003e [3.0+]\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "a0acae0e886d44bd5ce6d2f173c1ace0fcf0d9f6",
      "tree": "0b763388360a5a9043986e1f2201e43df74ebc46",
      "parents": [
        "3a7cbd50f74907580eb47a8d08e1f29741b81abf"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "tj@kernel.org",
        "time": "Mon Nov 21 12:32:22 2011 -0800"
      },
      "committer": {
        "name": "Tejun Heo",
        "email": "tj@kernel.org",
        "time": "Mon Nov 21 12:32:22 2011 -0800"
      },
      "message": "freezer: unexport refrigerator() and update try_to_freeze() slightly\n\nThere is no reason to export two functions for entering the\nrefrigerator.  Calling refrigerator() instead of try_to_freeze()\ndoesn\u0027t save anything noticeable or removes any race condition.\n\n* Rename refrigerator() to __refrigerator() and make it return bool\n  indicating whether it scheduled out for freezing.\n\n* Update try_to_freeze() to return bool and relay the return value of\n  __refrigerator() if freezing().\n\n* Convert all refrigerator() users to try_to_freeze().\n\n* Update documentation accordingly.\n\n* While at it, add might_sleep() to try_to_freeze().\n\nSigned-off-by: Tejun Heo \u003ctj@kernel.org\u003e\nCc: Samuel Ortiz \u003csamuel@sortiz.org\u003e\nCc: Chris Mason \u003cchris.mason@oracle.com\u003e\nCc: \"Theodore Ts\u0027o\" \u003ctytso@mit.edu\u003e\nCc: Steven Whitehouse \u003cswhiteho@redhat.com\u003e\nCc: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nCc: Jan Kara \u003cjack@suse.cz\u003e\nCc: KONISHI Ryusuke \u003ckonishi.ryusuke@lab.ntt.co.jp\u003e\nCc: Christoph Hellwig \u003chch@infradead.org\u003e\n"
    },
    {
      "commit": "bfe8684869601dacfcb2cd69ef8cfd9045f62170",
      "tree": "4e213aaa766b26f43f0f9ec7998a7745239d9377",
      "parents": [
        "6d6b77f163c7eabedbba00ed2abb7d4a570bff76"
      ],
      "author": {
        "name": "Miklos Szeredi",
        "email": "mszeredi@suse.cz",
        "time": "Fri Oct 28 14:13:29 2011 +0200"
      },
      "committer": {
        "name": "Christoph Hellwig",
        "email": "hch@serles.lst.de",
        "time": "Wed Nov 02 12:53:43 2011 +0100"
      },
      "message": "filesystems: add set_nlink()\n\nReplace remaining direct i_nlink updates with a new set_nlink()\nupdater function.\n\nSigned-off-by: Miklos Szeredi \u003cmszeredi@suse.cz\u003e\nTested-by: Toshiyuki Okajima \u003ctoshi.okajima@jp.fujitsu.com\u003e\nSigned-off-by: Christoph Hellwig \u003chch@lst.de\u003e\n"
    },
    {
      "commit": "6d6b77f163c7eabedbba00ed2abb7d4a570bff76",
      "tree": "6ce074a7dd5a25fae28ef9de6f59ddee08ea4e61",
      "parents": [
        "dd2a981f46a0903a8770a784f213d4d40bbb6f19"
      ],
      "author": {
        "name": "Miklos Szeredi",
        "email": "mszeredi@suse.cz",
        "time": "Fri Oct 28 14:13:28 2011 +0200"
      },
      "committer": {
        "name": "Christoph Hellwig",
        "email": "hch@serles.lst.de",
        "time": "Wed Nov 02 12:53:43 2011 +0100"
      },
      "message": "filesystems: add missing nlink wrappers\n\nReplace direct i_nlink updates with the respective updater function\n(inc_nlink, drop_nlink, clear_nlink, inode_dec_link_count).\n\nSigned-off-by: Miklos Szeredi \u003cmszeredi@suse.cz\u003e\n"
    },
    {
      "commit": "b9075fa968a0a4347aef35e235e2995c0e57dddd",
      "tree": "cf9f9716784e790d8a43339653256d9cf9178ff3",
      "parents": [
        "ae29bc92da01a2e9d278a9a58c3b307d41cc0254"
      ],
      "author": {
        "name": "Joe Perches",
        "email": "joe@perches.com",
        "time": "Mon Oct 31 17:11:33 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Oct 31 17:30:54 2011 -0700"
      },
      "message": "treewide: use __printf not __attribute__((format(printf,...)))\n\nStandardize the style for compiler based printf format verification.\nStandardized the location of __printf too.\n\nDone via script and a little typing.\n\n$ grep -rPl --include\u003d*.[ch] -w \"__attribute__\" * | \\\n  grep -vP \"^(tools|scripts|include/linux/compiler-gcc.h)\" | \\\n  xargs perl -n -i -e \u0027local $/; while (\u003c\u003e) { s/\\b__attribute__\\s*\\(\\s*\\(\\s*format\\s*\\(\\s*printf\\s*,\\s*(.+)\\s*,\\s*(.+)\\s*\\)\\s*\\)\\s*\\)/__printf($1, $2)/g ; print; }\u0027\n\n[akpm@linux-foundation.org: revert arch bits]\nSigned-off-by: Joe Perches \u003cjoe@perches.com\u003e\nCc: \"Kirill A. Shutemov\" \u003ckirill@shutemov.name\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "02c24a82187d5a628c68edfe71ae60dc135cd178",
      "tree": "c8dbaba4d82e2b20ed4335910a564a1f7d90fcf6",
      "parents": [
        "22735068d53c7115e384bc88dea95b17e76a6839"
      ],
      "author": {
        "name": "Josef Bacik",
        "email": "josef@redhat.com",
        "time": "Sat Jul 16 20:44:56 2011 -0400"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Wed Jul 20 20:47:59 2011 -0400"
      },
      "message": "fs: push i_mutex and filemap_write_and_wait down into -\u003efsync() handlers\n\nBtrfs needs to be able to control how filemap_write_and_wait_range() is called\nin fsync to make it less of a painful operation, so push down taking i_mutex and\nthe calling of filemap_write_and_wait() down into the -\u003efsync() handlers.  Some\nfile systems can drop taking the i_mutex altogether it seems, like ext3 and\nocfs2.  For correctness sake I just pushed everything down in all cases to make\nsure that we keep the current behavior the same for everybody, and then each\nindividual fs maintainer can make up their mind about what to do from there.\nThanks,\n\nAcked-by: Jan Kara \u003cjack@suse.cz\u003e\nSigned-off-by: Josef Bacik \u003cjosef@redhat.com\u003e\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "aacfc19c626ebd3daa675652457d71019a1f583f",
      "tree": "9c1cfb5945e939f1ba56b4c0101c211e84e544c0",
      "parents": [
        "df2d6f26586f12a24f3ae5df4e236dc5c08d6eb4"
      ],
      "author": {
        "name": "Christoph Hellwig",
        "email": "hch@infradead.org",
        "time": "Fri Jun 24 14:29:47 2011 -0400"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Wed Jul 20 20:47:49 2011 -0400"
      },
      "message": "fs: simplify the blockdev_direct_IO prototype\n\nSimple filesystems always pass inode-\u003ei_sb_bdev as the block device\nargument, and never need a end_io handler.  Let\u0027s simply things for\nthem and for my grepping activity by dropping these arguments.  The\nonly thing not falling into that scheme is ext4, which passes and\nend_io handler without needing special flags (yet), but given how\nmessy the direct I/O code there is use of __blockdev_direct_IO\nin one instead of two out of three cases isn\u0027t going to make a large\ndifference anyway.\n\nSigned-off-by: Christoph Hellwig \u003chch@lst.de\u003e\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "562c72aa57c36b178eacc3500a0215651eca9429",
      "tree": "2c522c53ab26fc72e85e08747a08e3dca1207c87",
      "parents": [
        "11b80f459adaf91a712f95e7734a17655a36bf30"
      ],
      "author": {
        "name": "Christoph Hellwig",
        "email": "hch@infradead.org",
        "time": "Fri Jun 24 14:29:45 2011 -0400"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Wed Jul 20 20:47:47 2011 -0400"
      },
      "message": "fs: move inode_dio_wait calls into -\u003esetattr\n\nLet filesystems handle waiting for direct I/O requests themselves instead\nof doing it beforehand.  This means filesystem-specific locks to prevent\nnew dio referenes from appearing can be held.  This is important to allow\ngeneralizing i_dio_count to non-DIO_LOCKING filesystems.\n\nSigned-off-by: Christoph Hellwig \u003chch@lst.de\u003e\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "a9049376ee05bf966bfe2b081b5071326856890a",
      "tree": "efb3cbfc7760537f201bb28dacbb0d39ec39f04c",
      "parents": [
        "0c1aa9a952c3608eb17bf990466f1491d1ee8b6c"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Fri Jul 08 21:20:11 2011 -0400"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Wed Jul 20 01:44:26 2011 -0400"
      },
      "message": "make d_splice_alias(ERR_PTR(err), dentry) \u003d ERR_PTR(err)\n\n... and simplify the living hell out of callers\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "10556cb21a0d0b24d95f00ea6df16f599a3345b2",
      "tree": "3d7d8dfba807805a55c154f1850717bf3b49f343",
      "parents": [
        "2830ba7f34ebb27c4e5b8b6ef408cd6d74860890"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Mon Jun 20 19:28:19 2011 -0400"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Wed Jul 20 01:43:24 2011 -0400"
      },
      "message": "-\u003epermission() sanitizing: don\u0027t pass flags to -\u003epermission()\n\nnot used by the instances anymore.\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "2830ba7f34ebb27c4e5b8b6ef408cd6d74860890",
      "tree": "bbcebc14bffd000f1dfcbf37e64f56d2f49581ac",
      "parents": [
        "7e40145eb111a5192e6d819f764db9d6828d1abb"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Mon Jun 20 19:16:29 2011 -0400"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Wed Jul 20 01:43:22 2011 -0400"
      },
      "message": "-\u003epermission() sanitizing: don\u0027t pass flags to generic_permission()\n\nredundant; all callers get it duplicated in mask \u0026 MAY_NOT_BLOCK and none of\nthem removes that bit.\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "178ea73521d64ba41d7aa5488fb9f549c6d4507d",
      "tree": "7fb6bfb6483577752e307a5bb2e3905658d44294",
      "parents": [
        "07b8ce1ee87d291ff564c02cf878fae973317a52"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Mon Jun 20 11:31:30 2011 -0400"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Wed Jul 20 01:43:16 2011 -0400"
      },
      "message": "kill check_acl callback of generic_permission()\n\nits value depends only on inode and does not change; we might as\nwell store it in -\u003ei_op-\u003echeck_acl and be done with that.\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "730e908f3539066d4aa01f4720ebfc750ce4d045",
      "tree": "de7b93574d60071b5d2c428cc3ff1a524eac3cd0",
      "parents": [
        "a63ab94d67879bc0630ea9821c582ddf58ba5527"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Sat Jun 18 20:21:44 2011 -0400"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Mon Jun 20 10:44:33 2011 -0400"
      },
      "message": "nilfs2_permission() doesn\u0027t need to bail out in RCU mode\n\nNothing blocking except for generic_permission().  Which will DTRT.\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "071d73cfe5c38cf62338b952bd350ff3de541b75",
      "tree": "cf917178d850e458a7091d00cba30c2b54696d48",
      "parents": [
        "d40990537c9ea85dfe75dbe0ffba5e1002dfdf3f"
      ],
      "author": {
        "name": "Ryusuke Konishi",
        "email": "konishi.ryusuke@lab.ntt.co.jp",
        "time": "Fri Jun 10 00:33:06 2011 +0900"
      },
      "committer": {
        "name": "Ryusuke Konishi",
        "email": "konishi.ryusuke@lab.ntt.co.jp",
        "time": "Sat Jun 11 15:51:15 2011 +0900"
      },
      "message": "nilfs2: fix problem in setting checkpoint interval\n\nCheckpoint generation interval of nilfs goes wrong after user has\nchanged the interval parameter with nilfs-tune tool.\n\n segctord starting. Construction interval \u003d 5 seconds,\n CP frequency \u003c 30 seconds\n segctord starting. Construction interval \u003d 0 seconds,\n CP frequency \u003c 30 seconds\n\nThis turned out to be caused by a trivial bug in initialization code\nof log writer.  This will fix it.\n\nReported-by: Andrea Gelmini \u003candrea.gelmini@gmail.com\u003e\nSigned-off-by: Ryusuke Konishi \u003ckonishi.ryusuke@lab.ntt.co.jp\u003e\n"
    },
    {
      "commit": "d40990537c9ea85dfe75dbe0ffba5e1002dfdf3f",
      "tree": "3db27e3e911428502942c95b9f8f52e2a041bd54",
      "parents": [
        "fe744fdb74f2417d8571faefa45f72b0ead25f89"
      ],
      "author": {
        "name": "Ryusuke Konishi",
        "email": "konishi.ryusuke@lab.ntt.co.jp",
        "time": "Wed May 25 23:00:27 2011 +0900"
      },
      "committer": {
        "name": "Ryusuke Konishi",
        "email": "konishi.ryusuke@lab.ntt.co.jp",
        "time": "Sat Jun 11 15:51:15 2011 +0900"
      },
      "message": "nilfs2: fix missing block address termination in btree node shrinking\n\nnilfs_btree_delete function does not terminate part of virtual block\naddresses when shrinking the last remaining child node into the root\nnode.  The missing address termination causes that dead btree node\nblocks persist and chip away free disk space.\n\nThis fixes the leak bug on the btree node deletion.\n\nSigned-off-by: Ryusuke Konishi \u003ckonishi.ryusuke@lab.ntt.co.jp\u003e\n"
    },
    {
      "commit": "fe744fdb74f2417d8571faefa45f72b0ead25f89",
      "tree": "516655aad7800018483724cce93c24c2418fc1f4",
      "parents": [
        "59c5f46fbe01a00eedf54a23789634438bb80603"
      ],
      "author": {
        "name": "Ryusuke Konishi",
        "email": "konishi.ryusuke@lab.ntt.co.jp",
        "time": "Wed May 25 23:00:27 2011 +0900"
      },
      "committer": {
        "name": "Ryusuke Konishi",
        "email": "konishi.ryusuke@lab.ntt.co.jp",
        "time": "Sat Jun 11 15:51:15 2011 +0900"
      },
      "message": "nilfs2: fix incorrect block address termination in node concatenation\n\nnilfs_btree_delete function wrongly terminates virtual block address\nof the btree node held by its parent at index 0.  When concatenating\nthe index-0 node with its right sibling node, nilfs_btree_delete\nterminates the block address of index-0 node instead of the right\nsibling node which should be deleted.\n\nThis bug not only wears disk space in the long run, but also causes\nfile system corruption.  This will fix it.\n\nSigned-off-by: Ryusuke Konishi \u003ckonishi.ryusuke@lab.ntt.co.jp\u003e\n"
    },
    {
      "commit": "dfb55de89879a1c32a70d0a510b3701ed9a6b855",
      "tree": "eeff0ef23494c5bf6ea23066b80c53156f21aefc",
      "parents": [
        "64370e2f9df572977757d70b1ad293b743dd9e20"
      ],
      "author": {
        "name": "Sage Weil",
        "email": "sage@newdream.net",
        "time": "Fri May 27 13:41:59 2011 -0700"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Sat May 28 01:02:51 2011 -0400"
      },
      "message": "nilfs2: remove unnecessary dentry_unhash from rmdir, dir rename\n\nnilfs2 does not have problems with references to unlinked directories.\n\nCC: KONISHI Ryusuke \u003ckonishi.ryusuke@lab.ntt.co.jp\u003e\nCC: linux-nilfs@vger.kernel.org\nSigned-off-by: Sage Weil \u003csage@newdream.net\u003e\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "aa38572954ade525817fe88c54faebf85e5a61c0",
      "tree": "ef398ec06c97134592f62a49c99f3f80041b427c",
      "parents": [
        "d6e9bd256c88ce5f4b668249e363a74f51393daa"
      ],
      "author": {
        "name": "Christoph Hellwig",
        "email": "hch@infradead.org",
        "time": "Fri May 27 06:53:02 2011 -0400"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Fri May 27 07:04:40 2011 -0400"
      },
      "message": "fs: pass exact type of data dirties to -\u003edirty_inode\n\nTell the filesystem if we just updated timestamp (I_DIRTY_SYNC) or\nanything else, so that the filesystem can track internally if it\nneeds to push out a transaction for fdatasync or not.\n\nThis is just the prototype change with no user for it yet.  I plan\nto push large XFS changes for the next merge window, and getting\nthis trivial infrastructure in this window would help a lot to avoid\ntree interdependencies.\n\nAlso remove incorrect comments that -\u003edirty_inode can\u0027t block.  That\nhas been changed a long time ago, and many implementations rely on it.\n\nSigned-off-by: Christoph Hellwig \u003chch@lst.de\u003e\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "32e51f141fd8d880f57b6a2eb53ce72856254d4a",
      "tree": "d8d7a0d503533a03fb07b2ebd5eccd9043f2d228",
      "parents": [
        "ca16d140af91febe25daeb9e032bf8bd46b8c31f",
        "b6ff24a333267a6810e28ee5b9fc539d149c52f0"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu May 26 09:52:14 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu May 26 09:52:14 2011 -0700"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs-2.6\n\n* \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs-2.6: (25 commits)\n  cifs: remove unnecessary dentry_unhash on rmdir/rename_dir\n  ocfs2: remove unnecessary dentry_unhash on rmdir/rename_dir\n  exofs: remove unnecessary dentry_unhash on rmdir/rename_dir\n  nfs: remove unnecessary dentry_unhash on rmdir/rename_dir\n  ext2: remove unnecessary dentry_unhash on rmdir/rename_dir\n  ext3: remove unnecessary dentry_unhash on rmdir/rename_dir\n  ext4: remove unnecessary dentry_unhash on rmdir/rename_dir\n  btrfs: remove unnecessary dentry_unhash in rmdir/rename_dir\n  ceph: remove unnecessary dentry_unhash calls\n  vfs: clean up vfs_rename_other\n  vfs: clean up vfs_rename_dir\n  vfs: clean up vfs_rmdir\n  vfs: fix vfs_rename_dir for FS_RENAME_DOES_D_MOVE filesystems\n  libfs: drop unneeded dentry_unhash\n  vfs: update dentry_unhash() comment\n  vfs: push dentry_unhash on rename_dir into file systems\n  vfs: push dentry_unhash on rmdir into file systems\n  vfs: remove dget() from dentry_unhash()\n  vfs: dentry_unhash immediately prior to rmdir\n  vfs: Block mmapped writes while the fs is frozen\n  ...\n"
    },
    {
      "commit": "e4eaac06bcccb2a70bca6a2de9871882dce2aa14",
      "tree": "ca6736d96294cd6e65a1c3055718bfd5adc7336e",
      "parents": [
        "79bf7c732b5ff75b96022ed9d29181afd3d2509c"
      ],
      "author": {
        "name": "Sage Weil",
        "email": "sage@newdream.net",
        "time": "Tue May 24 13:06:07 2011 -0700"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Thu May 26 07:26:48 2011 -0400"
      },
      "message": "vfs: push dentry_unhash on rename_dir into file systems\n\nOnly a few file systems need this.  Start by pushing it down into each\nrename method (except gfs2 and xfs) so that it can be dealt with on a\nper-fs basis.\n\nAcked-by: Christoph Hellwig \u003chch@lst.de\u003e\nSigned-off-by: Sage Weil \u003csage@newdream.net\u003e\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "79bf7c732b5ff75b96022ed9d29181afd3d2509c",
      "tree": "74b8cc690f9a37fff02d0685464e1c695a25ef94",
      "parents": [
        "64252c75a2196a0cf1e0d3777143ecfe0e3ae650"
      ],
      "author": {
        "name": "Sage Weil",
        "email": "sage@newdream.net",
        "time": "Tue May 24 13:06:06 2011 -0700"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Thu May 26 07:26:47 2011 -0400"
      },
      "message": "vfs: push dentry_unhash on rmdir into file systems\n\nOnly a few file systems need this.  Start by pushing it down into each\nfs rmdir method (except gfs2 and xfs) so it can be dealt with on a per-fs\nbasis.\n\nThis does not change behavior for any in-tree file systems.\n\nAcked-by: Christoph Hellwig \u003chch@lst.de\u003e\nSigned-off-by: Sage Weil \u003csage@newdream.net\u003e\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "5fc7b14177b1a1c2f2511aed62a4ca870d0332e7",
      "tree": "f64f2b0f424e7506dd6bb07c133348a9796b2212",
      "parents": [
        "aa405b1f4238401616e7d98620170b424b2dbefc"
      ],
      "author": {
        "name": "Ryusuke Konishi",
        "email": "konishi.ryusuke@lab.ntt.co.jp",
        "time": "Thu May 05 12:56:51 2011 +0900"
      },
      "committer": {
        "name": "Ryusuke Konishi",
        "email": "konishi.ryusuke@lab.ntt.co.jp",
        "time": "Tue May 10 22:21:57 2011 +0900"
      },
      "message": "nilfs2: use mark_buffer_dirty to mark btnode or meta data dirty\n\nThis replaces nilfs_mdt_mark_buffer_dirty and nilfs_btnode_mark_dirty\nmacros with mark_buffer_dirty and gets rid of nilfs_mark_buffer_dirty,\nan own mark buffer dirty function.\n\nSigned-off-by: Ryusuke Konishi \u003ckonishi.ryusuke@lab.ntt.co.jp\u003e\n"
    },
    {
      "commit": "aa405b1f4238401616e7d98620170b424b2dbefc",
      "tree": "c42986a31c3383490d010ae55a97c37f5095220c",
      "parents": [
        "0ef28f9aec4dccfba33cef74412f601c1b48b658"
      ],
      "author": {
        "name": "Ryusuke Konishi",
        "email": "konishi.ryusuke@lab.ntt.co.jp",
        "time": "Thu May 05 12:56:51 2011 +0900"
      },
      "committer": {
        "name": "Ryusuke Konishi",
        "email": "konishi.ryusuke@lab.ntt.co.jp",
        "time": "Tue May 10 22:21:57 2011 +0900"
      },
      "message": "nilfs2: always set back pointer to host inode in mapping-\u003ehost\n\nIn the current nilfs, page cache for btree nodes and meta data files\ndo not set a valid back pointer to the host inode in mapping-\u003ehost.\n\nThis will change it so that every address space in nilfs uses\nmapping-\u003ehost to hold its host inode.\n\nSigned-off-by: Ryusuke Konishi \u003ckonishi.ryusuke@lab.ntt.co.jp\u003e\n"
    },
    {
      "commit": "0ef28f9aec4dccfba33cef74412f601c1b48b658",
      "tree": "12018cde66a20b8e8804c11296ac19a3aec59fea",
      "parents": [
        "0cc1283881d3fcc9011c713e067795ccec322ae7"
      ],
      "author": {
        "name": "Ryusuke Konishi",
        "email": "konishi.ryusuke@lab.ntt.co.jp",
        "time": "Thu May 05 12:56:51 2011 +0900"
      },
      "committer": {
        "name": "Ryusuke Konishi",
        "email": "konishi.ryusuke@lab.ntt.co.jp",
        "time": "Tue May 10 22:21:56 2011 +0900"
      },
      "message": "nilfs2: get rid of NILFS_I_NILFS\n\nThis replaces all references of NILFS_I_NILFS(inode)-\u003ens_bdev with\ninode-\u003ei_sb-\u003es_bdev and unfolds remaining uses of NILFS_I_NILFS inline\nfunction.\n\nBefore 2.6.37, referring to a nilfs object from inodes needed a\nconditional judgement, and NILFS_I_NILFS was helpful to simplify it.\nBut now we can simply do it by going through a super block instance\nlike inode-\u003ei_sb-\u003es_fs_info.\n\nSigned-off-by: Ryusuke Konishi \u003ckonishi.ryusuke@lab.ntt.co.jp\u003e\n"
    },
    {
      "commit": "0cc1283881d3fcc9011c713e067795ccec322ae7",
      "tree": "3d4c314f98b3fdcf2a7d2309e4dc468aa0d98ec4",
      "parents": [
        "293ce0ed8c2d22ff044e6e9fa7b1d4be425d189b"
      ],
      "author": {
        "name": "Ryusuke Konishi",
        "email": "konishi.ryusuke@lab.ntt.co.jp",
        "time": "Thu May 05 12:56:51 2011 +0900"
      },
      "committer": {
        "name": "Ryusuke Konishi",
        "email": "konishi.ryusuke@lab.ntt.co.jp",
        "time": "Tue May 10 22:21:56 2011 +0900"
      },
      "message": "nilfs2: use list_first_entry\n\nThis uses list_first_entry macro instead of list_entry if it\u0027s used to\nget the first entry.\n\nSigned-off-by: Ryusuke Konishi \u003ckonishi.ryusuke@lab.ntt.co.jp\u003e\n"
    },
    {
      "commit": "293ce0ed8c2d22ff044e6e9fa7b1d4be425d189b",
      "tree": "182afc8ba9d53fe93049968e43bea74363c58fac",
      "parents": [
        "4e33f9eab07e985282fece4121066c2db1d332ed"
      ],
      "author": {
        "name": "Ryusuke Konishi",
        "email": "konishi.ryusuke@lab.ntt.co.jp",
        "time": "Thu May 05 12:56:51 2011 +0900"
      },
      "committer": {
        "name": "Ryusuke Konishi",
        "email": "konishi.ryusuke@lab.ntt.co.jp",
        "time": "Tue May 10 22:21:56 2011 +0900"
      },
      "message": "nilfs2: use empty_aops for gc-inodes\n\nApplies empty_aops for address space operations of gc-inodes.\n\nSigned-off-by: Ryusuke Konishi \u003ckonishi.ryusuke@lab.ntt.co.jp\u003e\n"
    },
    {
      "commit": "4e33f9eab07e985282fece4121066c2db1d332ed",
      "tree": "08161cabc013f0543d65d9c9ed63689f9f68803d",
      "parents": [
        "78eb64c2479e0f408b725c3c8e1cdf557857af48"
      ],
      "author": {
        "name": "Ryusuke Konishi",
        "email": "konishi.ryusuke@lab.ntt.co.jp",
        "time": "Thu May 05 01:23:58 2011 +0900"
      },
      "committer": {
        "name": "Ryusuke Konishi",
        "email": "konishi.ryusuke@lab.ntt.co.jp",
        "time": "Tue May 10 22:21:46 2011 +0900"
      },
      "message": "nilfs2: implement resize ioctl\n\nThis adds resize ioctl which makes online resize possible.\n\nSigned-off-by: Ryusuke Konishi \u003ckonishi.ryusuke@lab.ntt.co.jp\u003e\n"
    },
    {
      "commit": "78eb64c2479e0f408b725c3c8e1cdf557857af48",
      "tree": "0aaee16c95e7a1a6ca4b1c7136bebf9dcea48a1b",
      "parents": [
        "cfb0a4bfd8736418cbe5cbc115cabc84b527111e"
      ],
      "author": {
        "name": "Ryusuke Konishi",
        "email": "konishi.ryusuke@lab.ntt.co.jp",
        "time": "Thu May 05 01:23:58 2011 +0900"
      },
      "committer": {
        "name": "Ryusuke Konishi",
        "email": "konishi.ryusuke@lab.ntt.co.jp",
        "time": "Tue May 10 22:21:45 2011 +0900"
      },
      "message": "nilfs2: add truncation routine of segment usage file\n\nWhen shrinking the filesystem, segments to be truncated must be test\nif they are busy or not, and unneeded sufile block should be deleted.\nThis adds routines for the truncation.\n\nSigned-off-by: Ryusuke Konishi \u003ckonishi.ryusuke@lab.ntt.co.jp\u003e\n"
    },
    {
      "commit": "cfb0a4bfd8736418cbe5cbc115cabc84b527111e",
      "tree": "9faf66ad535fea01e19bc3f7bf59fe8fd75d8082",
      "parents": [
        "619205da5b567504310daf829dede1187fa29bbc"
      ],
      "author": {
        "name": "Ryusuke Konishi",
        "email": "konishi.ryusuke@lab.ntt.co.jp",
        "time": "Thu May 05 01:23:57 2011 +0900"
      },
      "committer": {
        "name": "Ryusuke Konishi",
        "email": "konishi.ryusuke@lab.ntt.co.jp",
        "time": "Tue May 10 22:21:45 2011 +0900"
      },
      "message": "nilfs2: add routine to move secondary super block\n\nAfter resizing the filesystem, the secondary super block must be moved\nto a new location.  This adds a helper function for this.\n\nSigned-off-by: Ryusuke Konishi \u003ckonishi.ryusuke@lab.ntt.co.jp\u003e\n"
    },
    {
      "commit": "619205da5b567504310daf829dede1187fa29bbc",
      "tree": "cd672bb647ff22c711d93437fc53821852f27eba",
      "parents": [
        "56eb55388580ebd51f3bbd9af40ebb56849356af"
      ],
      "author": {
        "name": "Ryusuke Konishi",
        "email": "konishi.ryusuke@lab.ntt.co.jp",
        "time": "Thu May 05 01:23:57 2011 +0900"
      },
      "committer": {
        "name": "Ryusuke Konishi",
        "email": "konishi.ryusuke@lab.ntt.co.jp",
        "time": "Tue May 10 22:21:45 2011 +0900"
      },
      "message": "nilfs2: add ioctl which limits range of segment to be allocated\n\nThis adds a new ioctl command which limits range of segment to be\nallocated.  This is intended to gather data whithin a range of the\npartition before shrinking the filesystem, or to control new log\nlocation for some purpose.\n\nIf a range is specified by the ioctl, segment allocator of nilfs tries\nto allocate new segments from the range unless no free segments are\navailable there.\n\nSigned-off-by: Ryusuke Konishi \u003ckonishi.ryusuke@lab.ntt.co.jp\u003e\n"
    },
    {
      "commit": "56eb55388580ebd51f3bbd9af40ebb56849356af",
      "tree": "7d1ed80fa05150c40a75d5755981c8d949ae634b",
      "parents": [
        "6c6de1aa65189c37cc3c9af78da756c06a99899b"
      ],
      "author": {
        "name": "Ryusuke Konishi",
        "email": "konishi.ryusuke@lab.ntt.co.jp",
        "time": "Sat Apr 30 18:56:12 2011 +0900"
      },
      "committer": {
        "name": "Ryusuke Konishi",
        "email": "konishi.ryusuke@lab.ntt.co.jp",
        "time": "Tue May 10 22:21:45 2011 +0900"
      },
      "message": "nilfs2: zero fill unused portion of super root block\n\nThe super root block is newly-allocated each time it is written back\nto disk, so unused portion of the block should be cleared.\n\nSigned-off-by: Ryusuke Konishi \u003ckonishi.ryusuke@lab.ntt.co.jp\u003e\n"
    },
    {
      "commit": "6c6de1aa65189c37cc3c9af78da756c06a99899b",
      "tree": "13f6d4a90d81357d581b80b8e400bd0b53b0a3e7",
      "parents": [
        "1cb2d38cb3e59d58e8321a0592e84b5761afb063"
      ],
      "author": {
        "name": "Ryusuke Konishi",
        "email": "konishi.ryusuke@lab.ntt.co.jp",
        "time": "Sat Apr 30 18:56:12 2011 +0900"
      },
      "committer": {
        "name": "Ryusuke Konishi",
        "email": "konishi.ryusuke@lab.ntt.co.jp",
        "time": "Tue May 10 22:21:44 2011 +0900"
      },
      "message": "nilfs2: super root size should change depending on inode size\n\nThe size of super root structure depends on inode size, so\nNILFS_SR_BYTES macro should be a function of the inode size.  This\nfixes the issue.\n\nEven though a different size value will be written for a possible\nfuture filesystem with extended inode, but fortunately this does not\nbreak disk format compatibility.\n\nSigned-off-by: Ryusuke Konishi \u003ckonishi.ryusuke@lab.ntt.co.jp\u003e\n"
    },
    {
      "commit": "1cb2d38cb3e59d58e8321a0592e84b5761afb063",
      "tree": "151e7ffccd72f786a3da511b0f23906961835a22",
      "parents": [
        "eaae0f37d83bed7ccd0c6d0f52de1de44f92aecc"
      ],
      "author": {
        "name": "Ryusuke Konishi",
        "email": "konishi.ryusuke@lab.ntt.co.jp",
        "time": "Mon Apr 04 12:53:28 2011 +0900"
      },
      "committer": {
        "name": "Ryusuke Konishi",
        "email": "konishi.ryusuke@lab.ntt.co.jp",
        "time": "Tue May 10 22:21:44 2011 +0900"
      },
      "message": "nilfs2: get rid of private page allocator\n\nPreviously, nilfs was cloning pages for mmapped region to freeze their\ndata and ensure consistency of checksum during writeback cycles.  A\nprivate page allocator was used for this page cloning.  But, we no\nlonger need to do that since clear_page_dirty_for_io function sets up\npte so that vm_ops-\u003epage_mkwrite function is called right before the\nmmapped pages are modified and nilfs_page_mkwrite function can safely\nwait for the pages to be written back to disk.\n\nSo, this stops making a copy of mmapped pages during writeback, and\neliminates the private page allocation and deallocation functions from\nnilfs.\n\nSigned-off-by: Ryusuke Konishi \u003ckonishi.ryusuke@lab.ntt.co.jp\u003e\n"
    },
    {
      "commit": "eaae0f37d83bed7ccd0c6d0f52de1de44f92aecc",
      "tree": "15f643a13b7d80ab9406ac84c2430b151983a531",
      "parents": [
        "349dbc3669d043e656f3ed48c7bfe073ca1c6326"
      ],
      "author": {
        "name": "Nicolas Kaiser",
        "email": "nikai@nikai.net",
        "time": "Sat Mar 19 16:45:30 2011 +0100"
      },
      "committer": {
        "name": "Ryusuke Konishi",
        "email": "konishi.ryusuke@lab.ntt.co.jp",
        "time": "Tue May 10 22:21:44 2011 +0900"
      },
      "message": "nilfs2: merge list_del()/list_add_tail() to list_move_tail()\n\nMerge list_del() + list_add_tail() to list_move_tail().\n\nSigned-off-by: Nicolas Kaiser \u003cnikai@nikai.net\u003e\nSigned-off-by: Ryusuke Konishi \u003ckonishi.ryusuke@lab.ntt.co.jp\u003e\n"
    },
    {
      "commit": "349dbc3669d043e656f3ed48c7bfe073ca1c6326",
      "tree": "aaa278f89f4425332dccc37c18f44603f042eaf1",
      "parents": [
        "693d92a1bbc9e42681c42ed190bd42b636ca876f"
      ],
      "author": {
        "name": "Ryusuke Konishi",
        "email": "konishi.ryusuke@lab.ntt.co.jp",
        "time": "Tue May 10 20:59:34 2011 +0900"
      },
      "committer": {
        "name": "Ryusuke Konishi",
        "email": "konishi.ryusuke@lab.ntt.co.jp",
        "time": "Tue May 10 22:19:50 2011 +0900"
      },
      "message": "nilfs2: fix infinite loop in nilfs_palloc_freev function\n\nAfter having applied commit 9954e7af14868b8b (\"nilfs2: add free\nentries count only if clear bit operation succeeded\"), a free routine\nof nilfs came to fall into an infinite loop, outputting the same\nmessage endlessly:\n\n nilfs_palloc_freev: entry number 29497 already freed\n nilfs_palloc_freev: entry number 29497 already freed\n nilfs_palloc_freev: entry number 29497 already freed\n nilfs_palloc_freev: entry number 29497 already freed\n nilfs_palloc_freev: entry number 29497 already freed ...\n\nThat patch broke the routine so that a loop counter is never updated\nin an abnormal state.  This fixes the regression.\n\nSigned-off-by: Ryusuke Konishi \u003ckonishi.ryusuke@lab.ntt.co.jp\u003e\n"
    },
    {
      "commit": "7dcda1c96d7c643101d4a05579ef4512a4baa7ef",
      "tree": "62051d63c47a3df7381cdc294815e79da5ebdc93",
      "parents": [
        "929e27252e8ca69363f81f26af5eaba62cb4c572"
      ],
      "author": {
        "name": "Jens Axboe",
        "email": "jaxboe@fusionio.com",
        "time": "Tue Apr 05 23:51:48 2011 +0200"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jaxboe@fusionio.com",
        "time": "Tue Apr 05 23:51:48 2011 +0200"
      },
      "message": "fs: export empty_aops\n\nWith the -\u003esync_page() hook gone, we have a few users that\nadd their own static address_space_operations without any\nfunctions defined.\n\nfs/inode.c already has an empty_aops that it uses for init\npurposes. Lets export that and use it in the places where\nan otherwise empty aops was defined.\n\nSigned-off-by: Jens Axboe \u003cjaxboe@fusionio.com\u003e\n"
    },
    {
      "commit": "af71dda0b8e667d03eec21d25f90265eec5efea1",
      "tree": "fe070073c86352f4ffd30381b8f7ba3a158d4619",
      "parents": [
        "d611b22f1a5ddd0823e9d6a30bac91219f800e41"
      ],
      "author": {
        "name": "Nicolas Kaiser",
        "email": "nikai@nikai.net",
        "time": "Sat Mar 19 16:47:54 2011 +0100"
      },
      "committer": {
        "name": "Ryusuke Konishi",
        "email": "konishi.ryusuke@lab.ntt.co.jp",
        "time": "Wed Mar 30 17:39:54 2011 +0900"
      },
      "message": "nilfs2: fix whitespace coding style issues\n\nFixes whitespace coding style issues.\n\nSigned-off-by: Nicolas Kaiser \u003cnikai@nikai.net\u003e\nSigned-off-by: Ryusuke Konishi \u003ckonishi.ryusuke@lab.ntt.co.jp\u003e\n"
    },
    {
      "commit": "d611b22f1a5ddd0823e9d6a30bac91219f800e41",
      "tree": "a0896c5007c47662dd52158e76972cac7a682d4c",
      "parents": [
        "34094537943113467faee98fe67c8a3d3f9a0a8b"
      ],
      "author": {
        "name": "Ryusuke Konishi",
        "email": "konishi.ryusuke@lab.ntt.co.jp",
        "time": "Wed Mar 30 11:49:20 2011 +0900"
      },
      "committer": {
        "name": "Ryusuke Konishi",
        "email": "konishi.ryusuke@lab.ntt.co.jp",
        "time": "Wed Mar 30 17:39:25 2011 +0900"
      },
      "message": "nilfs2: fix oops due to a bad aops initialization\n\nNilfs in 2.6.39-rc1 hit the following oops:\n\n BUG: unable to handle kernel NULL pointer dereference at 0000000000000048\n IP: [\u003cffffffff810ac235\u003e] try_to_release_page+0x2a/0x3d\n PGD 234cb6067 PUD 234c72067 PMD 0\n Oops: 0000 [#1] SMP\n \u003csnip\u003e\n Process truncate (pid: 10995, threadinfo ffff8802353c2000, task ffff880234cfa000)\n Stack:\n  ffff8802333c77b8 ffffffff810b64b0 0000000000003802 ffffffffa0052cca\n  0000000000000000 ffff8802353c3b58 0000000000000000 ffff8802353c3b58\n  0000000000000001 0000000000000000 ffffea0007b92308 ffffea0007b92308\n Call Trace:\n  [\u003cffffffff810b64b0\u003e] ? invalidate_inode_pages2_range+0x15f/0x273\n  [\u003cffffffffa0052cca\u003e] ? nilfs_palloc_get_block+0x2d/0xaf [nilfs2]\n  [\u003cffffffff810589e7\u003e] ? bit_waitqueue+0x14/0xa1\n  [\u003cffffffff81058ab1\u003e] ? wake_up_bit+0x10/0x20\n  [\u003cffffffffa00433fd\u003e] ? nilfs_forget_buffer+0x66/0x7a [nilfs2]\n  [\u003cffffffffa00467b8\u003e] ? nilfs_btree_concat_left+0x5c/0x77 [nilfs2]\n  [\u003cffffffffa00471fc\u003e] ? nilfs_btree_delete+0x395/0x3cf [nilfs2]\n  [\u003cffffffffa00449a3\u003e] ? nilfs_bmap_do_delete+0x6e/0x79 [nilfs2]\n  [\u003cffffffffa0045845\u003e] ? nilfs_btree_last_key+0x14b/0x15e [nilfs2]\n  [\u003cffffffffa00449dd\u003e] ? nilfs_bmap_truncate+0x2f/0x83 [nilfs2]\n  [\u003cffffffffa0044ab2\u003e] ? nilfs_bmap_last_key+0x35/0x62 [nilfs2]\n  [\u003cffffffffa003e99b\u003e] ? nilfs_truncate_bmap+0x6b/0xc7 [nilfs2]\n  [\u003cffffffffa003ee4a\u003e] ? nilfs_truncate+0x79/0xe4 [nilfs2]\n  [\u003cffffffff810b6c00\u003e] ? vmtruncate+0x33/0x3b\n  [\u003cffffffffa003e8f1\u003e] ? nilfs_setattr+0x4d/0x8c [nilfs2]\n  [\u003cffffffff81026106\u003e] ? do_page_fault+0x31b/0x356\n  [\u003cffffffff810f9d61\u003e] ? notify_change+0x17d/0x262\n  [\u003cffffffff810e5046\u003e] ? do_truncate+0x65/0x80\n  [\u003cffffffff810e52af\u003e] ? sys_ftruncate+0xf1/0xf6\n  [\u003cffffffff8132c012\u003e] ? system_call_fastpath+0x16/0x1b\n Code: c3 48 83 ec 08 48 8b 17 48 8b 47 18 80 e2 01 75 04 0f 0b eb fe 48 8b 17 80 e6 20 74 05 31 c0 41 59 c3 48 85 c0 74 11 48 8b 40 58\n  8b 40 48 48 85 c0 74 04 41 58 ff e0 59 e9 b1 b5 05 00 41 54\n RIP  [\u003cffffffff810ac235\u003e] try_to_release_page+0x2a/0x3d\n  RSP \u003cffff8802353c3b08\u003e\n CR2: 0000000000000048\n\nThis oops was brought in by the change \"block: remove per-queue\nplugging\" (commit: 7eaceaccab5f40bb).  It initializes mapping-\u003ea_ops\nwith a NULL pointer for some pages in nilfs (e.g. btree node pages),\nbut mm code doesn\u0027t NULL pointer checks against mapping-\u003ea_ops. (the\ncheck is done for each callback function)\n\nThis corrects the aops initialization and fixes the oops.\n\nSigned-off-by: Ryusuke Konishi \u003ckonishi.ryusuke@lab.ntt.co.jp\u003e\nAcked-by: Jens Axboe \u003cjaxboe@fusionio.com\u003e\n"
    },
    {
      "commit": "34094537943113467faee98fe67c8a3d3f9a0a8b",
      "tree": "b848b18c90bfd29655e5806e81c54d02946c980d",
      "parents": [
        "0ce790e7d736cedc563e1fb4e998babf5a4dbc3d"
      ],
      "author": {
        "name": "Ryusuke Konishi",
        "email": "konishi.ryusuke@lab.ntt.co.jp",
        "time": "Sun Mar 27 22:50:49 2011 +0900"
      },
      "committer": {
        "name": "Ryusuke Konishi",
        "email": "konishi.ryusuke@lab.ntt.co.jp",
        "time": "Wed Mar 30 10:45:31 2011 +0900"
      },
      "message": "nilfs2: fix data loss in mmap page write for hole blocks\n\nFrom the result of a function test of mmap, mmap write to shared pages\nturned out to be broken for hole blocks.  It doesn\u0027t write out filled\nblocks and the data will be lost after umount.  This is due to a bug\nthat the target file is not queued for log writer when filling hole\nblocks.\n\nAlso, nilfs_page_mkwrite function exits normal code path even after\nsuccessfully filled hole blocks due to a change of block_page_mkwrite\nfunction; just after nilfs was merged into the mainline,\nblock_page_mkwrite() started to return VM_FAULT_LOCKED instead of zero\nby the patch \"mm: close page_mkwrite races\" (commit:\nb827e496c893de0c).  The current nilfs_page_mkwrite() is not handling\nthis value properly.\n\nThis corrects nilfs_page_mkwrite() and will resolve the data loss\nproblem in mmap write.\n\n[This should be applied to every kernel since 2.6.30 but a fix is\n needed for 2.6.37 and prior kernels]\n\nSigned-off-by: Ryusuke Konishi \u003ckonishi.ryusuke@lab.ntt.co.jp\u003e\nTested-by: Ryusuke Konishi \u003ckonishi.ryusuke@lab.ntt.co.jp\u003e\nCc: stable \u003cstable@kernel.org\u003e  [2.6.38]\n"
    },
    {
      "commit": "6c5103890057b1bb781b26b7aae38d33e4c517d8",
      "tree": "e6e57961dcddcb5841acb34956e70b9dc696a880",
      "parents": [
        "3dab04e6978e358ad2307bca563fabd6c5d2c58b",
        "9d2e157d970a73b3f270b631828e03eb452d525e"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Mar 24 10:16:26 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Mar 24 10:16:26 2011 -0700"
      },
      "message": "Merge branch \u0027for-2.6.39/core\u0027 of git://git.kernel.dk/linux-2.6-block\n\n* \u0027for-2.6.39/core\u0027 of git://git.kernel.dk/linux-2.6-block: (65 commits)\n  Documentation/iostats.txt: bit-size reference etc.\n  cfq-iosched: removing unnecessary think time checking\n  cfq-iosched: Don\u0027t clear queue stats when preempt.\n  blk-throttle: Reset group slice when limits are changed\n  blk-cgroup: Only give unaccounted_time under debug\n  cfq-iosched: Don\u0027t set active queue in preempt\n  block: fix non-atomic access to genhd inflight structures\n  block: attempt to merge with existing requests on plug flush\n  block: NULL dereference on error path in __blkdev_get()\n  cfq-iosched: Don\u0027t update group weights when on service tree\n  fs: assign sb-\u003es_bdi to default_backing_dev_info if the bdi is going away\n  block: Require subsystems to explicitly allocate bio_set integrity mempool\n  jbd2: finish conversion from WRITE_SYNC_PLUG to WRITE_SYNC and explicit plugging\n  jbd: finish conversion from WRITE_SYNC_PLUG to WRITE_SYNC and explicit plugging\n  fs: make fsync_buffers_list() plug\n  mm: make generic_writepages() use plugging\n  blk-cgroup: Add unaccounted time to timeslice_used.\n  block: fixup plugging stubs for !CONFIG_BLOCK\n  block: remove obsolete comments for blkdev_issue_zeroout.\n  blktrace: Use rq-\u003ecmd_flags directly in blk_add_trace_rq.\n  ...\n\nFix up conflicts in fs/{aio.c,super.c}\n"
    },
    {
      "commit": "2e1496707560ecf98e9b0604622c0990f94861d3",
      "tree": "d1473b70fad31a903fedc87221680678a6c6c5f6",
      "parents": [
        "e795b71799ff0b27365020c9ddaa25d0d83f99c8"
      ],
      "author": {
        "name": "Serge E. Hallyn",
        "email": "serge@hallyn.com",
        "time": "Wed Mar 23 16:43:26 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Mar 23 19:47:13 2011 -0700"
      },
      "message": "userns: rename is_owner_or_cap to inode_owner_or_capable\n\nAnd give it a kernel-doc comment.\n\n[akpm@linux-foundation.org: btrfs changed in linux-next]\nSigned-off-by: Serge E. Hallyn \u003cserge.hallyn@canonical.com\u003e\nCc: \"Eric W. Biederman\" \u003cebiederm@xmission.com\u003e\nCc: Daniel Lezcano \u003cdaniel.lezcano@free.fr\u003e\nAcked-by: David Howells \u003cdhowells@redhat.com\u003e\nCc: James Morris \u003cjmorris@namei.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "a49ebbabb084d345991b72818a119616431416f2",
      "tree": "9e89ac864c70ccd83c9f83df5c94d7466c28b394",
      "parents": [
        "c4354d0d6812ad6729ac33d3c8bc64585cfdb890"
      ],
      "author": {
        "name": "Akinobu Mita",
        "email": "akinobu.mita@gmail.com",
        "time": "Wed Mar 23 16:42:08 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Mar 23 19:46:18 2011 -0700"
      },
      "message": "nilfs2: use little-endian bitops\n\nAs a preparation for removing ext2 non-atomic bit operations from\nasm/bitops.h.  This converts ext2 non-atomic bit operations to\nlittle-endian bit operations.\n\nSigned-off-by: Akinobu Mita \u003cakinobu.mita@gmail.com\u003e\nAcked-by: Ryusuke Konishi \u003ckonishi.ryusuke@lab.ntt.co.jp\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "4c63f5646e405b5010cc9499419060bf2e838f5b",
      "tree": "df91ba315032c8ec4aafeb3ab96fdfa7c6c656e1",
      "parents": [
        "cafb0bfca1a73efd6d8a4a6a6a716e6134b96c24",
        "69d60eb96ae8a73cf9b79cf28051caf973006011"
      ],
      "author": {
        "name": "Jens Axboe",
        "email": "jaxboe@fusionio.com",
        "time": "Thu Mar 10 08:58:35 2011 +0100"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jaxboe@fusionio.com",
        "time": "Thu Mar 10 08:58:35 2011 +0100"
      },
      "message": "Merge branch \u0027for-2.6.39/stack-plug\u0027 into for-2.6.39/core\n\nConflicts:\n\tblock/blk-core.c\n\tblock/blk-flush.c\n\tdrivers/md/raid1.c\n\tdrivers/md/raid10.c\n\tdrivers/md/raid5.c\n\tfs/nilfs2/btnode.c\n\tfs/nilfs2/mdt.c\n\nSigned-off-by: Jens Axboe \u003cjaxboe@fusionio.com\u003e\n"
    },
    {
      "commit": "721a9602e6607417c6bc15b18e97a2f35266c690",
      "tree": "4987991e43f35b8b3b685fea0040c5265b578996",
      "parents": [
        "cf15900e1209d5b46ec2d24643adbf561830935f"
      ],
      "author": {
        "name": "Jens Axboe",
        "email": "jaxboe@fusionio.com",
        "time": "Wed Mar 09 11:56:30 2011 +0100"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jaxboe@fusionio.com",
        "time": "Thu Mar 10 08:52:27 2011 +0100"
      },
      "message": "block: kill off REQ_UNPLUG\n\nWith the plugging now being explicitly controlled by the\nsubmitter, callers need not pass down unplugging hints\nto the block layer. If they want to unplug, it\u0027s because they\nmanually plugged on their own - in which case, they should just\nunplug at will.\n\nSigned-off-by: Jens Axboe \u003cjaxboe@fusionio.com\u003e\n"
    },
    {
      "commit": "7eaceaccab5f40bbfda044629a6298616aeaed50",
      "tree": "33954d12f63e25a47eb6d86ef3d3d0a5e62bf752",
      "parents": [
        "73c101011926c5832e6e141682180c4debe2cf45"
      ],
      "author": {
        "name": "Jens Axboe",
        "email": "jaxboe@fusionio.com",
        "time": "Thu Mar 10 08:52:07 2011 +0100"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jaxboe@fusionio.com",
        "time": "Thu Mar 10 08:52:07 2011 +0100"
      },
      "message": "block: remove per-queue plugging\n\nCode has been converted over to the new explicit on-stack plugging,\nand delay users have been converted to use the new API for that.\nSo lets kill off the old plugging along with aops-\u003esync_page().\n\nSigned-off-by: Jens Axboe \u003cjaxboe@fusionio.com\u003e\n"
    },
    {
      "commit": "e3154e9748f0f337e9f6ff9dc7d7bf24d426bd1a",
      "tree": "ac2a3f3dca6189b8a608571c49da66386fd1bdec",
      "parents": [
        "f7545144c2e3d280139260df934043e0a6ccce6f"
      ],
      "author": {
        "name": "Ryusuke Konishi",
        "email": "konishi.ryusuke@lab.ntt.co.jp",
        "time": "Wed Mar 09 11:05:08 2011 +0900"
      },
      "committer": {
        "name": "Ryusuke Konishi",
        "email": "konishi.ryusuke@lab.ntt.co.jp",
        "time": "Wed Mar 09 11:54:26 2011 +0900"
      },
      "message": "nilfs2: get rid of nilfs_sb_info structure\n\nThis directly uses sb-\u003es_fs_info to keep a nilfs filesystem object and\nfully removes the intermediate nilfs_sb_info structure.  With this\nchange, the hierarchy of on-memory structures of nilfs will be\nsimplified as follows:\n\nBefore:\n  super_block\n       -\u003e nilfs_sb_info\n             -\u003e the_nilfs\n                   -\u003e cptree --+-\u003e nilfs_root (current file system)\n                               +-\u003e nilfs_root (snapshot A)\n                               +-\u003e nilfs_root (snapshot B)\n                               :\n             -\u003e nilfs_sc_info (log writer structure)\nAfter:\n  super_block\n       -\u003e the_nilfs\n             -\u003e cptree --+-\u003e nilfs_root (current file system)\n                         +-\u003e nilfs_root (snapshot A)\n                         +-\u003e nilfs_root (snapshot B)\n                         :\n             -\u003e nilfs_sc_info (log writer structure)\n\nThe reason why we didn\u0027t design so from the beginning is because the\ninitial shape also differed from the above.  The early hierachy was\ncomposed of \"per-mount-point\" super_block -\u003e nilfs_sb_info pairs and a\nshared nilfs object.  On the kernel 2.6.37, it was changed to the\ncurrent shape in order to unify super block instances into one per\ndevice, and this cleanup became applicable as the result.\n\nSigned-off-by: Ryusuke Konishi \u003ckonishi.ryusuke@lab.ntt.co.jp\u003e\n"
    },
    {
      "commit": "f7545144c2e3d280139260df934043e0a6ccce6f",
      "tree": "4e0930f2d4c45a71e300c7ac45c6e55a6d1c6675",
      "parents": [
        "d96bbfa28aa7a1d5a5bf549026a594d7a273c5d7"
      ],
      "author": {
        "name": "Ryusuke Konishi",
        "email": "konishi.ryusuke@lab.ntt.co.jp",
        "time": "Wed Mar 09 11:05:08 2011 +0900"
      },
      "committer": {
        "name": "Ryusuke Konishi",
        "email": "konishi.ryusuke@lab.ntt.co.jp",
        "time": "Wed Mar 09 11:05:08 2011 +0900"
      },
      "message": "nilfs2: use sb instance instead of nilfs_sb_info struct\n\nThis replaces sbi uses with direct reference to sb instance.\n\nSigned-off-by: Ryusuke Konishi \u003ckonishi.ryusuke@lab.ntt.co.jp\u003e\n"
    },
    {
      "commit": "d96bbfa28aa7a1d5a5bf549026a594d7a273c5d7",
      "tree": "da846510626ba9d2182790201db49aaba35dbdf3",
      "parents": [
        "3fd3fe5aeaa171a5638d2bb54a1a170eab7b7cdc"
      ],
      "author": {
        "name": "Ryusuke Konishi",
        "email": "konishi.ryusuke@lab.ntt.co.jp",
        "time": "Wed Mar 09 11:05:08 2011 +0900"
      },
      "committer": {
        "name": "Ryusuke Konishi",
        "email": "konishi.ryusuke@lab.ntt.co.jp",
        "time": "Wed Mar 09 11:05:08 2011 +0900"
      },
      "message": "nilfs2: get rid of sc_sbi back pointer\n\nRemoves sci-\u003esc_sbi which is a back pointer to nilfs_sb_info struct\nfrom log writer object (nilfs_sc_info).\n\nSigned-off-by: Ryusuke Konishi \u003ckonishi.ryusuke@lab.ntt.co.jp\u003e\n"
    },
    {
      "commit": "3fd3fe5aeaa171a5638d2bb54a1a170eab7b7cdc",
      "tree": "3feb95a18e045883b0af27da09be10f5e011776f",
      "parents": [
        "9b1fc4e4973469dd3fab27ba5d78eca1cd5c13fe"
      ],
      "author": {
        "name": "Ryusuke Konishi",
        "email": "konishi.ryusuke@lab.ntt.co.jp",
        "time": "Wed Mar 09 11:05:08 2011 +0900"
      },
      "committer": {
        "name": "Ryusuke Konishi",
        "email": "konishi.ryusuke@lab.ntt.co.jp",
        "time": "Wed Mar 09 11:05:08 2011 +0900"
      },
      "message": "nilfs2: move log writer onto nilfs object\n\nLog writer is held by the nilfs_sb_info structure.  This moves it into\nnilfs object and replaces all uses of NILFS_SC() accessor.\n\nSigned-off-by: Ryusuke Konishi \u003ckonishi.ryusuke@lab.ntt.co.jp\u003e\n"
    },
    {
      "commit": "9b1fc4e4973469dd3fab27ba5d78eca1cd5c13fe",
      "tree": "0f51872d41cbc1e43db2fafab0074c107dfce7e7",
      "parents": [
        "693dd321222f03b17668f88ceb0f7d518900191e"
      ],
      "author": {
        "name": "Ryusuke Konishi",
        "email": "konishi.ryusuke@lab.ntt.co.jp",
        "time": "Wed Mar 09 11:05:08 2011 +0900"
      },
      "committer": {
        "name": "Ryusuke Konishi",
        "email": "konishi.ryusuke@lab.ntt.co.jp",
        "time": "Wed Mar 09 11:05:08 2011 +0900"
      },
      "message": "nilfs2: move next generation counter into nilfs object\n\nMoves s_next_generation counter and a spinlock protecting it to nilfs\nobject from nilfs_sb_info structure.\n\nSigned-off-by: Ryusuke Konishi \u003ckonishi.ryusuke@lab.ntt.co.jp\u003e\n"
    },
    {
      "commit": "693dd321222f03b17668f88ceb0f7d518900191e",
      "tree": "b0088ee73f3499e0b3301fc5dcf44c677cfd092d",
      "parents": [
        "574e6c3145c5754141361c695b58736c294a8ae1"
      ],
      "author": {
        "name": "Ryusuke Konishi",
        "email": "konishi.ryusuke@lab.ntt.co.jp",
        "time": "Wed Mar 09 11:05:07 2011 +0900"
      },
      "committer": {
        "name": "Ryusuke Konishi",
        "email": "konishi.ryusuke@lab.ntt.co.jp",
        "time": "Wed Mar 09 11:05:07 2011 +0900"
      },
      "message": "nilfs2: move s_inode_lock and s_dirty_files into nilfs object\n\nMoves s_inode_lock spinlock and s_dirty_files list to nilfs object\nfrom nilfs_sb_info structure.\n\nSigned-off-by: Ryusuke Konishi \u003ckonishi.ryusuke@lab.ntt.co.jp\u003e\n"
    },
    {
      "commit": "574e6c3145c5754141361c695b58736c294a8ae1",
      "tree": "42fdaf8a107b8a42a1ea239675ac9461e97d0990",
      "parents": [
        "3b2ce58b0f3c1633750529713be0e467282abd78"
      ],
      "author": {
        "name": "Ryusuke Konishi",
        "email": "konishi.ryusuke@lab.ntt.co.jp",
        "time": "Wed Mar 09 11:05:07 2011 +0900"
      },
      "committer": {
        "name": "Ryusuke Konishi",
        "email": "konishi.ryusuke@lab.ntt.co.jp",
        "time": "Wed Mar 09 11:05:07 2011 +0900"
      },
      "message": "nilfs2: move parameters on nilfs_sb_info into nilfs object\n\nThis moves four parameter variables on nilfs_sb_info s_resuid,\ns_resgid, s_interval and s_watermark to the nilfs object.\n\nSigned-off-by: Ryusuke Konishi \u003ckonishi.ryusuke@lab.ntt.co.jp\u003e\n"
    },
    {
      "commit": "3b2ce58b0f3c1633750529713be0e467282abd78",
      "tree": "48c0111adadf00e67933fb5d9883296754fca6ce",
      "parents": [
        "be667377a8b8cd73e1b923f33fb5be4034aa4bfa"
      ],
      "author": {
        "name": "Ryusuke Konishi",
        "email": "konishi.ryusuke@lab.ntt.co.jp",
        "time": "Wed Mar 09 11:05:07 2011 +0900"
      },
      "committer": {
        "name": "Ryusuke Konishi",
        "email": "konishi.ryusuke@lab.ntt.co.jp",
        "time": "Wed Mar 09 11:05:07 2011 +0900"
      },
      "message": "nilfs2: move mount options to nilfs object\n\nThis moves mount_opt local variable to nilfs object from nilfs_sb_info\nstruct.\n\nSigned-off-by: Ryusuke Konishi \u003ckonishi.ryusuke@lab.ntt.co.jp\u003e\n"
    },
    {
      "commit": "be667377a8b8cd73e1b923f33fb5be4034aa4bfa",
      "tree": "8baee2f9155728331eeade85ec93547402f4e606",
      "parents": [
        "ae191838b0251d73b9d0a7254c6938406f5f6320"
      ],
      "author": {
        "name": "Ryusuke Konishi",
        "email": "konishi.ryusuke@lab.ntt.co.jp",
        "time": "Sat Mar 05 00:19:32 2011 +0900"
      },
      "committer": {
        "name": "Ryusuke Konishi",
        "email": "konishi.ryusuke@lab.ntt.co.jp",
        "time": "Tue Mar 08 14:58:31 2011 +0900"
      },
      "message": "nilfs2: record used amount of each checkpoint in checkpoint list\n\nThis records the number of used blocks per checkpoint in each\ncheckpoint entry of cpfile.  Even though userland tools can get the\nblock count via nilfs_get_cpinfo ioctl, it was not updated by the\nnilfs2 kernel code.  This fixes the issue and makes it available for\nuserland tools to calculate used amount per checkpoint.\n\nSigned-off-by: Ryusuke Konishi \u003ckonishi.ryusuke@lab.ntt.co.jp\u003e\nCc: Jiro SEKIBA \u003cjir@unicus.jp\u003e\n"
    },
    {
      "commit": "ae191838b0251d73b9d0a7254c6938406f5f6320",
      "tree": "5f2b08f5ab421c3644a988acc5ec7a1c65a631bd",
      "parents": [
        "4138ec23820012009aecc2b02856c62872dd3c34"
      ],
      "author": {
        "name": "Ryusuke Konishi",
        "email": "konishi.ryusuke@lab.ntt.co.jp",
        "time": "Fri Feb 04 01:19:38 2011 +0900"
      },
      "committer": {
        "name": "Ryusuke Konishi",
        "email": "konishi.ryusuke@lab.ntt.co.jp",
        "time": "Tue Mar 08 14:58:30 2011 +0900"
      },
      "message": "nilfs2: optimize rec_len functions\n\nThis is a similar change to those in ext2/ext3 codebase (commit\n40a063f6691ce937 and a4ae3094869f18e2, respectively).\n\nThe addition of 64k block capability in the rec_len_from_disk and\nrec_len_to_disk functions added a bit of math overhead which slows\ndown file create workloads needlessly when the architecture cannot\neven support 64k blocks.  This will cut the corner.\n\nSigned-off-by: Ryusuke Konishi \u003ckonishi.ryusuke@lab.ntt.co.jp\u003e\n"
    },
    {
      "commit": "4138ec23820012009aecc2b02856c62872dd3c34",
      "tree": "f222844308880d629b14339c384729f6e089fcf0",
      "parents": [
        "828b1c50ae11e6dda68f8dfefe43b74c7182b157"
      ],
      "author": {
        "name": "Ryusuke Konishi",
        "email": "konishi.ryusuke@lab.ntt.co.jp",
        "time": "Mon Jan 24 00:28:22 2011 +0900"
      },
      "committer": {
        "name": "Ryusuke Konishi",
        "email": "konishi.ryusuke@lab.ntt.co.jp",
        "time": "Tue Mar 08 14:58:30 2011 +0900"
      },
      "message": "nilfs2: append blocksize info to warnings during loading super blocks\n\nAt present, the same warning message can be output twice when nilfs\ndetected a problem on super blocks:\n\n NILFS warning: broken superblock. using spare superblock.\n NILFS warning: broken superblock. using spare superblock.\n ...\n\nThis is because these super blocks are reloaded with the block size\nwritten in a super block if it differs from the first block size, but\nthis repetition looks somewhat confusing.  So, we hint at what is\ngoing on by appending block size information to those messages.\n\nReported-by: Wakko Warner \u003cwakko@animx.eu.org\u003e\nSigned-off-by: Ryusuke Konishi \u003ckonishi.ryusuke@lab.ntt.co.jp\u003e\n"
    },
    {
      "commit": "828b1c50ae11e6dda68f8dfefe43b74c7182b157",
      "tree": "9c258f65382865edb71e06bf11007071fb058806",
      "parents": [
        "cde98f0f84ccff78e87235cb7b551747d6ad00de"
      ],
      "author": {
        "name": "Ryusuke Konishi",
        "email": "konishi.ryusuke@lab.ntt.co.jp",
        "time": "Thu Feb 03 21:26:17 2011 +0900"
      },
      "committer": {
        "name": "Ryusuke Konishi",
        "email": "konishi.ryusuke@lab.ntt.co.jp",
        "time": "Tue Mar 08 14:58:30 2011 +0900"
      },
      "message": "nilfs2: add compat ioctl\n\nThe current FS_IOC_GETFLAGS/SETFLAGS/GETVERSION will fail if\napplication is 32 bit and kernel is 64 bit.\n\nThis issue is avoidable by adding compat_ioctl method.\n\nSigned-off-by: Ryusuke Konishi \u003ckonishi.ryusuke@lab.ntt.co.jp\u003e\n"
    },
    {
      "commit": "cde98f0f84ccff78e87235cb7b551747d6ad00de",
      "tree": "b5cb657b0e0360adf41437819d43a0c9c75912f8",
      "parents": [
        "b253a3e4f2b8eed69b804952ef926df0ac788595"
      ],
      "author": {
        "name": "Ryusuke Konishi",
        "email": "konishi.ryusuke@lab.ntt.co.jp",
        "time": "Thu Jan 20 02:09:53 2011 +0900"
      },
      "committer": {
        "name": "Ryusuke Konishi",
        "email": "konishi.ryusuke@lab.ntt.co.jp",
        "time": "Tue Mar 08 14:58:30 2011 +0900"
      },
      "message": "nilfs2: implement FS_IOC_GETFLAGS/SETFLAGS/GETVERSION\n\nAdd support for the standard attributes set via chattr and read via\nlsattr.  These attributes are already in the flags value in the nilfs2\ninode, but currently we don\u0027t have any ioctl commands that expose them\nto the userland.\n\nCollaterally, this adds the FS_IOC_GETVERSION ioctl for getting\ni_generation, which allows users to list the file\u0027s generation number\nwith \"lsattr -v\".\n\nSigned-off-by: Ryusuke Konishi \u003ckonishi.ryusuke@lab.ntt.co.jp\u003e\n"
    },
    {
      "commit": "b253a3e4f2b8eed69b804952ef926df0ac788595",
      "tree": "fc111c5401f15cd5421fc73372d3f4589716af4f",
      "parents": [
        "32f4aeb31583a85c1e9a5d6d485055c090cebbfb"
      ],
      "author": {
        "name": "Ryusuke Konishi",
        "email": "konishi.ryusuke@lab.ntt.co.jp",
        "time": "Thu Jan 20 02:09:53 2011 +0900"
      },
      "committer": {
        "name": "Ryusuke Konishi",
        "email": "konishi.ryusuke@lab.ntt.co.jp",
        "time": "Tue Mar 08 14:58:29 2011 +0900"
      },
      "message": "nilfs2: tighten restrictions on inode flags\n\nNilfs has few rectrictions on which flags may be set on which inodes\nlike ext2/3/4 filesystems used to be.  Specifically DIRSYNC may only\nbe set on directories and IMMUTABLE and APPEND may not be set on\nlinks.  Tighten that to disallow TOPDIR being set on non-directories\nand only NODUMP and NOATIME to be set on non-regular file,\nnon-directories.\n\nThis introduces a flags masking function like those of extN and uses\nit during inode creation.\n\nSigned-off-by: Ryusuke Konishi \u003ckonishi.ryusuke@lab.ntt.co.jp\u003e\n"
    },
    {
      "commit": "32f4aeb31583a85c1e9a5d6d485055c090cebbfb",
      "tree": "b0b0d53b9f12ea00d77d1b3f65a5c03be43ae026",
      "parents": [
        "f0c9f242f947a37675a883deca7f722cac935b0e"
      ],
      "author": {
        "name": "Ryusuke Konishi",
        "email": "konishi.ryusuke@lab.ntt.co.jp",
        "time": "Thu Jan 20 02:09:52 2011 +0900"
      },
      "committer": {
        "name": "Ryusuke Konishi",
        "email": "konishi.ryusuke@lab.ntt.co.jp",
        "time": "Tue Mar 08 14:58:29 2011 +0900"
      },
      "message": "nilfs2: mark S_NOATIME on inodes only if NOATIME attribute is set\n\nAt present, nilfs marks S_NOATIME flag on all inodes.  This restricts\nnilfs_set_inode_flags function so that it marks S_NOATIME only if a\ngiven inode has an FS_NOATIME_FL flag.\n\nAlthough nilfs does not support atime yet, touch_atime() still safely\nreturns on IS_NOATIME check since MS_NOATIME is always set on sb.\n\nSigned-off-by: Ryusuke Konishi \u003ckonishi.ryusuke@lab.ntt.co.jp\u003e\n"
    },
    {
      "commit": "f0c9f242f947a37675a883deca7f722cac935b0e",
      "tree": "c0aad002f438b6d34123056d075da23792864327",
      "parents": [
        "9954e7af14868b8b79e76b7b88daaf0b3866db33"
      ],
      "author": {
        "name": "Ryusuke Konishi",
        "email": "konishi.ryusuke@lab.ntt.co.jp",
        "time": "Thu Jan 20 02:09:52 2011 +0900"
      },
      "committer": {
        "name": "Ryusuke Konishi",
        "email": "konishi.ryusuke@lab.ntt.co.jp",
        "time": "Tue Mar 08 14:58:29 2011 +0900"
      },
      "message": "nilfs2: use common file attribute macros\n\nReplaces uses of own inode flags (i.e. NILFS_SECRM_FL, NILFS_UNRM_FL,\nNILFS_COMPR_FL, and so forth) with common inode flags, and removes the\nown flag declarations.\n\nSigned-off-by: Ryusuke Konishi \u003ckonishi.ryusuke@lab.ntt.co.jp\u003e\n"
    },
    {
      "commit": "9954e7af14868b8b79e76b7b88daaf0b3866db33",
      "tree": "562b473d974ee6715cff8732e518a9e187c50d38",
      "parents": [
        "25b18d39cca207f8559af1aac00313deda2d652e"
      ],
      "author": {
        "name": "Ryusuke Konishi",
        "email": "konishi.ryusuke@lab.ntt.co.jp",
        "time": "Wed Feb 23 02:26:17 2011 +0900"
      },
      "committer": {
        "name": "Ryusuke Konishi",
        "email": "konishi.ryusuke@lab.ntt.co.jp",
        "time": "Tue Mar 08 14:58:04 2011 +0900"
      },
      "message": "nilfs2: add free entries count only if clear bit operation succeeded\n\nThree functions of the current persistent object allocator,\nnilfs_palloc_commit_free_entry, nilfs_palloc_abort_alloc_entry, and\nnilfs_palloc_freev functions unconditionally add a counter after doing\nclear bit operation on a bitmap block.\n\nIf the clear bit operation overlapped, the counter will not add up.\nThis fixes the issue by making the counter operations conditional.\n\nSigned-off-by: Ryusuke Konishi \u003ckonishi.ryusuke@lab.ntt.co.jp\u003e\n"
    },
    {
      "commit": "25b18d39cca207f8559af1aac00313deda2d652e",
      "tree": "70815c9799a82b53785d9daf75e598f47b84243c",
      "parents": [
        "a5abba989deceb731047425812d268daf7536575"
      ],
      "author": {
        "name": "Ryusuke Konishi",
        "email": "konishi.ryusuke@lab.ntt.co.jp",
        "time": "Fri Feb 11 15:23:27 2011 +0900"
      },
      "committer": {
        "name": "Ryusuke Konishi",
        "email": "konishi.ryusuke@lab.ntt.co.jp",
        "time": "Tue Mar 08 14:58:04 2011 +0900"
      },
      "message": "nilfs2: decrement inodes count only if raw inode was successfully deleted\n\nThis fixes the issue that inodes count will not add up after removal\nof raw inodes fails.  Hence, this prevents possible under flow of the\ninodes count.\n\nSigned-off-by: Ryusuke Konishi \u003ckonishi.ryusuke@lab.ntt.co.jp\u003e\n"
    },
    {
      "commit": "8336026942fdf6a96a45057a2fe6d7f7946979d5",
      "tree": "b831d361f5865a86ec645dccd87d74922099ac22",
      "parents": [
        "4c7fd114c65830cb052b6f3d0ab5b11626e64d5d",
        "69102e9b4b61f56a26717659ec2e572a6b18458d"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Mar 03 15:37:59 2011 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Mar 03 15:37:59 2011 -0800"
      },
      "message": "Merge branch \u0027i_nlink\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs-2.6\n\n* \u0027i_nlink\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs-2.6:\n  hfs: fix rename() over non-empty directory\n  udf: fix i_nlink limit\n  fix reiserfs mkdir() breakage\n  exofs: i_nlink races in rename()\n  nilfs2: i_nlink races in rename()\n  minix: i_nlink races in rename()\n  ufs: i_nlink races in rename()\n  sysv: i_nlink races in rename()\n"
    },
    {
      "commit": "30eb43d31478f0fca28423623f3ec6af13f845fa",
      "tree": "7bcf4777cd9c4da6c5c1f9f44cb59bed73e9c64b",
      "parents": [
        "6f88049caf56022c773272e03ddfa8cf79867059"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Wed Mar 02 12:01:13 2011 -0500"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Thu Mar 03 01:28:17 2011 -0500"
      },
      "message": "nilfs2: i_nlink races in rename()\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "72746ac643928f6c3113b5aa783d8ea1b13949d2",
      "tree": "c1d151eae5e963dd3f57079e0287c2259257bc29",
      "parents": [
        "dd9c1549edef02290edced639f67b54a25abbe0e"
      ],
      "author": {
        "name": "Ryusuke Konishi",
        "email": "konishi.ryusuke@lab.ntt.co.jp",
        "time": "Mon Feb 28 13:41:11 2011 +0900"
      },
      "committer": {
        "name": "Ryusuke Konishi",
        "email": "konishi.ryusuke@lab.ntt.co.jp",
        "time": "Wed Mar 02 09:55:18 2011 +0900"
      },
      "message": "nilfs2: fix regression that i-flag is not set on changeless checkpoints\n\nAccording to the report from Jiro SEKIBA titled \"regression in\n2.6.37?\"  (Message-Id: \u003c8739n8vs1f.wl%jir@sekiba.com\u003e), on 2.6.37 and\nlater kernels, lscp command no longer displays \"i\" flag on checkpoints\nthat snapshot operations or garbage collection created.\n\nThis is a regression of nilfs2 checkpointing function, and it\u0027s\ncritical since it broke behavior of a part of nilfs2 applications.\nFor instance, snapshot manager of TimeBrowse gets to create\nmeaningless snapshots continuously; snapshot creation triggers another\ncheckpoint, but applications cannot distinguish whether the new\ncheckpoint contains meaningful changes or not without the i-flag.\n\nThis patch fixes the regression and brings that application behavior\nback to normal.\n\nReported-by: Jiro SEKIBA \u003cjir@unicus.jp\u003e\nSigned-off-by: Ryusuke Konishi \u003ckonishi.ryusuke@lab.ntt.co.jp\u003e\nTested-by: Ryusuke Konishi \u003ckonishi.ryusuke@lab.ntt.co.jp\u003e\nTested-by: Jiro SEKIBA \u003cjir@unicus.jp\u003e\nCc: stable \u003cstable@kernel.org\u003e  [2.6.37]\n"
    },
    {
      "commit": "2aa15890f3c191326678f1bd68af61ec6b8753ec",
      "tree": "347f5fdcd0678b12be92f266cd2a5e7a74749403",
      "parents": [
        "78794b2cdeac37ac1fd950fc9c4454b56d88ac03"
      ],
      "author": {
        "name": "Miklos Szeredi",
        "email": "mszeredi@suse.cz",
        "time": "Wed Feb 23 13:49:47 2011 +0100"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Feb 23 19:52:52 2011 -0800"
      },
      "message": "mm: prevent concurrent unmap_mapping_range() on the same inode\n\nMichael Leun reported that running parallel opens on a fuse filesystem\ncan trigger a \"kernel BUG at mm/truncate.c:475\"\n\nGurudas Pai reported the same bug on NFS.\n\nThe reason is, unmap_mapping_range() is not prepared for more than\none concurrent invocation per inode.  For example:\n\n  thread1: going through a big range, stops in the middle of a vma and\n     stores the restart address in vm_truncate_count.\n\n  thread2: comes in with a small (e.g. single page) unmap request on\n     the same vma, somewhere before restart_address, finds that the\n     vma was already unmapped up to the restart address and happily\n     returns without doing anything.\n\nAnother scenario would be two big unmap requests, both having to\nrestart the unmapping and each one setting vm_truncate_count to its\nown value.  This could go on forever without any of them being able to\nfinish.\n\nTruncate and hole punching already serialize with i_mutex.  Other\ncallers of unmap_mapping_range() do not, and it\u0027s difficult to get\ni_mutex protection for all callers.  In particular -\u003ed_revalidate(),\nwhich calls invalidate_inode_pages2_range() in fuse, may be called\nwith or without i_mutex.\n\nThis patch adds a new mutex to \u0027struct address_space\u0027 to prevent\nrunning multiple concurrent unmap_mapping_range() on the same mapping.\n\n[ We\u0027ll hopefully get rid of all this with the upcoming mm\n  preemptibility series by Peter Zijlstra, the \"mm: Remove i_mmap_mutex\n  lockbreak\" patch in particular.  But that is for 2.6.39 ]\n\nSigned-off-by: Miklos Szeredi \u003cmszeredi@suse.cz\u003e\nReported-by: Michael Leun \u003clkml20101129@newton.leun.net\u003e\nReported-by: Gurudas Pai \u003cgurudas.pai@oracle.com\u003e\nTested-by: Gurudas Pai \u003cgurudas.pai@oracle.com\u003e\nAcked-by: Hugh Dickins \u003chughd@google.com\u003e\nCc: stable@kernel.org\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "0ca7a5b9ac5d301845dd6382ff25a699b6263a81",
      "tree": "52d0ab285bd2dfabbba164a9df72468fdd92d29b",
      "parents": [
        "1bae4ce27c9c90344f23c65ea6966c50ffeae2f5"
      ],
      "author": {
        "name": "Ryusuke Konishi",
        "email": "konishi.ryusuke@lab.ntt.co.jp",
        "time": "Fri Jan 21 16:40:31 2011 +0900"
      },
      "committer": {
        "name": "Ryusuke Konishi",
        "email": "konishi.ryusuke@lab.ntt.co.jp",
        "time": "Sat Jan 22 15:22:36 2011 +0900"
      },
      "message": "nilfs2: fix crash after one superblock became unavailable\n\nFixes the following kernel oops in nilfs_setup_super() which could\narise if one of two super-blocks is unavailable.\n\n\u003e BUG: unable to handle kernel NULL pointer dereference at   (null)\n\u003e Pid: 3529, comm: mount.nilfs2 Not tainted 2.6.37 #1 /\n\u003e EIP: 0060:[\u003cc03196bc\u003e] EFLAGS: 00010202 CPU: 3\n\u003e EIP is at memcpy+0xc/0x1b\n\u003e Call Trace:\n\u003e  [\u003cf953720e\u003e] ? nilfs_setup_super+0x6c/0xa5 [nilfs2]\n\u003e  [\u003cf95369e9\u003e] ? nilfs_get_root_dentry+0x81/0xcb [nilfs2]\n\u003e  [\u003cf9537a08\u003e] ? nilfs_mount+0x4f9/0x62c [nilfs2]\n\u003e  [\u003cc02745cf\u003e] ? kstrdup+0x36/0x3f\n\u003e  [\u003cf953750f\u003e] ? nilfs_mount+0x0/0x62c [nilfs2]\n\u003e  [\u003cc0293940\u003e] ? vfs_kern_mount+0x4d/0x12c\n\u003e  [\u003cc02a5100\u003e] ? get_fs_type+0x76/0x8f\n\u003e  [\u003cc0293a68\u003e] ? do_kern_mount+0x33/0xbf\n\u003e  [\u003cc02a784a\u003e] ? do_mount+0x2ed/0x714\n\u003e  [\u003cc02a6171\u003e] ? copy_mount_options+0x28/0xfc\n\u003e  [\u003cc02a7ce3\u003e] ? sys_mount+0x72/0xaf\n\u003e  [\u003cc0473085\u003e] ? syscall_call+0x7/0xb\n\nReported-by: Wakko Warner \u003cwakko@animx.eu.org\u003e\nSigned-off-by: Ryusuke Konishi \u003ckonishi.ryusuke@lab.ntt.co.jp\u003e\nTested-by: Wakko Warner \u003cwakko@animx.eu.org\u003e\nCc: stable \u003cstable@kernel.org\u003e [2.6.37, 2.6.36]\nLKML-Reference: \u003c20110121024918.GA29598@animx.eu.org\u003e\n"
    },
    {
      "commit": "275220f0fcff1adf28a717076e00f575edf05fda",
      "tree": "d249bccc80c64443dab211639050c4fb14332648",
      "parents": [
        "fe3c560b8a22cb28e54fe8950abef38e88d75831",
        "81c5e2ae33c4b19e53966b427e33646bf6811830"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jan 13 10:45:01 2011 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jan 13 10:45:01 2011 -0800"
      },
      "message": "Merge branch \u0027for-2.6.38/core\u0027 of git://git.kernel.dk/linux-2.6-block\n\n* \u0027for-2.6.38/core\u0027 of git://git.kernel.dk/linux-2.6-block: (43 commits)\n  block: ensure that completion error gets properly traced\n  blktrace: add missing probe argument to block_bio_complete\n  block cfq: don\u0027t use atomic_t for cfq_group\n  block cfq: don\u0027t use atomic_t for cfq_queue\n  block: trace event block fix unassigned field\n  block: add internal hd part table references\n  block: fix accounting bug on cross partition merges\n  kref: add kref_test_and_get\n  bio-integrity: mark kintegrityd_wq highpri and CPU intensive\n  block: make kblockd_workqueue smarter\n  Revert \"sd: implement sd_check_events()\"\n  block: Clean up exit_io_context() source code.\n  Fix compile warnings due to missing removal of a \u0027ret\u0027 variable\n  fs/block: type signature of major_to_index(int) to major_to_index(unsigned)\n  block: convert !IS_ERR(p) \u0026\u0026 p to !IS_ERR_NOR_NULL(p)\n  cfq-iosched: don\u0027t check cfqg in choose_service_tree()\n  fs/splice: Pull buf-\u003eops-\u003econfirm() from splice_from_pipe actors\n  cdrom: export cdrom_check_events()\n  sd: implement sd_check_events()\n  sr: implement sr_check_events()\n  ...\n"
    },
    {
      "commit": "57cc7215b70856dc6bae8e55b00ecd7b1d7429b1",
      "tree": "f6dedefd41e6745a9b801166b99af7d830e41ef2",
      "parents": [
        "37721e1b0cf98cb65895f234d8c500d270546529"
      ],
      "author": {
        "name": "Alexey Dobriyan",
        "email": "adobriyan@gmail.com",
        "time": "Mon Jan 10 08:18:25 2011 +0200"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Jan 10 08:51:44 2011 -0800"
      },
      "message": "headers: kobject.h redux\n\nRemove kobject.h from files which don\u0027t need it, notably,\nsched.h and fs.h.\n\nSigned-off-by: Alexey Dobriyan \u003cadobriyan@gmail.com\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "365e215ce1f154e288ff0f7c9acbdf5421f57949",
      "tree": "864a8cadeb2c373a0fbbbd90464cf745ac7616f7",
      "parents": [
        "bcbc8c648d6cc88f771435d8031c1a13e00945ed"
      ],
      "author": {
        "name": "Ryusuke Konishi",
        "email": "konishi.ryusuke@lab.ntt.co.jp",
        "time": "Mon Dec 27 00:07:30 2010 +0900"
      },
      "committer": {
        "name": "Ryusuke Konishi",
        "email": "konishi.ryusuke@lab.ntt.co.jp",
        "time": "Mon Jan 10 14:38:39 2011 +0900"
      },
      "message": "nilfs2: unfold nilfs_dat_inode function\n\nnilfs_dat_inode function was a wrapper to switch between normal dat\ninode and gcdat, a clone of the dat inode for garbage collection.\n\nThis function got obsolete when the gcdat inode was removed, and now\nwe can access the dat inode directly from a nilfs object.  So, we will\nunfold the wrapper and remove it.\n\nSigned-off-by: Ryusuke Konishi \u003ckonishi.ryusuke@lab.ntt.co.jp\u003e\n"
    },
    {
      "commit": "bcbc8c648d6cc88f771435d8031c1a13e00945ed",
      "tree": "f74a2e7fffb5669823066f8fb875fff535ab8529",
      "parents": [
        "06df0f999247a3153c3ec284c7ada36ef785eb97"
      ],
      "author": {
        "name": "Ryusuke Konishi",
        "email": "konishi.ryusuke@lab.ntt.co.jp",
        "time": "Mon Dec 27 00:05:49 2010 +0900"
      },
      "committer": {
        "name": "Ryusuke Konishi",
        "email": "konishi.ryusuke@lab.ntt.co.jp",
        "time": "Mon Jan 10 14:37:54 2011 +0900"
      },
      "message": "nilfs2: do not pass sbi to functions which can get it from inode\n\nThis removes argument for passing nilfs_sb_info structure from\nnilfs_set_file_dirty and nilfs_load_inode_block functions.  We can get\na pointer to the structure from inodes.\n\n[Stephen Rothwell \u003csfr@canb.auug.org.au\u003e: fix conflict with commit\n b74c79e99389cd79b31fcc08f82c24e492e63c7e]\n\nSigned-off-by: Ryusuke Konishi \u003ckonishi.ryusuke@lab.ntt.co.jp\u003e\n"
    },
    {
      "commit": "06df0f999247a3153c3ec284c7ada36ef785eb97",
      "tree": "28474b360eb4c21ce6ebe0efc460530fd99d923a",
      "parents": [
        "a7a8447edef2cfa9b28cc3892993d9fafb362671"
      ],
      "author": {
        "name": "Ryusuke Konishi",
        "email": "konishi.ryusuke@lab.ntt.co.jp",
        "time": "Mon Dec 27 00:04:06 2010 +0900"
      },
      "committer": {
        "name": "Ryusuke Konishi",
        "email": "konishi.ryusuke@lab.ntt.co.jp",
        "time": "Mon Jan 10 14:05:46 2011 +0900"
      },
      "message": "nilfs2: get rid of nilfs_mount_options structure\n\nOnly mount_opt member is used in the nilfs_mount_options structure,\nand we can simplify it.\n\nSigned-off-by: Ryusuke Konishi \u003ckonishi.ryusuke@lab.ntt.co.jp\u003e\n"
    },
    {
      "commit": "a7a8447edef2cfa9b28cc3892993d9fafb362671",
      "tree": "85fc226757b9e2358e226f55271566c2d0c281e8",
      "parents": [
        "888da23c2f70ca2e9897b725322a6456285ee9c4"
      ],
      "author": {
        "name": "Ryusuke Konishi",
        "email": "konishi.ryusuke@lab.ntt.co.jp",
        "time": "Mon Dec 27 00:03:02 2010 +0900"
      },
      "committer": {
        "name": "Ryusuke Konishi",
        "email": "konishi.ryusuke@lab.ntt.co.jp",
        "time": "Mon Jan 10 14:05:46 2011 +0900"
      },
      "message": "nilfs2: simplify nilfs_mdt_freeze_buffer\n\nnilfs_page_get_nth_block() function used in nilfs_mdt_freeze_buffer()\nalways returns a valid buffer head, so its validity check can be\nremoved.\n\nSigned-off-by: Ryusuke Konishi \u003ckonishi.ryusuke@lab.ntt.co.jp\u003e\n"
    },
    {
      "commit": "888da23c2f70ca2e9897b725322a6456285ee9c4",
      "tree": "c666ba1372743f68ba8d6b1f50f7298535bd09e5",
      "parents": [
        "ae53a0a2ce2a89f1aa824a5fc6d2099907cfb409"
      ],
      "author": {
        "name": "Ryusuke Konishi",
        "email": "konishi.ryusuke@lab.ntt.co.jp",
        "time": "Mon Dec 27 00:01:28 2010 +0900"
      },
      "committer": {
        "name": "Ryusuke Konishi",
        "email": "konishi.ryusuke@lab.ntt.co.jp",
        "time": "Mon Jan 10 14:05:46 2011 +0900"
      },
      "message": "nilfs2: get rid of loaded flag from nilfs object\n\nNILFS_LOADED flag of the nilfs object is not used now, so this will\nremove it.\n\nSigned-off-by: Ryusuke Konishi \u003ckonishi.ryusuke@lab.ntt.co.jp\u003e\n"
    },
    {
      "commit": "ae53a0a2ce2a89f1aa824a5fc6d2099907cfb409",
      "tree": "72294963d4d2b813b9ddb18b64a43810ef2d6ff6",
      "parents": [
        "622daaff0a8975fb5c5b95f24f3234550ba32e92"
      ],
      "author": {
        "name": "Ryusuke Konishi",
        "email": "konishi.ryusuke@lab.ntt.co.jp",
        "time": "Sun Dec 26 23:30:02 2010 +0900"
      },
      "committer": {
        "name": "Ryusuke Konishi",
        "email": "konishi.ryusuke@lab.ntt.co.jp",
        "time": "Mon Jan 10 14:05:46 2011 +0900"
      },
      "message": "nilfs2: fix a checkpatch error in page.c\n\nWill correct the following checkpatch error:\n\n ERROR: trailing whitespace\n #494: FILE: page.c:494:\n + $\n\nSigned-off-by: Ryusuke Konishi \u003ckonishi.ryusuke@lab.ntt.co.jp\u003e\n"
    }
  ],
  "next": "622daaff0a8975fb5c5b95f24f3234550ba32e92"
}
