)]}'
{
  "log": [
    {
      "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": "364ec2d700223b965620ff4d5031a3665d195873",
      "tree": "2cf23dbf1ce4de2125c62f6804f4c672a4127096",
      "parents": [
        "05d0e94b66dbdf9d90371b39dc7a6b390ba74d41"
      ],
      "author": {
        "name": "Ryusuke Konishi",
        "email": "konishi.ryusuke@lab.ntt.co.jp",
        "time": "Tue Jul 13 23:33:51 2010 +0900"
      },
      "committer": {
        "name": "Ryusuke Konishi",
        "email": "konishi.ryusuke@lab.ntt.co.jp",
        "time": "Fri Jul 23 10:02:14 2010 +0900"
      },
      "message": "nilfs2: remove redundant pointer checks in bmap lookup functions\n\nnilfs_bmap_lookup and its variants are supposed to take a valid\npointer argument to return a block address, thus pointer checks in\nnilfs_btree_lookup and nilfs_direct_lookup are needless.\n\nSigned-off-by: Ryusuke Konishi \u003ckonishi.ryusuke@lab.ntt.co.jp\u003e\n"
    },
    {
      "commit": "dc935be2a094087bc561d80f8cf9e66bbc1f7b18",
      "tree": "ab7af5a2a40633f74a949916de7797c3d8f345b7",
      "parents": [
        "e7c274f8083793f8f861def63c02a0839b34d26d"
      ],
      "author": {
        "name": "Ryusuke Konishi",
        "email": "konishi.ryusuke@lab.ntt.co.jp",
        "time": "Sat Jul 10 22:21:54 2010 +0900"
      },
      "committer": {
        "name": "Ryusuke Konishi",
        "email": "konishi.ryusuke@lab.ntt.co.jp",
        "time": "Fri Jul 23 10:02:14 2010 +0900"
      },
      "message": "nilfs2: unify bmap set_target_v operations\n\nThis unifies two similar functions nilfs_btree_set_target_v and\nnilfs_direct_set_target_v into one, nilfs_bmap_set_target_v.\n\nSigned-off-by: Ryusuke Konishi \u003ckonishi.ryusuke@lab.ntt.co.jp\u003e\n"
    },
    {
      "commit": "10ff885ba6f56bf7480ce3b5daf38c07600ecea3",
      "tree": "d1a301a1f870bcc2085c840eb875097e2fe0cb7b",
      "parents": [
        "583ada4761e18bb105ce5181b0b13cf55ead6201"
      ],
      "author": {
        "name": "Ryusuke Konishi",
        "email": "konishi.ryusuke@lab.ntt.co.jp",
        "time": "Sat Jul 10 18:07:04 2010 +0900"
      },
      "committer": {
        "name": "Ryusuke Konishi",
        "email": "konishi.ryusuke@lab.ntt.co.jp",
        "time": "Fri Jul 23 10:02:13 2010 +0900"
      },
      "message": "nilfs2: get rid of nilfs_direct uses\n\nThis replaces all uses of nilfs_direct struct in implementation of\ndirect mapping with nilfs_bmap struct.\n\nSigned-off-by: Ryusuke Konishi \u003ckonishi.ryusuke@lab.ntt.co.jp\u003e\n"
    },
    {
      "commit": "583ada4761e18bb105ce5181b0b13cf55ead6201",
      "tree": "01f0ea519265b965e50d87edd826ec56cdc7ca42",
      "parents": [
        "25b8d7ded0e4579bf152882249abfd351e65a17d"
      ],
      "author": {
        "name": "Ryusuke Konishi",
        "email": "konishi.ryusuke@lab.ntt.co.jp",
        "time": "Sat Jul 10 21:37:47 2010 +0900"
      },
      "committer": {
        "name": "Ryusuke Konishi",
        "email": "konishi.ryusuke@lab.ntt.co.jp",
        "time": "Fri Jul 23 10:02:13 2010 +0900"
      },
      "message": "nilfs2: remove constant qualifier from argument of bmap propagate\n\nThe first argument of bops-\u003ebop_propagate operation takes a constant\nqualifier, and causes compilation error when removed cast to pointer\nof nilfs_btree structure type.  This fixes the issue to prepare for\nsuccesive removal of nilfs_btree struct.\n\nSigned-off-by: Ryusuke Konishi \u003ckonishi.ryusuke@lab.ntt.co.jp\u003e\n"
    },
    {
      "commit": "25b8d7ded0e4579bf152882249abfd351e65a17d",
      "tree": "4949d1b531805b5ea2c25a544eea200f0ec3d580",
      "parents": [
        "1d5385b9f30ae43209459db424416a3e1d8f2bde"
      ],
      "author": {
        "name": "Ryusuke Konishi",
        "email": "konishi.ryusuke@lab.ntt.co.jp",
        "time": "Sat Jul 10 16:50:41 2010 +0900"
      },
      "committer": {
        "name": "Ryusuke Konishi",
        "email": "konishi.ryusuke@lab.ntt.co.jp",
        "time": "Fri Jul 23 10:02:13 2010 +0900"
      },
      "message": "nilfs2: get rid of private conversion macros on bmap key and pointer\n\nWill remove nilfs_bmap_key_to_dkey(), nilfs_bmap_dkey_to_key(),\nnilfs_bmap_ptr_to_dptr(), and nilfs_bmap_dptr_to_ptr() for simplicity.\n\nSigned-off-by: Ryusuke Konishi \u003ckonishi.ryusuke@lab.ntt.co.jp\u003e\n"
    },
    {
      "commit": "5ee581483246e832ca5a9fc1ac669bba0b6ec468",
      "tree": "3fd7399a073ef487b0096563a4aaa3ab790d4321",
      "parents": [
        "6b7b284958d47b77d06745b36bc7f36dab769d9b"
      ],
      "author": {
        "name": "Jiro SEKIBA",
        "email": "jir@sekiba.com",
        "time": "Sun Dec 06 15:43:56 2009 +0900"
      },
      "committer": {
        "name": "Ryusuke Konishi",
        "email": "konishi.ryusuke@lab.ntt.co.jp",
        "time": "Fri Dec 25 13:01:50 2009 +0900"
      },
      "message": "nilfs2: trivial coding style fix\n\nThis is a trivial style fix patch to mend errors/warnings\nreported by \"checkpatch.pl --file\".\n\nSigned-off-by: Jiro SEKIBA \u003cjir@unicus.jp\u003e\nSigned-off-by: Ryusuke Konishi \u003ckonishi.ryusuke@lab.ntt.co.jp\u003e\n"
    },
    {
      "commit": "2e0c2c73923fed27337039ddfd69985e6c4b91fe",
      "tree": "a6c4a318776f5804f53994acad7254c7404418f0",
      "parents": [
        "bd8169efae8bdd292675c386010f6b35f0771057"
      ],
      "author": {
        "name": "Ryusuke Konishi",
        "email": "konishi.ryusuke@lab.ntt.co.jp",
        "time": "Sat Aug 15 15:34:33 2009 +0900"
      },
      "committer": {
        "name": "Ryusuke Konishi",
        "email": "konishi.ryusuke@lab.ntt.co.jp",
        "time": "Mon Sep 14 18:27:16 2009 +0900"
      },
      "message": "nilfs2: allow btree code to directly call dat operations\n\nThe current btree code is written so that btree functions call dat\noperations via wrapper functions in bmap.c when they allocate, free,\nor modify virtual block addresses.\n\nThis abstraction requires additional function calls and causes\nfrequent call of nilfs_bmap_get_dat() function since it is used in the\nevery wrapper function.\n\nThis removes the wrapper functions and makes them available from\nbtree.c and direct.c, which will increase the opportunity of\ncompiler optimization.\n\nSigned-off-by: Ryusuke Konishi \u003ckonishi.ryusuke@lab.ntt.co.jp\u003e\n"
    },
    {
      "commit": "c3a7abf06ce719a51139e62a034590be99abbc2c",
      "tree": "14d61bbd8c34d1b1c7997c9afad79158b7af2914",
      "parents": [
        "fa032744ad41de1b0a1807e7c379c6196e72ad80"
      ],
      "author": {
        "name": "Ryusuke Konishi",
        "email": "konishi.ryusuke@lab.ntt.co.jp",
        "time": "Mon May 25 02:47:14 2009 +0900"
      },
      "committer": {
        "name": "Ryusuke Konishi",
        "email": "konishi.ryusuke@lab.ntt.co.jp",
        "time": "Wed Jun 10 23:41:12 2009 +0900"
      },
      "message": "nilfs2: support contiguous lookup of blocks\n\nAlthough get_block() callback function can return extent of contiguous\nblocks with bh-\u003eb_size, nilfs_get_block() function did not support\nthis feature.\n\nThis adds contiguous lookup feature to the block mapping codes of\nnilfs, and allows the nilfs_get_blocks() function to return the extent\ninformation by applying the feature.\n\nSigned-off-by: Ryusuke Konishi \u003ckonishi.ryusuke@lab.ntt.co.jp\u003e\n"
    },
    {
      "commit": "355c6b61034a571565dcd28801588671255d2329",
      "tree": "6596de80c43757ea87a5cc3dc973f5d2537f0812",
      "parents": [
        "d4b961576df2769b936bd967b01e8c607c3c9ad8"
      ],
      "author": {
        "name": "Ryusuke Konishi",
        "email": "konishi.ryusuke@lab.ntt.co.jp",
        "time": "Sun May 24 16:46:37 2009 +0900"
      },
      "committer": {
        "name": "Ryusuke Konishi",
        "email": "konishi.ryusuke@lab.ntt.co.jp",
        "time": "Wed Jun 10 23:41:11 2009 +0900"
      },
      "message": "nilfs2: remove nilfs_direct_operations from direct mapping\n\nwill remove indirect function calls using nilfs_direct_operations\ntable.\n\nSigned-off-by: Ryusuke Konishi \u003ckonishi.ryusuke@lab.ntt.co.jp\u003e\n"
    },
    {
      "commit": "d4b961576df2769b936bd967b01e8c607c3c9ad8",
      "tree": "3d5d31cb7b4ba31a5b8232d0cd0edac2cf368fae",
      "parents": [
        "3033342a0b76048e32ce1faebfa85cf8f1aa93b5"
      ],
      "author": {
        "name": "Ryusuke Konishi",
        "email": "konishi.ryusuke@lab.ntt.co.jp",
        "time": "Sun May 24 03:25:44 2009 +0900"
      },
      "committer": {
        "name": "Ryusuke Konishi",
        "email": "konishi.ryusuke@lab.ntt.co.jp",
        "time": "Wed Jun 10 23:41:10 2009 +0900"
      },
      "message": "nilfs2: remove bmap pointer operations\n\nPreviously, the bmap codes of nilfs used three types of function\ntables.  The abuse of indirect function calls decreased source\nreadability and suffered many indirect jumps which would confuse\nbranch prediction of processors.\n\nThis eliminates one type of the function tables,\nnilfs_bmap_ptr_operations, which was used to dispatch low level\npointer operations of the nilfs bmap.\n\nThis adds a new integer variable \"b_ptr_type\" to nilfs_bmap struct,\nand uses the value to select the pointer operations.\n\nSigned-off-by: Ryusuke Konishi \u003ckonishi.ryusuke@lab.ntt.co.jp\u003e\n"
    },
    {
      "commit": "3033342a0b76048e32ce1faebfa85cf8f1aa93b5",
      "tree": "9bffaa21381c58e476f26d12352d471748550993",
      "parents": [
        "e473c1f265f429427e09531435ceaf0fdbb86d15"
      ],
      "author": {
        "name": "Ryusuke Konishi",
        "email": "konishi.ryusuke@lab.ntt.co.jp",
        "time": "Sun May 24 00:09:44 2009 +0900"
      },
      "committer": {
        "name": "Ryusuke Konishi",
        "email": "konishi.ryusuke@lab.ntt.co.jp",
        "time": "Wed Jun 10 23:41:10 2009 +0900"
      },
      "message": "nilfs2: remove useless b_low and b_high fields from nilfs_bmap struct\n\nThis will cut off 16 bytes from the nilfs_bmap struct which is\nembedded in the on-memory inode of nilfs.\n\nThe b_high field was never used, and the b_low field stores a constant\nvalue which can be determined by whether the inode uses btree for\nblock mapping or not.\n\nSigned-off-by: Ryusuke Konishi \u003ckonishi.ryusuke@lab.ntt.co.jp\u003e\n"
    },
    {
      "commit": "e473c1f265f429427e09531435ceaf0fdbb86d15",
      "tree": "2256e57a923beb7c570f67026b1fd177edb3b9db",
      "parents": [
        "f198dbb9cf580c09644ebdf46846115c6daff14e"
      ],
      "author": {
        "name": "Ryusuke Konishi",
        "email": "konishi.ryusuke@lab.ntt.co.jp",
        "time": "Fri May 22 02:18:36 2009 +0900"
      },
      "committer": {
        "name": "Ryusuke Konishi",
        "email": "konishi.ryusuke@lab.ntt.co.jp",
        "time": "Wed Jun 10 23:41:10 2009 +0900"
      },
      "message": "nilfs2: remove pointless NULL check of bpop_commit_alloc_ptr function\n\nThis indirect function is set to NULL only for gc cache inodes, but\nthe gc cache inodes never call this function.\n\nSigned-off-by: Ryusuke Konishi \u003ckonishi.ryusuke@lab.ntt.co.jp\u003e\n"
    },
    {
      "commit": "d97a51a7e3c298d9899ea91165dfa0783fa5cc5c",
      "tree": "31c3b082565cd3004c2036fe79657297a29a5824",
      "parents": [
        "65822070646ed7f2cf520439006dd863529be16e"
      ],
      "author": {
        "name": "Ryusuke Konishi",
        "email": "konishi.ryusuke@lab.ntt.co.jp",
        "time": "Sun May 03 21:43:01 2009 +0900"
      },
      "committer": {
        "name": "Ryusuke Konishi",
        "email": "konishi.ryusuke@lab.ntt.co.jp",
        "time": "Wed Jun 10 23:41:09 2009 +0900"
      },
      "message": "nilfs2: unify bmap operations starting use of indirect block address\n\nThis simplifies some low level functions of bmap.\n\nThree bmap pointer operations, nilfs_bmap_start_v(),\nnilfs_bmap_commit_v(), and nilfs_bmap_abort_v(), are unified into one\nnilfs_bmap_start_v() function. And the related indirect function calls\nare replaced with it.\n\nSigned-off-by: Ryusuke Konishi \u003ckonishi.ryusuke@lab.ntt.co.jp\u003e\n"
    },
    {
      "commit": "1f5abe7e7dbcd83e73212c6cb135a6106cea6a0b",
      "tree": "f80e97297d5badebd31bbb17003d76a4ea30453a",
      "parents": [
        "2c2e52fc4fca251e68f90821c9ff5cb18be4df58"
      ],
      "author": {
        "name": "Ryusuke Konishi",
        "email": "konishi.ryusuke@lab.ntt.co.jp",
        "time": "Mon Apr 06 19:01:55 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Apr 07 08:31:19 2009 -0700"
      },
      "message": "nilfs2: replace BUG_ON and BUG calls triggerable from ioctl\n\nPekka Enberg advised me:\n\u003e It would be nice if BUG(), BUG_ON(), and panic() calls would be\n\u003e converted to proper error handling using WARN_ON() calls. The BUG()\n\u003e call in nilfs_cpfile_delete_checkpoints(), for example, looks to be\n\u003e triggerable from user-space via the ioctl() system call.\n\nThis will follow the comment and keep them to a minimum.\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": "8acfbf0939e98cc77dab94c24899c9930ddd1e13",
      "tree": "0f261ee58584db9a89a874f85646ab827105143f",
      "parents": [
        "7fa10d20012296300dfe645cb3e628a4e9a0d5ef"
      ],
      "author": {
        "name": "Pekka Enberg",
        "email": "penberg@cs.helsinki.fi",
        "time": "Mon Apr 06 19:01:49 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Apr 07 08:31:17 2009 -0700"
      },
      "message": "nilfs2: clean up indirect function calling conventions\n\nThis cleans up the strange indirect function calling convention used in\nnilfs to follow the normal kernel coding style.\n\nSigned-off-by: Pekka Enberg \u003cpenberg@cs.helsinki.fi\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": "36a580eb489f54d81a0534974962e732a314b999",
      "tree": "bf28d0b13c4187b11c58822bc49a87453d83f877",
      "parents": [
        "17c76b0104e4a6513983777e1a17e0297a12b0c4"
      ],
      "author": {
        "name": "Koji Sato",
        "email": "sato.koji@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: direct block mapping\n\nThis adds block mappings using direct pointers which are stored in the\ni_bmap array of inode.\n\nSigned-off-by: Koji Sato \u003csato.koji@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"
    }
  ]
}
