)]}'
{
  "log": [
    {
      "commit": "05b4358ad564d7a6a51b3717afe771d36711e9c4",
      "tree": "ad8473aadd4a8f8e25aa40bf1bef8f16f7490d83",
      "parents": [
        "aeda7f6343e6375a832e52ff5ed389c115023ca5"
      ],
      "author": {
        "name": "Ryusuke Konishi",
        "email": "konishi.ryusuke@lab.ntt.co.jp",
        "time": "Mon Sep 14 01:20:35 2009 +0900"
      },
      "committer": {
        "name": "Ryusuke Konishi",
        "email": "konishi.ryusuke@lab.ntt.co.jp",
        "time": "Tue Nov 03 12:32:03 2009 +0900"
      },
      "message": "nilfs2: add zero-fill for new btree node buffers\n\nAdds missing initialization of newly allocated b-tree node buffers.\nThis avoids garbage data to be mixed in b-tree node blocks.\n\nSigned-off-by: Ryusuke Konishi \u003ckonishi.ryusuke@lab.ntt.co.jp\u003e\n"
    },
    {
      "commit": "b1e19e5601277845b4f17ecd7c9ba04f73ee11aa",
      "tree": "bdc23c9fcc4bfe58787b63e9c739c0692b79dc4d",
      "parents": [
        "1836d95928a0f41ada0cbb2a6c4e46b027db9491"
      ],
      "author": {
        "name": "Ryusuke Konishi",
        "email": "konishi.ryusuke@lab.ntt.co.jp",
        "time": "Tue Nov 03 00:25:53 2009 +0900"
      },
      "committer": {
        "name": "Ryusuke Konishi",
        "email": "konishi.ryusuke@lab.ntt.co.jp",
        "time": "Tue Nov 03 12:31:36 2009 +0900"
      },
      "message": "nilfs2: fix dirty page accounting leak causing hang at write\n\nBruno Prémont and Dunphy, Bill noticed me that NILFS will certainly\nhang on ARM-based targets.\n\nI found this was caused by an underflow of dirty pages counter.  A\nb-tree cache routine was marking page dirty without adjusting page\naccount information.\n\nThis fixes the dirty page accounting leak and resolves the hang on\narm-based targets.\n\nReported-by: Bruno Prémont \u003cbonbons@linux-vserver.org\u003e\nReported-by: Dunphy, Bill \u003cWDunphy@tandbergdata.com\u003e\nSigned-off-by: Ryusuke Konishi \u003ckonishi.ryusuke@lab.ntt.co.jp\u003e\nTested-by: Bruno Prémont \u003cbonbons@linux-vserver.org\u003e\nCc: stable \u003cstable@kernel.org\u003e\n"
    },
    {
      "commit": "1f28fcd925b2b3157411bbd08f0024b55b70d8dd",
      "tree": "339976516f9d8c25f4efb3ba8bbffcc395d58c83",
      "parents": [
        "17d857be649a21ca90008c6dc425d849fa83db5c"
      ],
      "author": {
        "name": "Ryusuke Konishi",
        "email": "konishi.ryusuke@lab.ntt.co.jp",
        "time": "Mon Sep 28 01:46:11 2009 +0900"
      },
      "committer": {
        "name": "Ryusuke Konishi",
        "email": "konishi.ryusuke@lab.ntt.co.jp",
        "time": "Tue Sep 29 20:12:56 2009 +0900"
      },
      "message": "nilfs2: fix missing zero-fill initialization of btree node cache\n\nThis will fix file system corruption which infrequently happens after\nmount.  The problem was reported from users with the title \"[NILFS\nusers] Fail to mount NILFS.\" (Message-ID:\n\u003c200908211918.34720.yuri@itinteg.net\u003e), and so forth.  I\u0027ve also\nexperienced the corruption multiple times on kernel 2.6.30 and 2.6.31.\n\nThe problem turned out to be caused due to discordance between\nmapping-\u003enrpages of a btree node cache and the actual number of pages\nhung on the cache; if the mapping-\u003enrpages becomes zero even as it has\npages, truncate_inode_pages() returns without doing anything.  Usually\nthis is harmless except it may cause page leak, but garbage collection\nfairly infrequently sees a stale page remained in the btree node cache\nof DAT (i.e. disk address translation file of nilfs), and induces the\ncorruption.\n\nI identified a missing initialization in btree node caches was the\nroot cause.  This corrects the bug.\n\nI\u0027ve tested this for kernel 2.6.30 and 2.6.31.\n\nReported-by: Yuri Chislov \u003cyuri@itinteg.net\u003e\nSigned-off-by: Ryusuke Konishi \u003ckonishi.ryusuke@lab.ntt.co.jp\u003e\nCc: stable \u003cstable@kernel.org\u003e\n"
    },
    {
      "commit": "7f09410bbc4306f592cfb43812389ea1c7905a20",
      "tree": "18f179435f70c4ec9231883501062d5ea0357af5",
      "parents": [
        "ac4cfdd6d141c319a7af8655f750ed504c187a74"
      ],
      "author": {
        "name": "Alexey Dobriyan",
        "email": "adobriyan@gmail.com",
        "time": "Mon Sep 21 17:01:10 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Sep 22 07:17:24 2009 -0700"
      },
      "message": "const: mark remaining address_space_operations const\n\nSigned-off-by: Alexey Dobriyan \u003cadobriyan@gmail.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "b1f1b8ce0a1d71cbc72f7540134d52b79bd8f5ac",
      "tree": "34261c597d93a43d9adf299e657b4fd5eebd43b7",
      "parents": [
        "326ba5010a5429a5a528b268b36a5900d4ab0eba"
      ],
      "author": {
        "name": "Ryusuke Konishi",
        "email": "konishi.ryusuke@lab.ntt.co.jp",
        "time": "Sun Aug 30 04:21:41 2009 +0900"
      },
      "committer": {
        "name": "Ryusuke Konishi",
        "email": "konishi.ryusuke@lab.ntt.co.jp",
        "time": "Mon Aug 31 12:03:06 2009 +0900"
      },
      "message": "nilfs2: fix preempt count underflow in nilfs_btnode_prepare_change_key\n\nThis will fix the following preempt count underflow reported from\nusers with the title \"[NILFS users] segctord problem\" (Message-ID:\n\u003c949415.6494.qm@web58808.mail.re1.yahoo.com\u003e and Message-ID:\n\u003cdebc30fc0908270825v747c1734xa59126623cfd5b05@mail.gmail.com\u003e):\n\n WARNING: at kernel/sched.c:4890 sub_preempt_count+0x95/0xa0()\n Hardware name: HP Compaq 6530b (KR980UT#ABC)\n Modules linked in: bridge stp llc bnep rfcomm l2cap xfs exportfs nilfs2 cowloop loop vboxnetadp vboxnetflt vboxdrv btusb bluetooth uvcvideo videodev v4l1_compat v4l2_compat_ioctl32 arc4 snd_hda_codec_analog ecb iwlagn iwlcore rfkill lib80211 mac80211 snd_hda_intel snd_hda_codec ehci_hcd uhci_hcd usbcore snd_hwdep snd_pcm tg3 cfg80211 psmouse snd_timer joydev libphy ohci1394 snd_page_alloc hp_accel lis3lv02d ieee1394 led_class i915 drm i2c_algo_bit video backlight output i2c_core dm_crypt dm_mod\n Pid: 4197, comm: segctord Not tainted 2.6.30-gentoo-r4-64 #7\n Call Trace:\n  [\u003cffffffff8023fa05\u003e] ? sub_preempt_count+0x95/0xa0\n  [\u003cffffffff802470f8\u003e] warn_slowpath_common+0x78/0xd0\n  [\u003cffffffff8024715f\u003e] warn_slowpath_null+0xf/0x20\n  [\u003cffffffff8023fa05\u003e] sub_preempt_count+0x95/0xa0\n  [\u003cffffffffa04ce4db\u003e] nilfs_btnode_prepare_change_key+0x11b/0x190 [nilfs2]\n  [\u003cffffffffa04d01ad\u003e] nilfs_btree_assign_p+0x19d/0x1e0 [nilfs2]\n  [\u003cffffffffa04d10ad\u003e] nilfs_btree_assign+0xbd/0x130 [nilfs2]\n  [\u003cffffffffa04cead7\u003e] nilfs_bmap_assign+0x47/0x70 [nilfs2]\n  [\u003cffffffffa04d9bc6\u003e] nilfs_segctor_do_construct+0x956/0x20f0 [nilfs2]\n  [\u003cffffffff805ac8e2\u003e] ? _spin_unlock_irqrestore+0x12/0x40\n  [\u003cffffffff803c06e0\u003e] ? __up_write+0xe0/0x150\n  [\u003cffffffff80262959\u003e] ? up_write+0x9/0x10\n  [\u003cffffffffa04ce9f3\u003e] ? nilfs_bmap_test_and_clear_dirty+0x43/0x60 [nilfs2]\n  [\u003cffffffffa04cd627\u003e] ? nilfs_mdt_fetch_dirty+0x27/0x60 [nilfs2]\n  [\u003cffffffffa04db5fc\u003e] nilfs_segctor_construct+0x8c/0xd0 [nilfs2]\n  [\u003cffffffffa04dc3dc\u003e] nilfs_segctor_thread+0x15c/0x3a0 [nilfs2]\n  [\u003cffffffffa04dbe20\u003e] ? nilfs_construction_timeout+0x0/0x10 [nilfs2]\n  [\u003cffffffff80252633\u003e] ? add_timer+0x13/0x20\n  [\u003cffffffff802370da\u003e] ? __wake_up_common+0x5a/0x90\n  [\u003cffffffff8025e960\u003e] ? autoremove_wake_function+0x0/0x40\n  [\u003cffffffffa04dc280\u003e] ? nilfs_segctor_thread+0x0/0x3a0 [nilfs2]\n  [\u003cffffffffa04dc280\u003e] ? nilfs_segctor_thread+0x0/0x3a0 [nilfs2]\n  [\u003cffffffff8025e556\u003e] kthread+0x56/0x90\n  [\u003cffffffff8020cdea\u003e] child_rip+0xa/0x20\n  [\u003cffffffff8025e500\u003e] ? kthread+0x0/0x90\n  [\u003cffffffff8020cde0\u003e] ? child_rip+0x0/0x20\n\nThis problem was caused due to a missing radix_tree_preload() call in\nthe retry path of nilfs_btnode_prepare_change_key() function.\n\nReported-by: Eric A \u003ceric225125@yahoo.com\u003e\nReported-by: Jerome Poulin \u003cjeromepoulin@gmail.com\u003e\nSigned-off-by: Ryusuke Konishi \u003ckonishi.ryusuke@lab.ntt.co.jp\u003e\nTested-by: Jerome Poulin \u003cjeromepoulin@gmail.com\u003e\nCc: stable@kernel.org\n"
    },
    {
      "commit": "fa032744ad41de1b0a1807e7c379c6196e72ad80",
      "tree": "b88d335fd367ffee7e22403037e637da44a6ab68",
      "parents": [
        "a53b4751ae92adb372017222887f3ec625cba60b"
      ],
      "author": {
        "name": "Ryusuke Konishi",
        "email": "konishi.ryusuke@lab.ntt.co.jp",
        "time": "Wed May 27 22:44:34 2009 +0900"
      },
      "committer": {
        "name": "Ryusuke Konishi",
        "email": "konishi.ryusuke@lab.ntt.co.jp",
        "time": "Wed Jun 10 23:41:12 2009 +0900"
      },
      "message": "nilfs2: add sync_page method to page caches of meta data\n\nThis applies block_sync_page() function to the sync_page method of\npage caches for meta data files, gc page caches, and btree node\nbuffers.  This is a companion patch of (\"nilfs2: enable sync_page\nmothod\") which applied the function for data pages.\n\nThis allows lock_page() for those meta data to unplug pending bio\nrequests.\n\nSigned-off-by: Ryusuke Konishi \u003ckonishi.ryusuke@lab.ntt.co.jp\u003e\n"
    },
    {
      "commit": "a53b4751ae92adb372017222887f3ec625cba60b",
      "tree": "454c0876bb532ee44ad07485e6d40c60e157ca34",
      "parents": [
        "30c25be71fcbd87fd33518045cc014e69bff3d6f"
      ],
      "author": {
        "name": "Ryusuke Konishi",
        "email": "konishi.ryusuke@lab.ntt.co.jp",
        "time": "Wed May 27 22:11:46 2009 +0900"
      },
      "committer": {
        "name": "Ryusuke Konishi",
        "email": "konishi.ryusuke@lab.ntt.co.jp",
        "time": "Wed Jun 10 23:41:12 2009 +0900"
      },
      "message": "nilfs2: use device\u0027s backing_dev_info for btree node caches\n\nPreviously, default_backing_dev_info was used for the mapping of btree\nnode caches.  This uses device dependent backing_dev_info to allow\ndetailed control of the device for the btree node pages.\n\nSigned-off-by: Ryusuke Konishi \u003ckonishi.ryusuke@lab.ntt.co.jp\u003e\n"
    },
    {
      "commit": "a60be987d45dd510aeb54389526f9957cfab106c",
      "tree": "ffe680785f1f7d4e4096cd211e37bcfeaccafc63",
      "parents": [
        "36a580eb489f54d81a0534974962e732a314b999"
      ],
      "author": {
        "name": "Ryusuke Konishi",
        "email": "konishi.ryusuke@lab.ntt.co.jp",
        "time": "Mon Apr 06 19:01:25 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Apr 07 08:31:13 2009 -0700"
      },
      "message": "nilfs2: B-tree node cache\n\nThis adds routines for B-tree node buffers.\n\nSigned-off-by: Seiji Kihara \u003ckihara.seiji@lab.ntt.co.jp\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"
    }
  ]
}
