)]}'
{
  "log": [
    {
      "commit": "13ced29cb28996a9bc4f68e43ff0c57eafdb1e21",
      "tree": "7c5b11f5e5124fa4d0642281880b4c558b9e5fec",
      "parents": [
        "934eed395d201bf0901ca0c0cc3703b18729d0ce"
      ],
      "author": {
        "name": "Prasad Joshi",
        "email": "prasadjoshi.linux@gmail.com",
        "time": "Sat Jan 28 11:36:06 2012 +0530"
      },
      "committer": {
        "name": "Prasad Joshi",
        "email": "prasadjoshi.linux@gmail.com",
        "time": "Sat Jan 28 11:36:06 2012 +0530"
      },
      "message": "logfs: take write mutex lock during fsync and sync\n\nLogFS uses super-\u003es_write_mutex while writing data to disk. Taking the\nsame mutex lock in sync and fsync code path solves the following BUG:\n\n------------[ cut here ]------------\nkernel BUG at /home/prasad/logfs/dev_bdev.c:134!\n\nPid: 2387, comm: flush-253:16 Not tainted 3.0.0+ #4 Bochs Bochs\nRIP: 0010:[\u003cffffffffa007deed\u003e]  [\u003cffffffffa007deed\u003e]\n                bdev_writeseg+0x25d/0x270 [logfs]\nCall Trace:\n[\u003cffffffffa007c381\u003e] logfs_open_area+0x91/0x150 [logfs]\n[\u003cffffffff8128dcb2\u003e] ? find_level.clone.9+0x62/0x100\n[\u003cffffffffa007c49c\u003e] __logfs_segment_write.clone.20+0x5c/0x190 [logfs]\n[\u003cffffffff810ef005\u003e] ? mempool_kmalloc+0x15/0x20\n[\u003cffffffff810ef383\u003e] ? mempool_alloc+0x53/0x130\n[\u003cffffffffa007c7a4\u003e] logfs_segment_write+0x1d4/0x230 [logfs]\n[\u003cffffffffa0078f8e\u003e] logfs_write_i0+0x12e/0x190 [logfs]\n[\u003cffffffffa0079300\u003e] __logfs_write_rec+0x140/0x220 [logfs]\n[\u003cffffffffa0079444\u003e] logfs_write_rec+0x64/0xd0 [logfs]\n[\u003cffffffffa00795b6\u003e] __logfs_write_buf+0x106/0x110 [logfs]\n[\u003cffffffffa007a13e\u003e] logfs_write_buf+0x4e/0x80 [logfs]\n[\u003cffffffffa0073e33\u003e] __logfs_writepage+0x23/0x80 [logfs]\n[\u003cffffffffa007410c\u003e] logfs_writepage+0xdc/0x110 [logfs]\n[\u003cffffffff810f5ba7\u003e] __writepage+0x17/0x40\n[\u003cffffffff810f6208\u003e] write_cache_pages+0x208/0x4f0\n[\u003cffffffff810f5b90\u003e] ? set_page_dirty+0x70/0x70\n[\u003cffffffff810f653a\u003e] generic_writepages+0x4a/0x70\n[\u003cffffffff810f75d1\u003e] do_writepages+0x21/0x40\n[\u003cffffffff8116b9d1\u003e] writeback_single_inode+0x101/0x250\n[\u003cffffffff8116bdbd\u003e] writeback_sb_inodes+0xed/0x1c0\n[\u003cffffffff8116c5fb\u003e] writeback_inodes_wb+0x7b/0x1e0\n[\u003cffffffff8116cc23\u003e] wb_writeback+0x4c3/0x530\n[\u003cffffffff814d984d\u003e] ? sub_preempt_count+0x9d/0xd0\n[\u003cffffffff8116cd6b\u003e] wb_do_writeback+0xdb/0x290\n[\u003cffffffff814d984d\u003e] ? sub_preempt_count+0x9d/0xd0\n[\u003cffffffff814d6208\u003e] ? _raw_spin_unlock_irqrestore+0x18/0x40\n[\u003cffffffff8105aa5a\u003e] ? del_timer+0x8a/0x120\n[\u003cffffffff8116cfac\u003e] bdi_writeback_thread+0x8c/0x2e0\n[\u003cffffffff8116cf20\u003e] ? wb_do_writeback+0x290/0x290\n[\u003cffffffff8106d2e6\u003e] kthread+0x96/0xa0\n[\u003cffffffff814de514\u003e] kernel_thread_helper+0x4/0x10\n[\u003cffffffff8106d250\u003e] ? kthread_worker_fn+0x190/0x190\n[\u003cffffffff814de510\u003e] ? gs_change+0xb/0xb\nRIP  [\u003cffffffffa007deed\u003e] bdev_writeseg+0x25d/0x270 [logfs]\n---[ end trace 0211ad60a57657c4 ]---\n\nReviewed-by: Joern Engel \u003cjoern@logfs.org\u003e\nSigned-off-by: Prasad Joshi \u003cprasadjoshi.linux@gmail.com\u003e\n"
    },
    {
      "commit": "02c24a82187d5a628c68edfe71ae60dc135cd178",
      "tree": "c8dbaba4d82e2b20ed4335910a564a1f7d90fcf6",
      "parents": [
        "22735068d53c7115e384bc88dea95b17e76a6839"
      ],
      "author": {
        "name": "Josef Bacik",
        "email": "josef@redhat.com",
        "time": "Sat Jul 16 20:44:56 2011 -0400"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Wed Jul 20 20:47:59 2011 -0400"
      },
      "message": "fs: push i_mutex and filemap_write_and_wait down into -\u003efsync() handlers\n\nBtrfs needs to be able to control how filemap_write_and_wait_range() is called\nin fsync to make it less of a painful operation, so push down taking i_mutex and\nthe calling of filemap_write_and_wait() down into the -\u003efsync() handlers.  Some\nfile systems can drop taking the i_mutex altogether it seems, like ext3 and\nocfs2.  For correctness sake I just pushed everything down in all cases to make\nsure that we keep the current behavior the same for everybody, and then each\nindividual fs maintainer can make up their mind about what to do from there.\nThanks,\n\nAcked-by: Jan Kara \u003cjack@suse.cz\u003e\nSigned-off-by: Josef Bacik \u003cjosef@redhat.com\u003e\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "2e1496707560ecf98e9b0604622c0990f94861d3",
      "tree": "d1473b70fad31a903fedc87221680678a6c6c5f6",
      "parents": [
        "e795b71799ff0b27365020c9ddaa25d0d83f99c8"
      ],
      "author": {
        "name": "Serge E. Hallyn",
        "email": "serge@hallyn.com",
        "time": "Wed Mar 23 16:43:26 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Mar 23 19:47:13 2011 -0700"
      },
      "message": "userns: rename is_owner_or_cap to inode_owner_or_capable\n\nAnd give it a kernel-doc comment.\n\n[akpm@linux-foundation.org: btrfs changed in linux-next]\nSigned-off-by: Serge E. Hallyn \u003cserge.hallyn@canonical.com\u003e\nCc: \"Eric W. Biederman\" \u003cebiederm@xmission.com\u003e\nCc: Daniel Lezcano \u003cdaniel.lezcano@free.fr\u003e\nAcked-by: David Howells \u003cdhowells@redhat.com\u003e\nCc: James Morris \u003cjmorris@namei.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "02d6d685fc6f2d8b48b133b5a5a43755e005074e",
      "tree": "6fb90bda20e1b36494488c067bfedcc655042712",
      "parents": [
        "2be1f3a73dd02e38e181cf5abacb3d45a6a2d6b8"
      ],
      "author": {
        "name": "Arnd Bergmann",
        "email": "arnd@arndb.de",
        "time": "Tue Apr 27 22:30:06 2010 +0200"
      },
      "committer": {
        "name": "Frederic Weisbecker",
        "email": "fweisbec@gmail.com",
        "time": "Sat Aug 14 00:24:24 2010 +0200"
      },
      "message": "logfs: kill BKL\n\nlogfs does not need the BKL, so use -\u003eunlocked_ioctl instead\nof -\u003eioctl in file operations.\n\nSigned-off-by: Arnd Bergmann \u003carnd@arndb.de\u003e\nSigned-off-by: Joern Engel \u003cjoern@logfs.org\u003e\n[ fixed trivial conflict ]\nSigned-off-by: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\n"
    },
    {
      "commit": "db78b877f7744bec4a9d9f9e7d10da3931d7cd39",
      "tree": "fd9ee2fbe0998218b6d90322f85b285887e6fe9d",
      "parents": [
        "1025774ce411f2bd4b059ad7b53f0003569b74fa"
      ],
      "author": {
        "name": "Christoph Hellwig",
        "email": "hch@lst.de",
        "time": "Fri Jun 04 11:30:03 2010 +0200"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Mon Aug 09 16:47:38 2010 -0400"
      },
      "message": "always call inode_change_ok early in -\u003esetattr\n\nMake sure we call inode_change_ok before doing any changes in -\u003esetattr,\nand make sure to call it even if our fs wants to ignore normal UNIX\npermissions, but use the ATTR_FORCE to skip those.\n\nSigned-off-by: Christoph Hellwig \u003chch@lst.de\u003e\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "1025774ce411f2bd4b059ad7b53f0003569b74fa",
      "tree": "2be221c205cb5579652a6063e8ee27d1c72d1bbd",
      "parents": [
        "eef2380c187890816b73b1a4cb89a09203759469"
      ],
      "author": {
        "name": "Christoph Hellwig",
        "email": "hch@lst.de",
        "time": "Fri Jun 04 11:30:02 2010 +0200"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Mon Aug 09 16:47:37 2010 -0400"
      },
      "message": "remove inode_setattr\n\nReplace inode_setattr with opencoded variants of it in all callers.  This\nmoves the remaining call to vmtruncate into the filesystem methods where it\ncan be replaced with the proper truncate sequence.\n\nIn a few cases it was obvious that we would never end up calling vmtruncate\nso it was left out in the opencoded variant:\n\n spufs: explicitly checks for ATTR_SIZE earlier\n btrfs,hugetlbfs,logfs,dlmfs: explicitly clears ATTR_SIZE earlier\n ufs: contains an opencoded simple_seattr + truncate that sets the filesize just above\n\nIn addition to that ncpfs called inode_setattr with handcrafted iattrs,\nwhich allowed to trim down the opencoded variant.\n\nSigned-off-by: Christoph Hellwig \u003chch@lst.de\u003e\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "7ea8085910ef3dd4f3cad6845aaa2b580d39b115",
      "tree": "d9c1edb5906f943f7d70bfb4b65106e29772d379",
      "parents": [
        "cc967be54710d97c05229b2e5ba2d00df84ddd64"
      ],
      "author": {
        "name": "Christoph Hellwig",
        "email": "hch@lst.de",
        "time": "Wed May 26 17:53:25 2010 +0200"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Thu May 27 22:05:02 2010 -0400"
      },
      "message": "drop unused dentry argument to -\u003efsync\n\nSigned-off-by: Christoph Hellwig \u003chch@lst.de\u003e\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "58e323cf5e4ed621a6e88263aca40c3d9c3d9bfd",
      "tree": "a20b58fd6efaf908822529c472f7ac81ca551a92",
      "parents": [
        "c0c79c31c9d5fcc19812c6c35f842baf50ee788a"
      ],
      "author": {
        "name": "Joern Engel",
        "email": "joern@logfs.org",
        "time": "Fri May 07 14:15:04 2010 +0200"
      },
      "committer": {
        "name": "Joern Engel",
        "email": "joern@logfs.org",
        "time": "Fri May 07 14:15:04 2010 +0200"
      },
      "message": "logfs: remove unused variable\n\nSigned-off-by: Joern Engel \u003cjoern@logfs.org\u003e\n"
    },
    {
      "commit": "c0c79c31c9d5fcc19812c6c35f842baf50ee788a",
      "tree": "85b3ee846f70f461add9b7cb1e08f3030992e2fb",
      "parents": [
        "bba0b5c2c27e6dadc93c476f8a4b49d108b66292"
      ],
      "author": {
        "name": "Joern Engel",
        "email": "joern@logfs.org",
        "time": "Wed May 05 22:33:36 2010 +0200"
      },
      "committer": {
        "name": "Joern Engel",
        "email": "joern@logfs.org",
        "time": "Wed May 05 22:33:36 2010 +0200"
      },
      "message": "logfs: fix sync\n\nRather self-explanatory.\n\nSigned-off-by: Joern Engel \u003cjoern@logfs.org\u003e\n"
    },
    {
      "commit": "05ebad852901cf9127a743df6ea10c0e8b1590c3",
      "tree": "eb5e200d3ca4ae15bec2cbf3731055ff29e7f73c",
      "parents": [
        "20503664b008e17976bff1fdbc693c77ebd6f6c9"
      ],
      "author": {
        "name": "Joern Engel",
        "email": "joern@logfs.org",
        "time": "Tue May 04 19:41:09 2010 +0200"
      },
      "committer": {
        "name": "Joern Engel",
        "email": "joern@logfs.org",
        "time": "Tue May 04 19:41:09 2010 +0200"
      },
      "message": "logfs: commit reservations under space pressure\n\nEnsures we only return -ENOSPC when there really is no space.\n\nSigned-off-by: Joern Engel \u003cjoern@logfs.org\u003e\n"
    },
    {
      "commit": "5db53f3e80dee2d9dff5e534f9e9fe1db17c9936",
      "tree": "066f2873eeb7eb86466f6389e45892d957db3de2",
      "parents": [
        "66b00a7c93ec782d118d2c03bd599cfd041e80a1"
      ],
      "author": {
        "name": "Joern Engel",
        "email": "joern@logfs.org",
        "time": "Fri Nov 20 20:13:39 2009 +0100"
      },
      "committer": {
        "name": "Joern Engel",
        "email": "joern@logfs.org",
        "time": "Fri Nov 20 20:13:39 2009 +0100"
      },
      "message": "[LogFS] add new flash file system\n\nThis is a new flash file system. See\nDocumentation/filesystems/logfs.txt\n\nSigned-off-by: Joern Engel \u003cjoern@logfs.org\u003e\n"
    }
  ]
}
