)]}'
{
  "log": [
    {
      "commit": "587228be4a43c28c402c1cc8a5f185252d8e2231",
      "tree": "c0708154e24c91b57581e8b596214f5254485f7b",
      "parents": [
        "8e0718924e7d7eaf6104e54aeaeda477570e1e06"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Sun Jul 24 22:58:10 2011 -0400"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Tue Jan 03 22:55:01 2012 -0500"
      },
      "message": "omfs: propagate umode_t\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "4acdaf27ebe2034c342f3be57ef49aed1ad885ef",
      "tree": "d89a876ee19cd88609a587f8aa6c464a52ee6d98",
      "parents": [
        "18bb1db3e7607e4a997d50991a6f9fa5b0f8722c"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Tue Jul 26 01:42:34 2011 -0400"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Tue Jan 03 22:54:53 2012 -0500"
      },
      "message": "switch -\u003ecreate() to umode_t\n\nvfs_create() ignores everything outside of 16bit subset of its\nmode argument; switching it to umode_t is obviously equivalent\nand it\u0027s the only caller of the method\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "18bb1db3e7607e4a997d50991a6f9fa5b0f8722c",
      "tree": "4ee4e584bc9a67f3ec14ce159d2d7d4a27e68d4a",
      "parents": [
        "8208a22bb8bd3c52ef634b4ff194f14892ab1713"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Tue Jul 26 01:41:39 2011 -0400"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Tue Jan 03 22:54:53 2012 -0500"
      },
      "message": "switch vfs_mkdir() and -\u003emkdir() to umode_t\n\nvfs_mkdir() gets int, but immediately drops everything that might not\nfit into umode_t and that\u0027s the only caller of -\u003emkdir()...\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "41c96486f238e6a545f52215f95fe69748abf603",
      "tree": "580a8706552a41a0e154b440bd7afd80a9e688da",
      "parents": [
        "569254b0cc4e125ffde48780b215ecaf5f72bbf4"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Tue Jul 26 02:34:33 2011 -0400"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Tue Jul 26 13:05:28 2011 -0400"
      },
      "message": "omfs: fix (mode \u0026 S_IFDIR) abuse\n\ngranted, on a filesystem that has only regular files and directories\nit happens to work, but really should be S_ISDIR(mode)...\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "8aaa0f5431d8d1181b3d1a1bcd8f3330c0ce275f",
      "tree": "653c2e48f12f2f263a333ba7121679df372d9730",
      "parents": [
        "7020739df2fa0e2126fc9739987e016860f14323"
      ],
      "author": {
        "name": "Sage Weil",
        "email": "sage@newdream.net",
        "time": "Fri May 27 13:42:04 2011 -0700"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Sat May 28 01:02:52 2011 -0400"
      },
      "message": "omfs: remove unnecessary dentry_unhash on rmdir, dir rneame\n\nomfs does not have problems with references to unlinked directories.\n\nCC: Bob Copeland \u003cme@bobcopeland.com\u003e\nCC: linux-karma-devel@lists.sourceforge.net\nSigned-off-by: Sage Weil \u003csage@newdream.net\u003e\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "e4eaac06bcccb2a70bca6a2de9871882dce2aa14",
      "tree": "ca6736d96294cd6e65a1c3055718bfd5adc7336e",
      "parents": [
        "79bf7c732b5ff75b96022ed9d29181afd3d2509c"
      ],
      "author": {
        "name": "Sage Weil",
        "email": "sage@newdream.net",
        "time": "Tue May 24 13:06:07 2011 -0700"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Thu May 26 07:26:48 2011 -0400"
      },
      "message": "vfs: push dentry_unhash on rename_dir into file systems\n\nOnly a few file systems need this.  Start by pushing it down into each\nrename method (except gfs2 and xfs) so that it can be dealt with on a\nper-fs basis.\n\nAcked-by: Christoph Hellwig \u003chch@lst.de\u003e\nSigned-off-by: Sage Weil \u003csage@newdream.net\u003e\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "79bf7c732b5ff75b96022ed9d29181afd3d2509c",
      "tree": "74b8cc690f9a37fff02d0685464e1c695a25ef94",
      "parents": [
        "64252c75a2196a0cf1e0d3777143ecfe0e3ae650"
      ],
      "author": {
        "name": "Sage Weil",
        "email": "sage@newdream.net",
        "time": "Tue May 24 13:06:06 2011 -0700"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Thu May 26 07:26:47 2011 -0400"
      },
      "message": "vfs: push dentry_unhash on rmdir into file systems\n\nOnly a few file systems need this.  Start by pushing it down into each\nfs rmdir method (except gfs2 and xfs) so it can be dealt with on a per-fs\nbasis.\n\nThis does not change behavior for any in-tree file systems.\n\nAcked-by: Christoph Hellwig \u003chch@lst.de\u003e\nSigned-off-by: Sage Weil \u003csage@newdream.net\u003e\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "31be83aeaee22fa165862ad449c7131ceaf1cf91",
      "tree": "c63e3f3956c63aacfb438e0edb13402cdc16d8f3",
      "parents": [
        "d932805b3dc8c6d80d8948f7d7d0d8336d53b2ed"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Fri Mar 04 01:43:36 2011 -0500"
      },
      "committer": {
        "name": "Bob Copeland",
        "email": "me@bobcopeland.com",
        "time": "Sat Mar 05 16:24:12 2011 -0500"
      },
      "message": "omfs: make readdir stop when filldir says so\n\nfilldir returning an error does *not* mean \"skip this entry, try the\nnext one\"...\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\nSigned-off-by: Bob Copeland \u003cme@bobcopeland.com\u003e\n"
    },
    {
      "commit": "d932805b3dc8c6d80d8948f7d7d0d8336d53b2ed",
      "tree": "5024d697f1b3b6c8fcfe627718ece4020102df1b",
      "parents": [
        "cdb26496dba00d5c4375261be6518b3e94260444"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Fri Mar 04 01:31:03 2011 -0500"
      },
      "committer": {
        "name": "Bob Copeland",
        "email": "me@bobcopeland.com",
        "time": "Sat Mar 05 16:24:01 2011 -0500"
      },
      "message": "omfs: merge unlink() and rmdir(), close leak in rename()\n\nIn case of directory-overwriting rename(), omfs forgot to mark the\nvictim doomed, so omfs_evict_inode() didn\u0027t free it.\n\nWe could fix that by calling omfs_rmdir() for directory victims\ninstead of doing omfs_unlink(), but it\u0027s easier to merge omfs_unlink()\nand omfs_rmdir() instead.  Note that we have no hardlinks here.\n\nIt also makes the checks in omfs_rename() go away - they fold into\nwhat omfs_remove() does when it runs into a directory.\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\nSigned-off-by: Bob Copeland \u003cme@bobcopeland.com\u003e\n"
    },
    {
      "commit": "cdb26496dba00d5c4375261be6518b3e94260444",
      "tree": "e712f23460c1632abbc02dab237eaebe924c60e1",
      "parents": [
        "013e4f4a285d8c7d952d8d7be9f10783a85b5d3c"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Fri Mar 04 01:18:19 2011 -0500"
      },
      "committer": {
        "name": "Bob Copeland",
        "email": "me@bobcopeland.com",
        "time": "Sat Mar 05 16:23:39 2011 -0500"
      },
      "message": "omfs: stop playing silly buggers with omfs_unlink() in -\u003erename()\n\nSince omfs directories are hashes of inodes and name is part of\ninode, we have to remove inode from old directory before we can\nput it into new one / under new name.  So instead of\n\tbump i_nlink\n\tcall omfs_unlink, which does\n\t\tomfs_delete_entry()\n\t\tdecrement i_nlink and mark parent dirty in case of success\n\tdecrement i_nlink if omfs_unlink failed and hadn\u0027t done it itself\nlet\u0027s just call omfs_delete_entry() and dirty the parent ourselves...\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\nSigned-off-by: Bob Copeland \u003cme@bobcopeland.com\u003e\n"
    },
    {
      "commit": "013e4f4a285d8c7d952d8d7be9f10783a85b5d3c",
      "tree": "50f72ff88035306d4054bdfad5f2202db875d080",
      "parents": [
        "85e2efbb1db9a18d218006706d6e4fbeb0216213"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Fri Mar 04 01:14:55 2011 -0500"
      },
      "committer": {
        "name": "Bob Copeland",
        "email": "me@bobcopeland.com",
        "time": "Sat Mar 05 16:20:30 2011 -0500"
      },
      "message": "omfs: rename() needs to mark old_inode dirty after ctime update\n\nwe *do* mark it dirty before, but it doesn\u0027t guarantee that we\ndon\u0027t get preempted just before assignment to -\u003ei_ctime, with\ninode getting written out before we get CPU back...\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\nSigned-off-by: Bob Copeland \u003cme@bobcopeland.com\u003e\n"
    },
    {
      "commit": "f068272cb2f134a194b93e94a8e0672bfce48cd8",
      "tree": "c6a2a67951646eee3d040b732b384fa5c98fe78c",
      "parents": [
        "70d9e384aa7df681cfffd65947af72b22e86690e"
      ],
      "author": {
        "name": "Bob Copeland",
        "email": "me@bobcopeland.com",
        "time": "Sat Sep 06 17:51:53 2008 -0400"
      },
      "committer": {
        "name": "Bob Copeland",
        "email": "me@bobcopeland.com",
        "time": "Sat Jul 10 14:37:06 2010 -0400"
      },
      "message": "omfs: check bounds on block numbers before passing to sb_bread\n\nIn case of filesystem corruption, passing unchecked block numbers into\nsb_bread can result in an infinite loop in __getblk().  Introduce a wrapper\nfunction omfs_sbread() to check the block numbers and to also perform the\nclus_to_blk() scaling.\n\nSigned-off-by: Bob Copeland \u003cme@bobcopeland.com\u003e\n"
    },
    {
      "commit": "828c09509b9695271bcbdc53e9fc9a6a737148d2",
      "tree": "072ffad6f02db7bf4095e07e2b90247cfa042998",
      "parents": [
        "1c4115e595dec42aa0e81ba47ef46e35b34ed428"
      ],
      "author": {
        "name": "Alexey Dobriyan",
        "email": "adobriyan@gmail.com",
        "time": "Thu Oct 01 15:43:56 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Oct 01 16:11:11 2009 -0700"
      },
      "message": "const: constify remaining file_operations\n\n[akpm@linux-foundation.org: fix KVM]\nSigned-off-by: Alexey Dobriyan \u003cadobriyan@gmail.com\u003e\nAcked-by: Mike Frysinger \u003cvapier@gentoo.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\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": "3222a3e55f4025acb2a5a4379cf2f2b7df1f1243",
      "tree": "d12740cd5dc00ae17f7beb63584dd00d7c1fb4cb",
      "parents": [
        "4e9ed2f85af7adfa7c3f0efa839a53186254fdcb"
      ],
      "author": {
        "name": "Christoph Hellwig",
        "email": "hch@lst.de",
        "time": "Wed Sep 03 21:53:01 2008 +0200"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Thu Oct 23 05:13:21 2008 -0400"
      },
      "message": "[PATCH] fix -\u003ellseek for more directories\n\nWith this patch all directory fops instances that have a readdir\nthat doesn\u0027t take the BKL are switched to generic_file_llseek.\n\nSigned-off-by: Christoph Hellwig \u003chch@lst.de\u003e\n"
    },
    {
      "commit": "d406f66ddb0d7491ddd53e4600c425d76a8a245f",
      "tree": "3f3a038ac10d0b5fa7a08acf0a5cd6e805d18e91",
      "parents": [
        "32be1d22327743134974c7b2ec1e2a143b6b6f86"
      ],
      "author": {
        "name": "Harvey Harrison",
        "email": "harvey.harrison@gmail.com",
        "time": "Tue Jul 29 22:33:46 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Jul 30 09:41:46 2008 -0700"
      },
      "message": "omfs: sparse annotations\n\nMissing cpu_to_be64 on some constant assignments.\nfs/omfs/dir.c:107:16: warning: incorrect type in assignment (different base types)\nfs/omfs/dir.c:107:16:    expected restricted __be64 [usertype] i_sibling\nfs/omfs/dir.c:107:16:    got unsigned long long\nfs/omfs/file.c:33:13: warning: incorrect type in assignment (different base types)\nfs/omfs/file.c:33:13:    expected restricted __be64 [usertype] e_next\nfs/omfs/file.c:33:13:    got unsigned long long\nfs/omfs/file.c:36:24: warning: incorrect type in assignment (different base types)\nfs/omfs/file.c:36:24:    expected restricted __be64 [usertype] e_cluster\nfs/omfs/file.c:36:24:    got unsigned long long\nfs/omfs/file.c:37:23: warning: incorrect type in assignment (different base types)\nfs/omfs/file.c:37:23:    expected restricted __be64 [usertype] e_blocks\nfs/omfs/file.c:37:23:    got unsigned long long\n\nfs/omfs/bitmap.c:74:18: warning: incorrect type in argument 2 (different signedness)\nfs/omfs/bitmap.c:74:18:    expected unsigned long volatile *addr\nfs/omfs/bitmap.c:74:18:    got long *\u003cnoident\u003e\nfs/omfs/bitmap.c:77:20: warning: incorrect type in argument 2 (different signedness)\nfs/omfs/bitmap.c:77:20:    expected unsigned long volatile *addr\nfs/omfs/bitmap.c:77:20:    got long *\u003cnoident\u003e\nfs/omfs/bitmap.c:112:17: warning: incorrect type in argument 2 (different signedness)\nfs/omfs/bitmap.c:112:17:    expected unsigned long volatile *addr\nfs/omfs/bitmap.c:112:17:    got long *\u003cnoident\u003e\n\nSigned-off-by: Harvey Harrison \u003charvey.harrison@gmail.com\u003e\nAcked-by: Bob Copeland \u003cme@bobcopeland.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "a3ab7155ea21aadc8a4d5687e91b3d876973185e",
      "tree": "40f74b9c4e38d12bbbbc269232fb8a5b7ad9448c",
      "parents": [
        "555e3775ced1d05203934fc6529bbf0560dd8733"
      ],
      "author": {
        "name": "Bob Copeland",
        "email": "me@bobcopeland.com",
        "time": "Fri Jul 25 19:45:16 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Jul 26 12:00:05 2008 -0700"
      },
      "message": "omfs: add directory routines\n\nAdd lookup and directory management routines for OMFS.  The filesystem uses\nhashing based on the filename and stores collisions, unordered, in siblings\nof files\u0027 inode structures.  To support telldir, the current position in\nthe hash table is encoded in fpos.\n\nSigned-off-by: Bob Copeland \u003cme@bobcopeland.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    }
  ]
}
