)]}'
{
  "log": [
    {
      "commit": "0319003d0d229735770c185ddf132c666e9cd01a",
      "tree": "b6c7e8d10bc09816ae20711fac24fd5b9f63a4ca",
      "parents": [
        "89031bc79782a93fc65adabd0e123c89645bee6e"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Sun Jan 31 21:02:09 2010 -0500"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Wed Mar 03 14:07:58 2010 -0500"
      },
      "message": "nilfs really shouldn\u0027t slap struct dentry on stack...\n\n... especially when it only needs (and initializes) .d_name of it\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "abdb318b79d387a723af5db2aa79f812cefd0797",
      "tree": "7915b48a984df976ed639b7b0a99672e7dc049c6",
      "parents": [
        "3534573b58fd7576d3dc8dd66a9973592ac08b2d"
      ],
      "author": {
        "name": "Jiro SEKIBA",
        "email": "jir@unicus.jp",
        "time": "Fri Nov 27 19:41:14 2009 +0900"
      },
      "committer": {
        "name": "Ryusuke Konishi",
        "email": "konishi.ryusuke@lab.ntt.co.jp",
        "time": "Fri Nov 27 20:05:16 2009 +0900"
      },
      "message": "nilfs2: replace mark_inode_dirty as nilfs_mark_inode_dirty\n\nReplace mark_inode_dirty() as nilfs_mark_inode_dirty()\nto reduce deep function calls.\n\nSigned-off-by: Jiro SEKIBA \u003cjir@unicus.jp\u003e\nSigned-off-by: Ryusuke Konishi \u003ckonishi.ryusuke@lab.ntt.co.jp\u003e\n"
    },
    {
      "commit": "3534573b58fd7576d3dc8dd66a9973592ac08b2d",
      "tree": "336143c737901da8612baac5e0434d80ee4aade8",
      "parents": [
        "58d55471cb1911f7493aba7bf3b6b87ca91e4314"
      ],
      "author": {
        "name": "Jiro SEKIBA",
        "email": "jir@unicus.jp",
        "time": "Fri Nov 27 19:41:13 2009 +0900"
      },
      "committer": {
        "name": "Ryusuke Konishi",
        "email": "konishi.ryusuke@lab.ntt.co.jp",
        "time": "Fri Nov 27 20:05:16 2009 +0900"
      },
      "message": "nilfs2: delete mark_inode_dirty in nilfs_delete_entry\n\nDelete mark_inode_dirty() in nilfs_delete_entry() to reduce duplicate\nmark_inode_dirty() calls both in nilfs_rename() and nilfs_delete_entry().\n\nSigned-off-by: Jiro SEKIBA \u003cjir@unicus.jp\u003e\nSigned-off-by: Ryusuke Konishi \u003ckonishi.ryusuke@lab.ntt.co.jp\u003e\n"
    },
    {
      "commit": "58d55471cb1911f7493aba7bf3b6b87ca91e4314",
      "tree": "a66a97fb1f5b1bec314a471de9deaae7dd110f55",
      "parents": [
        "2093abf9cbcec3cb1409a67d8bce51854595b1d5"
      ],
      "author": {
        "name": "Jiro SEKIBA",
        "email": "jir@unicus.jp",
        "time": "Fri Nov 27 19:41:12 2009 +0900"
      },
      "committer": {
        "name": "Ryusuke Konishi",
        "email": "konishi.ryusuke@lab.ntt.co.jp",
        "time": "Fri Nov 27 20:05:16 2009 +0900"
      },
      "message": "nilfs2: delete mark_inode_dirty in nilfs_commit_chunk\n\nDelete mark_inode_dirty() in nilfs_commit_chunk(), for callers of\nnilfs_commit_chunk() will call equivalent mark_inode_dirty()\nafter calling nilfs_commit_chunk().\n\nSigned-off-by: Jiro SEKIBA \u003cjir@unicus.jp\u003e\nSigned-off-by: Ryusuke Konishi \u003ckonishi.ryusuke@lab.ntt.co.jp\u003e\n"
    },
    {
      "commit": "4cd76c3c930993cf70657775bb521cad006e37b4",
      "tree": "f29b80420e2214d08785580f11e400728750d10a",
      "parents": [
        "17491472769abbf4dac694d96c65eed5a7e1c81c"
      ],
      "author": {
        "name": "Jiro SEKIBA",
        "email": "jir@unicus.jp",
        "time": "Fri Nov 27 19:41:10 2009 +0900"
      },
      "committer": {
        "name": "Ryusuke Konishi",
        "email": "konishi.ryusuke@lab.ntt.co.jp",
        "time": "Fri Nov 27 20:05:15 2009 +0900"
      },
      "message": "nilfs2: split nilfs_unlink as nilfs_do_unlink and nilfs_unlink\n\nSplit nilfs_unlink() to reduce nested transaction and duplicate\nmark_inode_dirty() calls when calling nilfs_unlink() from nilfs_rmdir().\n\nnilfs_do_unlink() is an actual unlink functionality which is not\nin transaction and does not call mark_inode_dirty() for dentry argument.\n\nnilfs_unlink() is a wrapper function for do_nilfs_unlink() with\ntransaction and mark_inode_dirty() for dentry argument.\n\nSigned-off-by: Jiro SEKIBA \u003cjir@unicus.jp\u003e\nSigned-off-by: Ryusuke Konishi \u003ckonishi.ryusuke@lab.ntt.co.jp\u003e\n"
    },
    {
      "commit": "17491472769abbf4dac694d96c65eed5a7e1c81c",
      "tree": "a811e18a9c29df370cdbf9018c1aded35d93ffa8",
      "parents": [
        "565de406e7bfa92ffec6315e89857986da657192"
      ],
      "author": {
        "name": "Jiro SEKIBA",
        "email": "jir@unicus.jp",
        "time": "Fri Nov 27 19:41:09 2009 +0900"
      },
      "committer": {
        "name": "Ryusuke Konishi",
        "email": "konishi.ryusuke@lab.ntt.co.jp",
        "time": "Fri Nov 27 20:05:15 2009 +0900"
      },
      "message": "nilfs2: delete redundant mark_inode_dirty\n\ndelete redundant mark_inode_dirty() calls\n\nSigned-off-by: Jiro SEKIBA \u003cjir@unicus.jp\u003e\nSigned-off-by: Ryusuke Konishi \u003ckonishi.ryusuke@lab.ntt.co.jp\u003e\n"
    },
    {
      "commit": "565de406e7bfa92ffec6315e89857986da657192",
      "tree": "43ac1b59a748a91e2d22505843823fbae5e63c50",
      "parents": [
        "43f8bc262fcfadc7583b2353d2708e6eb77788ff"
      ],
      "author": {
        "name": "Jiro SEKIBA",
        "email": "jir@unicus.jp",
        "time": "Fri Nov 27 19:41:08 2009 +0900"
      },
      "committer": {
        "name": "Ryusuke Konishi",
        "email": "konishi.ryusuke@lab.ntt.co.jp",
        "time": "Fri Nov 27 20:05:15 2009 +0900"
      },
      "message": "nilfs2: expand inode_inc_link_count and inode_dec_link_count\n\nThis is an intermidiate patch to reduce redandunt mark_inode_dirty() calls\nby calling inode_inc_link_count() and inode_dec_link_count() functions.\n\nSigned-off-by: Jiro SEKIBA \u003cjir@unicus.jp\u003e\nSigned-off-by: Ryusuke Konishi \u003ckonishi.ryusuke@lab.ntt.co.jp\u003e\n"
    },
    {
      "commit": "43f8bc262fcfadc7583b2353d2708e6eb77788ff",
      "tree": "1c899548d8c16d5f77e3d39eff5263fddaa6400a",
      "parents": [
        "9ca941d4b62e72571948efe5a73c563b4cacc98d"
      ],
      "author": {
        "name": "Jiro SEKIBA",
        "email": "jir@unicus.jp",
        "time": "Fri Nov 27 19:41:07 2009 +0900"
      },
      "committer": {
        "name": "Ryusuke Konishi",
        "email": "konishi.ryusuke@lab.ntt.co.jp",
        "time": "Fri Nov 27 20:05:15 2009 +0900"
      },
      "message": "nilfs2: delete mark_inode_dirty from nilfs_set_link\n\nDelete mark_inode_dirty() from nilfs_set_link() to reduce redundant\nmark_inode_dirty() calls in caller of nilfs_set_link().\n\nSigned-off-by: Jiro SEKIBA \u003cjir@unicus.jp\u003e\nSigned-off-by: Ryusuke Konishi \u003ckonishi.ryusuke@lab.ntt.co.jp\u003e\n"
    },
    {
      "commit": "9ca941d4b62e72571948efe5a73c563b4cacc98d",
      "tree": "8c4a5cde6c2e626758c0aed85fe9cd7759747890",
      "parents": [
        "0234576d041b9b2cc7043691ea61d2c2ca597aaa"
      ],
      "author": {
        "name": "Jiro SEKIBA",
        "email": "jir@unicus.jp",
        "time": "Fri Nov 27 19:41:06 2009 +0900"
      },
      "committer": {
        "name": "Ryusuke Konishi",
        "email": "konishi.ryusuke@lab.ntt.co.jp",
        "time": "Fri Nov 27 20:05:15 2009 +0900"
      },
      "message": "nilfs2: delete mark_inode_dirty in nilfs_new_inode\n\nIt is redundant to call mark_inode_dirty() in nilfs_new_inode() because\nall caller of nilfs_new_inode() will call mark_inode_dirty()\nafter calling nilfs_new_inode() directly or indirectly in transaction.\n\nSigned-off-by: Jiro SEKIBA \u003cjir@unicus.jp\u003e\nSigned-off-by: Ryusuke Konishi \u003ckonishi.ryusuke@lab.ntt.co.jp\u003e\n"
    },
    {
      "commit": "6e1d5dcc2bbbe71dbf010c747e15739bef6b7218",
      "tree": "2edb0f6cc65acbae95e42df1bc763ec048e6c2e0",
      "parents": [
        "7f09410bbc4306f592cfb43812389ea1c7905a20"
      ],
      "author": {
        "name": "Alexey Dobriyan",
        "email": "adobriyan@gmail.com",
        "time": "Mon Sep 21 17:01:11 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Sep 22 07:17:24 2009 -0700"
      },
      "message": "const: mark remaining inode_operations as 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": "47420c799830d4676e544dbec56b2a7f787528f5",
      "tree": "dd61f6c96942b07f762129c893d9cbbbeff60735",
      "parents": [
        "a2e7d2df82cafb76f76809ddf6e2caa8afe4f75e"
      ],
      "author": {
        "name": "Ryusuke Konishi",
        "email": "konishi.ryusuke@lab.ntt.co.jp",
        "time": "Mon Apr 06 19:01:45 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Apr 07 08:31:17 2009 -0700"
      },
      "message": "nilfs2: avoid double error caused by nilfs_transaction_end\n\nPekka Enberg pointed out that double error handlings found after\nnilfs_transaction_end() can be avoided by separating abort operation:\n\n OK, I don\u0027t understand this. The only way nilfs_transaction_end() can\n fail is if we have NILFS_TI_SYNC set and we fail to construct the\n segment. But why do we want to construct a segment if we don\u0027t commit?\n\n I guess what I\u0027m asking is why don\u0027t we have a separate\n nilfs_transaction_abort() function that can\u0027t fail for the erroneous\n case to avoid this double error value tracking thing?\n\nThis does the separation and renames nilfs_transaction_end() to\nnilfs_transaction_commit() for clarification.\n\nSince, some calls of these functions were used just for exclusion control\nagainst the segment constructor, they are replaced with semaphore\noperations.\n\nAcked-by: Pekka Enberg \u003cpenberg@cs.helsinki.fi\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": "d25006523d0b9e49fd097b2e974e7c8c05bd7f54",
      "tree": "ff251f5854012ba8b6000745a24d50eda7e3dbd8",
      "parents": [
        "2ba466d74ed74f073257f86e61519cb8f8f46184"
      ],
      "author": {
        "name": "Ryusuke Konishi",
        "email": "konishi.ryusuke@lab.ntt.co.jp",
        "time": "Mon Apr 06 19:01:34 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Apr 07 08:31:15 2009 -0700"
      },
      "message": "nilfs2: pathname operations\n\nThis adds pathname operations, most of which comes from the ext2 file\nsystem.\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"
    }
  ]
}
