)]}'
{
  "log": [
    {
      "commit": "f021759d74d71bacc73fc3e00d6e3d35e1f2e123",
      "tree": "245b128351c6bd30f1c34c409198b42a63b77fbb",
      "parents": [
        "071ec54dd730307ee0e703a105872b9a1c6fd2aa"
      ],
      "author": {
        "name": "Ryusuke Konishi",
        "email": "konishi.ryusuke@lab.ntt.co.jp",
        "time": "Wed Nov 18 18:37:28 2009 +0900"
      },
      "committer": {
        "name": "Ryusuke Konishi",
        "email": "konishi.ryusuke@lab.ntt.co.jp",
        "time": "Fri Nov 20 10:05:51 2009 +0900"
      },
      "message": "nilfs2: clean up get/put function of a segment usage\n\nThis eliminates obsolete nilfs_get_sufile_get_segment_usage() and\nnilfs_set_sufile_segment_usage() from sufile.\n\nSigned-off-by: Ryusuke Konishi \u003ckonishi.ryusuke@lab.ntt.co.jp\u003e\n"
    },
    {
      "commit": "071ec54dd730307ee0e703a105872b9a1c6fd2aa",
      "tree": "fb6629e471adf24d432487e0641549fd38d20ef3",
      "parents": [
        "61a189e9c62359cd12b2aa3bd6ab9cffa6cf2745"
      ],
      "author": {
        "name": "Ryusuke Konishi",
        "email": "konishi.ryusuke@lab.ntt.co.jp",
        "time": "Wed Nov 18 18:23:34 2009 +0900"
      },
      "committer": {
        "name": "Ryusuke Konishi",
        "email": "konishi.ryusuke@lab.ntt.co.jp",
        "time": "Fri Nov 20 10:05:51 2009 +0900"
      },
      "message": "nilfs2: move routine to set segment usage into sufile\n\nThis adds nilfs_sufile_set_segment_usage() function in sufile to\nreplace direct access to the sufile metadata in log writer code.\n\nSigned-off-by: Ryusuke Konishi \u003ckonishi.ryusuke@lab.ntt.co.jp\u003e\n"
    },
    {
      "commit": "61a189e9c62359cd12b2aa3bd6ab9cffa6cf2745",
      "tree": "03c5cb693a5ea01474055fa26028c42d37011b1d",
      "parents": [
        "70622a2091647840013c1e982e56a8808768847e"
      ],
      "author": {
        "name": "Ryusuke Konishi",
        "email": "konishi.ryusuke@lab.ntt.co.jp",
        "time": "Wed Nov 18 17:25:12 2009 +0900"
      },
      "committer": {
        "name": "Ryusuke Konishi",
        "email": "konishi.ryusuke@lab.ntt.co.jp",
        "time": "Fri Nov 20 10:05:51 2009 +0900"
      },
      "message": "nilfs2: move routine marking segment usage dirty into sufile\n\nThis adds nilfs_sufile_mark_dirty() function in sufile to replace\nnilfs_touch_segusage() function in log writer code.  This is a\npreparation for the further cleanup which will move out low level\nsufile operations in the log writer.\n\nSigned-off-by: Ryusuke Konishi \u003ckonishi.ryusuke@lab.ntt.co.jp\u003e\n"
    },
    {
      "commit": "ef7d4757a5b7b07a3a0d30d3ba6b587e574b28b9",
      "tree": "5f1f1cad0c9bb755cd332017f66fe502d1286a94",
      "parents": [
        "aa474a220180d997caafcee372770d6ed6bf798a"
      ],
      "author": {
        "name": "Ryusuke Konishi",
        "email": "konishi.ryusuke@lab.ntt.co.jp",
        "time": "Fri Nov 13 08:45:32 2009 +0900"
      },
      "committer": {
        "name": "Ryusuke Konishi",
        "email": "konishi.ryusuke@lab.ntt.co.jp",
        "time": "Fri Nov 20 10:05:49 2009 +0900"
      },
      "message": "nilfs2: simplify nilfs_sufile_get_ncleansegs function\n\nPreviously, this function took an status code to return possible error\ncodes.  The (\"nilfs2: add local variable to cache the number of clean\nsegments\") patch removed the possibility to return errors.\n\nSo, this simplifies the function definition to make it directly return\nthe number of clean segments.\n\nSigned-off-by: Ryusuke Konishi \u003ckonishi.ryusuke@lab.ntt.co.jp\u003e\n"
    },
    {
      "commit": "8707df38478c8e0958b706f0ea1cdf99d00a9469",
      "tree": "5bc882fda214b4020f65f1df217e7fae40c10145",
      "parents": [
        "79739565e15f2adbc482207a0800fc127c84d1a0"
      ],
      "author": {
        "name": "Ryusuke Konishi",
        "email": "konishi.ryusuke@lab.ntt.co.jp",
        "time": "Fri Nov 13 01:36:56 2009 +0900"
      },
      "committer": {
        "name": "Ryusuke Konishi",
        "email": "konishi.ryusuke@lab.ntt.co.jp",
        "time": "Fri Nov 20 10:05:48 2009 +0900"
      },
      "message": "nilfs2: separate read method of meta data files on super root block\n\nWill displace nilfs_mdt_read_inode_direct function with an individual\nread method: nilfs_dat_read, nilfs_sufile_read, nilfs_cpfile_read.\n\nThis provides the opportunity to initialize local variables of each\nmetadata file after reading the inode.\n\nSigned-off-by: Ryusuke Konishi \u003ckonishi.ryusuke@lab.ntt.co.jp\u003e\n"
    },
    {
      "commit": "79739565e15f2adbc482207a0800fc127c84d1a0",
      "tree": "10d61f5a31e4de5c90a6c9c10f0f0bc8e68d1550",
      "parents": [
        "5731e191f254af9135ad843119804a500528ecf3"
      ],
      "author": {
        "name": "Ryusuke Konishi",
        "email": "konishi.ryusuke@lab.ntt.co.jp",
        "time": "Thu Nov 12 23:56:43 2009 +0900"
      },
      "committer": {
        "name": "Ryusuke Konishi",
        "email": "konishi.ryusuke@lab.ntt.co.jp",
        "time": "Fri Nov 20 10:05:48 2009 +0900"
      },
      "message": "nilfs2: separate constructor of metadata files\n\nThis will displace nilfs_mdt_new() constructor with individual\nmetadata file constructors like nilfs_dat_new(), new_sufile_new(),\nnilfs_cpfile_new(), and nilfs_ifile_new().\n\nThis makes it possible for each metadata file to have own\nintialization code.\n\nSigned-off-by: Ryusuke Konishi \u003ckonishi.ryusuke@lab.ntt.co.jp\u003e\n"
    },
    {
      "commit": "7a102b09232be1ad7c180dfd1f46c7aa95dff1e0",
      "tree": "81691c3a48e3108db1a5341c8dcf4531ac404cac",
      "parents": [
        "3218929dbd25245e0f601df1e359a3ed3f7fb03b"
      ],
      "author": {
        "name": "Ryusuke Konishi",
        "email": "konishi.ryusuke@lab.ntt.co.jp",
        "time": "Sat Aug 15 13:47:09 2009 +0900"
      },
      "committer": {
        "name": "Ryusuke Konishi",
        "email": "konishi.ryusuke@lab.ntt.co.jp",
        "time": "Mon Sep 14 18:27:15 2009 +0900"
      },
      "message": "nilfs2: remove individual gfp constants for each metadata file\n\nThis gets rid of NILFS_CPFILE_GFP, NILFS_SUFILE_GFP, NILFS_DAT_GFP,\nand NILFS_IFILE_GFP.  All of these constants refer to NILFS_MDT_GFP,\nand can be removed.\n\nSigned-off-by: Ryusuke Konishi \u003ckonishi.ryusuke@lab.ntt.co.jp\u003e\n"
    },
    {
      "commit": "003ff182fddde09ddfb8d079bbdb02f9d2122082",
      "tree": "d949fa673353767d8854355987e49d82821935f6",
      "parents": [
        "258ef67e246fd548e7ad91c23004ad157c03cce5"
      ],
      "author": {
        "name": "Ryusuke Konishi",
        "email": "konishi.ryusuke@lab.ntt.co.jp",
        "time": "Tue May 12 03:58:47 2009 +0900"
      },
      "committer": {
        "name": "Ryusuke Konishi",
        "email": "konishi.ryusuke@lab.ntt.co.jp",
        "time": "Wed Jun 10 23:41:11 2009 +0900"
      },
      "message": "nilfs2: allow future expansion of metadata read out via get info ioctl\n\nNilfs has some ioctl commands to read out metadata from meta data\nfiles:\n\n - NILFS_IOCTL_GET_CPINFO for checkpoint file,\n - NILFS_IOCTL_GET_SUINFO for segment usage file, and\n - NILFS_IOCTL_GET_VINFO for Disk Address Transalation (DAT) file,\n   respectively.\n\nEvery routine on these metadata files is implemented so that it allows\nfuture expansion of on-disk format.  But, the above ioctl commands do\nnot support expansion even though nilfs_argv structure can handle\narbitrary size for data exchanged via ioctl.\n\nThis allows future expansion of the following structures which give\nbasic format of the \"get information\" ioctls:\n\n - struct nilfs_cpinfo\n - struct nilfs_suinfo\n - struct nilfs_vinfo\n\nSo, this introduces forward compatility of such ioctl commands.\n\nIn this patch, a sanity check in nilfs_ioctl_get_info() function is\nchanged to accept larger data structure [1], and metadata read\nroutines are rewritten so that they become compatible for larger\nstructures; the routines will just ignore the remaining fields which\nthe current version of nilfs doesn\u0027t know.\n\n[1] The ioctl function already has another upper limit (PAGE_SIZE\n    against a structure, which appears in nilfs_ioctl_wrap_copy\n    function), and this will not cause security problem.\n\nSigned-off-by: Ryusuke Konishi \u003ckonishi.ryusuke@lab.ntt.co.jp\u003e\n"
    },
    {
      "commit": "071cb4b81987a28c7ac2702003cff3e61684a630",
      "tree": "41e2f5a6d0e12d4ccc49850992ce6bfee68dd00e",
      "parents": [
        "dda54f4b872512eba484c38631bd6ae5b5716f41"
      ],
      "author": {
        "name": "Ryusuke Konishi",
        "email": "konishi.ryusuke@lab.ntt.co.jp",
        "time": "Sat May 16 23:44:55 2009 +0900"
      },
      "committer": {
        "name": "Ryusuke Konishi",
        "email": "konishi.ryusuke@lab.ntt.co.jp",
        "time": "Wed Jun 10 23:41:09 2009 +0900"
      },
      "message": "nilfs2: eliminate removal list of segments\n\nThis will clean up the removal list of segments and the related\nfunctions from segment.c and ioctl.c, which have hurt code\nreadability.\n\nThis elimination is applied by using nilfs_sufile_updatev() previously\nintroduced in the patch (\"nilfs2: add sufile function that can modify\nmultiple segment usages\").\n\nSigned-off-by: Ryusuke Konishi \u003ckonishi.ryusuke@lab.ntt.co.jp\u003e\n"
    },
    {
      "commit": "dda54f4b872512eba484c38631bd6ae5b5716f41",
      "tree": "bf9bf0b18c9cf232fa34a6f3de08e90a658259f2",
      "parents": [
        "d97a51a7e3c298d9899ea91165dfa0783fa5cc5c"
      ],
      "author": {
        "name": "Ryusuke Konishi",
        "email": "konishi.ryusuke@lab.ntt.co.jp",
        "time": "Sat May 16 21:49:10 2009 +0900"
      },
      "committer": {
        "name": "Ryusuke Konishi",
        "email": "konishi.ryusuke@lab.ntt.co.jp",
        "time": "Wed Jun 10 23:41:09 2009 +0900"
      },
      "message": "nilfs2: add sufile function that can modify multiple segment usages\n\nThis is a preparation for the later cleanup patch (\"nilfs2: remove\nlist of freeing segments\").\n\nThis adds nilfs_sufile_updatev() to sufile, which can modify multiple\nsegment usages at a time.\n\nSigned-off-by: Ryusuke Konishi \u003ckonishi.ryusuke@lab.ntt.co.jp\u003e\n"
    },
    {
      "commit": "c85399c2da8b86de8f6877980294fa1a4a88a5a4",
      "tree": "0319b8ab4d8b7da4d614e46949755b8a9ba4eab0",
      "parents": [
        "a703018f7bbec8109419318f5d51f235fdce5155"
      ],
      "author": {
        "name": "Ryusuke Konishi",
        "email": "konishi.ryusuke@lab.ntt.co.jp",
        "time": "Sun Apr 05 18:30:58 2009 +0900"
      },
      "committer": {
        "name": "Ryusuke Konishi",
        "email": "konishi.ryusuke@lab.ntt.co.jp",
        "time": "Mon Apr 13 09:53:52 2009 +0900"
      },
      "message": "nilfs2: fix possible mismatch of sufile counters on recovery\n\nOn-disk counters ndirtysegs and ncleansegs of sufile, can go wrong\nafter roll-forward recovery because\nnilfs_prepare_segment_for_recovery() function marks segments dirty\nwithout adjusting value of these counters.\n\nThis fixes the problem by adding a function to sufile which does the\noperation adjusting the counters, and by letting the recovery function\nuse it.\n\nSigned-off-by: Ryusuke Konishi \u003ckonishi.ryusuke@lab.ntt.co.jp\u003e\n"
    },
    {
      "commit": "a703018f7bbec8109419318f5d51f235fdce5155",
      "tree": "6bad3f70892ba54b95b6eb0e994542beddde6840",
      "parents": [
        "88072faf9a32c92f37c15065496bb6eb309aebe3"
      ],
      "author": {
        "name": "Ryusuke Konishi",
        "email": "konishi.ryusuke@lab.ntt.co.jp",
        "time": "Sun Apr 05 18:24:11 2009 +0900"
      },
      "committer": {
        "name": "Ryusuke Konishi",
        "email": "konishi.ryusuke@lab.ntt.co.jp",
        "time": "Mon Apr 13 09:53:51 2009 +0900"
      },
      "message": "nilfs2: segment usage file cleanups\n\nThis will simplify sufile.c by sharing common code which repeatedly\nappears in routines updating a segment usage entry; a wrapper function\nnilfs_sufile_update() is introduced for the purpose, and counter\nmodifications are integrated to a new function\nnilfs_sufile_mod_counter().\n\nThis is a preparation for the successive bugfix patch (\"nilfs2: fix\npossible mismatch of sufile counters on recovery\").\n\nSigned-off-by: Ryusuke Konishi \u003ckonishi.ryusuke@lab.ntt.co.jp\u003e\n"
    },
    {
      "commit": "6c98cd4ecb0ae35f0368c5c2190712689c2064aa",
      "tree": "5d8fae2ce980cae3a97e0e88068527ce5937a8df",
      "parents": [
        "29619809727a4e524e26dbd7bfdc93ff7f50aa74"
      ],
      "author": {
        "name": "Koji Sato",
        "email": "sato.koji@lab.ntt.co.jp",
        "time": "Mon Apr 06 19:01:32 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Apr 07 08:31:14 2009 -0700"
      },
      "message": "nilfs2: segment usage file\n\nThis adds a meta data file which stores the allocation state of segments.\n\n[konishi.ryusuke@lab.ntt.co.jp: fix wrong counting of checkpoints and dirty segments]\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"
    }
  ]
}
