)]}'
{
  "log": [
    {
      "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": "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": "c1ea985c710f41e97f1c72c29bbf367375370f0b",
      "tree": "7345a5041a7ea432dcdebe664b7e57066d968e9f",
      "parents": [
        "156171c71a0dc4bce12b4408bb1591f8fe32dc1a"
      ],
      "author": {
        "name": "Ryusuke Konishi",
        "email": "konishi.ryusuke@lab.ntt.co.jp",
        "time": "Thu Nov 12 00:13:32 2009 +0900"
      },
      "committer": {
        "name": "Ryusuke Konishi",
        "email": "konishi.ryusuke@lab.ntt.co.jp",
        "time": "Fri Nov 13 10:33:24 2009 +0900"
      },
      "message": "nilfs2: fix lock order reversal in chcp operation\n\nWill fix the following lock order reversal lockdep detected:\n\n\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\n[ INFO: possible circular locking dependency detected ]\n2.6.32-rc6 #7\n-------------------------------------------------------\nchcp/30157 is trying to acquire lock:\n (\u0026nilfs-\u003ens_mount_mutex){+.+.+.}, at: [\u003cfed7cfcc\u003e] nilfs_cpfile_change_cpmode+0x46/0x752 [nilfs2]\n\nbut task is already holding lock:\n (\u0026nilfs-\u003ens_segctor_sem){++++.+}, at: [\u003cfed7ca32\u003e] nilfs_transaction_begin+0xba/0x110 [nilfs2]\n\nwhich lock already depends on the new lock.\n\nthe existing dependency chain (in reverse order) is:\n\n-\u003e #2 (\u0026nilfs-\u003ens_segctor_sem){++++.+}:\n       [\u003cc105799c\u003e] __lock_acquire+0x109c/0x139d\n       [\u003cc1057d26\u003e] lock_acquire+0x89/0xa0\n       [\u003cc14151e2\u003e] down_read+0x31/0x45\n       [\u003cfed6d77b\u003e] nilfs_attach_checkpoint+0x8f/0x16b [nilfs2]\n       [\u003cfed6e393\u003e] nilfs_get_sb+0x3e7/0x653 [nilfs2]\n       [\u003cc10c0ccb\u003e] vfs_kern_mount+0x8b/0x124\n       [\u003cc10c0db2\u003e] do_kern_mount+0x37/0xc3\n       [\u003cc10d7517\u003e] do_mount+0x64d/0x69d\n       [\u003cc10d75cd\u003e] sys_mount+0x66/0x95\n       [\u003cc1002a14\u003e] sysenter_do_call+0x12/0x32\n\n-\u003e #1 (\u0026type-\u003es_umount_key#31/1){+.+.+.}:\n       [\u003cc105799c\u003e] __lock_acquire+0x109c/0x139d\n       [\u003cc1057d26\u003e] lock_acquire+0x89/0xa0\n       [\u003cc104c0f3\u003e] down_write_nested+0x34/0x52\n       [\u003cc10c08fe\u003e] sget+0x22e/0x389\n       [\u003cfed6e133\u003e] nilfs_get_sb+0x187/0x653 [nilfs2]\n       [\u003cc10c0ccb\u003e] vfs_kern_mount+0x8b/0x124\n       [\u003cc10c0db2\u003e] do_kern_mount+0x37/0xc3\n       [\u003cc10d7517\u003e] do_mount+0x64d/0x69d\n       [\u003cc10d75cd\u003e] sys_mount+0x66/0x95\n       [\u003cc1002a14\u003e] sysenter_do_call+0x12/0x32\n\n-\u003e #0 (\u0026nilfs-\u003ens_mount_mutex){+.+.+.}:\n       [\u003cc1057727\u003e] __lock_acquire+0xe27/0x139d\n       [\u003cc1057d26\u003e] lock_acquire+0x89/0xa0\n       [\u003cc1414d63\u003e] mutex_lock_nested+0x41/0x23e\n       [\u003cfed7cfcc\u003e] nilfs_cpfile_change_cpmode+0x46/0x752 [nilfs2]\n       [\u003cfed801b2\u003e] nilfs_ioctl+0x11a/0x7da [nilfs2]\n       [\u003cc10cca12\u003e] vfs_ioctl+0x27/0x6e\n       [\u003cc10ccf93\u003e] do_vfs_ioctl+0x491/0x4db\n       [\u003cc10cd022\u003e] sys_ioctl+0x45/0x5f\n       [\u003cc1002a14\u003e] sysenter_do_call+0x12/0x32\n\nSigned-off-by: Ryusuke Konishi \u003ckonishi.ryusuke@lab.ntt.co.jp\u003e\n"
    },
    {
      "commit": "43be0ec0387a5ccce2e064cb78502e7b2b4dd590",
      "tree": "e412246fce3f999b46b960ef416f1f10653ca895",
      "parents": [
        "a4f0b9c5b4ae83636dafde8f3a0e04b5e411a0f3"
      ],
      "author": {
        "name": "Zhu Yanhai",
        "email": "zhu.yanhai@gmail.com",
        "time": "Wed Aug 12 14:17:59 2009 +0800"
      },
      "committer": {
        "name": "Ryusuke Konishi",
        "email": "konishi.ryusuke@lab.ntt.co.jp",
        "time": "Mon Sep 14 18:27:14 2009 +0900"
      },
      "message": "nilfs2: add more check routines in mount process\n\nnilfs2: Add more safeguard routines and protections in mount process,\nwhich also makes nilfs2 report consistency error messages when\ncheckpoint number is invalid.\n\nSigned-off-by: Zhu Yanhai \u003czhu.yanhai@gmail.com\u003e\nSigned-off-by: Ryusuke Konishi \u003ckonishi.ryusuke@lab.ntt.co.jp\u003e\n"
    },
    {
      "commit": "d9a0a345ab7a58a30ec38e5bb7401a28714914d2",
      "tree": "a4f6943de6fa3c2088623e56587fef4bfb7ad66b",
      "parents": [
        "ff54de363afa4583e2a6249f25fe21dfaeb11ea2"
      ],
      "author": {
        "name": "Jiro SEKIBA",
        "email": "jir@unicus.jp",
        "time": "Sat Jul 04 23:00:53 2009 +0900"
      },
      "committer": {
        "name": "Ryusuke Konishi",
        "email": "konishi.ryusuke@lab.ntt.co.jp",
        "time": "Sun Jul 05 10:44:20 2009 +0900"
      },
      "message": "nilfs2: fix disorder in cp count on error during deleting checkpoints\n\nThis fixes a bug that checkpoint count gets wrong on errors when\ndeleting a series of checkpoints.\n\nThe count error is persistent since the checkpoint count is stored on\ndisk.  Some userland programs refer to the count via ioctl, and this\nbugfix is needed to prevent malfunction of such programs.\n\nSigned-off-by: Jiro SEKIBA \u003cjir@unicus.jp\u003e\nSigned-off-by: Ryusuke Konishi \u003ckonishi.ryusuke@lab.ntt.co.jp\u003e\nCc: stable@kernel.org\n"
    },
    {
      "commit": "9c7cb99a8202452d3e0440a5505c5c6d262771d9",
      "tree": "56d2fe83150f7bea3446b28bfa3094066c5f26b5",
      "parents": [
        "0a8eba9b7f7aa3ad0305627c99ad4d6deedd871d",
        "c3a7abf06ce719a51139e62a034590be99abbc2c"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Jun 15 09:13:49 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Jun 15 09:13:49 2009 -0700"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/ryusuke/nilfs2\n\n* \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/ryusuke/nilfs2: (22 commits)\n  nilfs2: support contiguous lookup of blocks\n  nilfs2: add sync_page method to page caches of meta data\n  nilfs2: use device\u0027s backing_dev_info for btree node caches\n  nilfs2: return EBUSY against delete request on snapshot\n  nilfs2: modify list of unsupported features in caveats\n  nilfs2: enable sync_page method\n  nilfs2: set bio unplug flag for the last bio in segment\n  nilfs2: allow future expansion of metadata read out via get info ioctl\n  NILFS2: Pagecache usage optimization on NILFS2\n  nilfs2: remove nilfs_btree_operations from btree mapping\n  nilfs2: remove nilfs_direct_operations from direct mapping\n  nilfs2: remove bmap pointer operations\n  nilfs2: remove useless b_low and b_high fields from nilfs_bmap struct\n  nilfs2: remove pointless NULL check of bpop_commit_alloc_ptr function\n  nilfs2: move get block functions in bmap.c into btree codes\n  nilfs2: remove nilfs_bmap_delete_block\n  nilfs2: remove nilfs_bmap_put_block\n  nilfs2: remove header file for segment list operations\n  nilfs2: eliminate removal list of segments\n  nilfs2: add sufile function that can modify multiple segment usages\n  ...\n"
    },
    {
      "commit": "aa7dfb8954ccf49e026ba13d12991a4eb7defb96",
      "tree": "ff2d6cf81629322906bd0cea1423e9efe516ffee",
      "parents": [
        "e59399d0102c1813cec48db5cebe1750313f88a0"
      ],
      "author": {
        "name": "Ryusuke Konishi",
        "email": "konishi.ryusuke@lab.ntt.co.jp",
        "time": "Mon Jun 08 01:39:33 2009 +0900"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Thu Jun 11 21:36:18 2009 -0400"
      },
      "message": "nilfs2: get rid of bd_mount_sem use from nilfs\n\nThis will remove every bd_mount_sem use in nilfs.\n\nThe intended exclusion control was replaced by the previous patch\n(\"nilfs2: correct exclusion control in nilfs_remount function\") for\nnilfs_remount(), and this patch will replace remains with a new mutex\nthat this inserts in nilfs object.\n\nSigned-off-by: Ryusuke Konishi \u003ckonishi.ryusuke@lab.ntt.co.jp\u003e\nCc: Christoph Hellwig \u003chch@infradead.org\u003e\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "30c25be71fcbd87fd33518045cc014e69bff3d6f",
      "tree": "89b9ea993834f57b7390a24fdfacf6099b854b54",
      "parents": [
        "fb6e7113ae3ba6c7d0de77c6ccbcfa659899ff0f"
      ],
      "author": {
        "name": "Ryusuke Konishi",
        "email": "konishi.ryusuke@lab.ntt.co.jp",
        "time": "Sat May 30 19:08:09 2009 +0900"
      },
      "committer": {
        "name": "Ryusuke Konishi",
        "email": "konishi.ryusuke@lab.ntt.co.jp",
        "time": "Wed Jun 10 23:41:12 2009 +0900"
      },
      "message": "nilfs2: return EBUSY against delete request on snapshot\n\nThis helps userland programs like the rmcp command to distinguish\nerror codes returned against a checkpoint removal request.\n\nPreviously -EPERM was returned, and not discriminable from real\npermission errors.  This also allows removal of the latest checkpoint\nbecause the deletion leads to create a new checkpoint, and thus it\u0027s\nharmless for the filesystem.\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": "62013ab5d5df297a01ae5863b5c26d758ec0af7f",
      "tree": "61b8e9b9b0d8e57c0de0f4c87f23a671282bc862",
      "parents": [
        "59a3759d0fe8d969888c741bb33f4946e4d3750d"
      ],
      "author": {
        "name": "Ryusuke Konishi",
        "email": "konishi.ryusuke@lab.ntt.co.jp",
        "time": "Sat May 30 21:50:58 2009 +0900"
      },
      "committer": {
        "name": "Ryusuke Konishi",
        "email": "konishi.ryusuke@lab.ntt.co.jp",
        "time": "Sat May 30 22:07:50 2009 +0900"
      },
      "message": "nilfs2: fix bh leak in nilfs_cpfile_delete_checkpoints function\n\nThe nilfs_cpfile_delete_checkpoints() wrongly skips brelse() for the\nheader block of checkpoint file in case of errors.  This fixes the\nleak bug.\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": "76068c4ff1cc03d9d24d17fd9e6a1475bc2f6730",
      "tree": "b2f56fbca8e7680135da5c610bd13283d8377a7f",
      "parents": [
        "8acfbf0939e98cc77dab94c24899c9930ddd1e13"
      ],
      "author": {
        "name": "Ryusuke Konishi",
        "email": "konishi.ryusuke@lab.ntt.co.jp",
        "time": "Mon Apr 06 19:01:50 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Apr 07 08:31:18 2009 -0700"
      },
      "message": "nilfs2: fix buggy behavior seen in enumerating checkpoints\n\nThis will fix the weird behavior of lscp command in listing continuously\ncreated checkpoints; the output of lscp is rewinded regularly for the\nrecent nilfs.  As a result of debugging, a defect was found in\nnilfs_cpfile_do_get_cpinfo() function.\n\nThough the function can be repeatedly called to enumerate checkpoints and\nit can skip invalid checkpoint entries, the index value was not carried\nbetween successive calls.\n\nThe bug has long been present, and came to surface after applying a bugfix\nnilfs2-fix-problems-of-memory-allocation-in-ioctl.patch, which increased\nfrequency of calling the function.  The similar bugfix was already applied\nfor ``snapshots\u0027\u0027 by\nnilfs2-fix-gc-failure-on-volumes-keeping-numerous-snapshots.patch.\n\nThis fixes the problem by making the index argument bidirectional on the\nfunction.\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": "7fa10d20012296300dfe645cb3e628a4e9a0d5ef",
      "tree": "d3678ad2cbfb41624af0058b7de1ee2d48b7334c",
      "parents": [
        "b028fcfc4cd198a6aa1ffcfb872073ccc1db3459"
      ],
      "author": {
        "name": "Ryusuke Konishi",
        "email": "konishi.ryusuke@lab.ntt.co.jp",
        "time": "Mon Apr 06 19:01:48 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Apr 07 08:31:17 2009 -0700"
      },
      "message": "nilfs2: fix improper return values of nilfs_get_cpinfo ioctl\n\nA few tool developers gave me requests for fixing inconvenient return\nvalue of nilfs_get_cpinfo() ioctl; if the requested mode is NILFS_SNAPSHOT\nand the specified start entry is not a snapshot, the ioctl unnaturally\nreturns one as the number of acquired snapshot item.\n\nIn addition, the ioctl function returns an ENOENT error for checkpoints\nwithin blocks deleted by garbage collection.\n\nThese behaviors require corrections for programs which enumerate\nsnapshots.  This resolves the inconvenience by changing the return values\nto zero for the above cases.\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": "b028fcfc4cd198a6aa1ffcfb872073ccc1db3459",
      "tree": "d6a89ba7cf253ab1738d5295f557b77e77ac4311",
      "parents": [
        "85ef9cea02882baedd1e65336cf3dd292841dde3"
      ],
      "author": {
        "name": "Ryusuke Konishi",
        "email": "konishi.ryusuke@lab.ntt.co.jp",
        "time": "Mon Apr 06 19:01:47 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Apr 07 08:31:17 2009 -0700"
      },
      "message": "nilfs2: fix gc failure on volumes keeping numerous snapshots\n\nThis resolves the following failure of nilfs2 cleaner daemon:\n\n nilfs_cleanerd[20670]: cannot clean segments: No such file or directory\n nilfs_cleanerd[20670]: shutdown\n\nWhen creating thousands of snapshots, the cleaner daemon had rarely died\nas above due to an error returned from the kernel code.\n\nAfter applying the recent patch which fixed memory allocation problems in\nioctl (Message-Id: \u003c20081215.155840.105124170.ryusuke@osrg.net\u003e), the\nproblem gets more frequent.\n\nIt turned out to be a bug of nilfs_ioctl_wrap_copy function and one of its\ncallback routines to read out information of snapshots; if the\nnilfs_ioctl_wrap_copy function divided a large read request into multiple\nrequests, the second and later requests have failed since a restart\nposition on snapshot meta data was not properly set forward.\n\nIt\u0027s a deficiency of the callback interface that cannot pass the restart\nposition among multiple requests.  This patch fixes the issue by allowing\nnilfs_ioctl_wrap_copy and snapshot read functions to exchange a position\nargument.\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": "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"
    },
    {
      "commit": "29619809727a4e524e26dbd7bfdc93ff7f50aa74",
      "tree": "2c765d9a5d122bc66c5d01079eeadae4edf61a24",
      "parents": [
        "43bfb45ed4feace26157778889be55e4046b7a4b"
      ],
      "author": {
        "name": "Koji Sato",
        "email": "sato.koji@lab.ntt.co.jp",
        "time": "Mon Apr 06 19:01:31 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Apr 07 08:31:14 2009 -0700"
      },
      "message": "nilfs2: checkpoint file\n\nThis adds a meta data file which holds checkpoint entries in its data\nblocks.\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"
    }
  ]
}
