)]}'
{
  "log": [
    {
      "commit": "e542059884bb6d651d7ffc64eacedbab2b64078c",
      "tree": "336dc9a9b9fec99b9e744b2f754a27606e40eb49",
      "parents": [
        "bdc807871d58285737d50dc6163d0feb72cb0dc2"
      ],
      "author": {
        "name": "Mike Frysinger",
        "email": "vapier@gentoo.org",
        "time": "Fri Feb 08 04:21:31 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Fri Feb 08 09:22:39 2008 -0800"
      },
      "message": "drop linux/ufs_fs.h from userspace export and relocate it to fs/ufs/ufs_fs.h\n\nPer previous discussions about cleaning up ufs_fs.h, people just want\nthis straight up dropped from userspace export.  The only remaining\nconsumer (silo) has been fixed a while ago to not rely on this header.\nThis allows use to move it completely from include/linux/ to fs/ufs/\nseeing as how the only in-kernel consumer is fs/ufs/.\n\nSigned-off-by: Mike Frysinger \u003cvapier@gentoo.org\u003e\nCc: Jan Kara \u003cjack@ucw.cz\u003e\nCc: Christoph Hellwig \u003chch@lst.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "bcd6d4ecf6868ed57d4daae5d48e52d0752566d2",
      "tree": "c683016ae6fa2800070402574490aa6f9ad71867",
      "parents": [
        "3542ae4c17bb2c86e5658728ff73b3d5ca44532e"
      ],
      "author": {
        "name": "Christoph Hellwig",
        "email": "hch@lst.de",
        "time": "Tue Oct 16 23:26:51 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Wed Oct 17 08:42:51 2007 -0700"
      },
      "message": "ufs: move non-layout parts of ufs_fs.h to fs/ufs/\n\nMove prototypes and in-core structures to fs/ufs/ similar to what most\nother filesystems already do.\n\nI made little modifications: move also ufs debug macros and\nmount options constants into fs/ufs/ufs.h, this stuff\nalso private for ufs.\n\nSigned-off-by: Christoph Hellwig \u003chch@lst.de\u003e\nSigned-off-by: Evgeniy Dushistov \u003cdushistov@mail.ru\u003e\nCc: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "6fe6900e1e5b6fa9e5c59aa5061f244fe3f467e2",
      "tree": "8bbfe5072279227cc50a941ad4813908082426a1",
      "parents": [
        "714b8171af9c930a59a0da8f6fe50518e70ab035"
      ],
      "author": {
        "name": "Nick Piggin",
        "email": "npiggin@suse.de",
        "time": "Sun May 06 14:49:04 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Mon May 07 12:12:51 2007 -0700"
      },
      "message": "mm: make read_cache_page synchronous\n\nEnsure pages are uptodate after returning from read_cache_page, which allows\nus to cut out most of the filesystem-internal PageUptodate calls.\n\nI didn\u0027t have a great look down the call chains, but this appears to fixes 7\npossible use-before uptodate in hfs, 2 in hfsplus, 1 in jfs, a few in\necryptfs, 1 in jffs2, and a possible cleared data overwritten with readpage in\nblock2mtd.  All depending on whether the filler is async and/or can return\nwith a !uptodate page.\n\nSigned-off-by: Nick Piggin \u003cnpiggin@suse.de\u003e\nCc: Hugh Dickins \u003chugh@veritas.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "44aa5359be589f9cbe9cf0d5c97e22b27a04c7d3",
      "tree": "d69dc626068b45e62f2456b1d7ab7ca08aff018f",
      "parents": [
        "3524de1c7953e7a22c43b9214ffc3680af6f8edb"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@ftp.linux.org.uk",
        "time": "Sun Aug 13 01:54:30 2006 -0400"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Tue Oct 10 16:15:34 2006 -0700"
      },
      "message": "[PATCH] ufs endianness annotations\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "06fa45d3a19c6fbfccbf295e9f08087492338631",
      "tree": "24cc6843b98272e8ef5a8a1c78ef5b452f4a2d84",
      "parents": [
        "1fb32b7bd8203d0175649a75ede3ee7634d6a941"
      ],
      "author": {
        "name": "Evgeniy Dushistov",
        "email": "dushistov@mail.ru",
        "time": "Sat Aug 05 12:13:57 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Sun Aug 06 08:57:46 2006 -0700"
      },
      "message": "[PATCH] ufs: handle truncated pages\n\nufs_get_locked_page is called twice in ufs code, one time in ufs_truncate\npath(we allocated last block), and another time when fragments are\nreallocated.  In ideal world in the second case on allocation/free block\nlayer we should not know that things like `truncate\u0027 exists, but now with\nsuch crutch like ufs_get_locked_page we can (or should?) skip truncated\npages.\n\nSigned-off-by: Evgeniy Dushistov \u003cdushistov@mail.ru\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "1fb32b7bd8203d0175649a75ede3ee7634d6a941",
      "tree": "1c0b7bd06835ce37dc2fc18a95fe3fe22c2ce556",
      "parents": [
        "e91467ecd1ef381377fd327c0ded922835ec52ab"
      ],
      "author": {
        "name": "Evgeniy Dushistov",
        "email": "dushistov@mail.ru",
        "time": "Sat Aug 05 12:13:55 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Sun Aug 06 08:57:46 2006 -0700"
      },
      "message": "[PATCH] ufs: ufs_get_locked_page() race fix\n\nAs discussed earlier:\nhttp://lkml.org/lkml/2006/6/28/136\nthis patch fixes such issue:\n\n`ufs_get_locked_page\u0027 takes page from cache\nafter that `vmtruncate\u0027 takes page and deletes it from cache\n`ufs_get_locked_page\u0027 locks page, and reports about EIO error.\n\nAlso because of find_lock_page always return valid page or NULL, we have no\nneed to check it if page not NULL.\n\nSigned-off-by: Evgeniy Dushistov \u003cdushistov@mail.ru\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "10e5dce07e6f8f9cea1b54161a888bb099484f88",
      "tree": "9c7949cf82763344d86ae302748f8e1d278b565a",
      "parents": [
        "eb28931e4a2c89e53d2b0c1a02a843240bff0806"
      ],
      "author": {
        "name": "Evgeniy Dushistov",
        "email": "dushistov@mail.ru",
        "time": "Sat Jul 01 04:36:24 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Sat Jul 01 09:56:03 2006 -0700"
      },
      "message": "[PATCH] ufs: truncate should allocate block for last byte\n\nThis patch fixes buggy behaviour of UFS\nin such kind of scenario:\nopen(, O_TRUNC...)\nftruncate(, 1024)\nftruncate(, 0)\n\nSuch a scenario causes ufs_panic and remount read-only.  This happen\nbecause of according to specification UFS should always allocate block for\nlast byte, and many parts of our implementation rely on this, but\n`ufs_truncate\u0027 doesn\u0027t care about this.\n\nTo make possible return error code and to know about old size, this patch\nremoves `truncate\u0027 from ufs inode_operations and uses `setattr\u0027 method to\ncall ufs_truncate.\n\nSigned-off-by: Evgeniy Dushistov \u003cdushistov@mail.ru\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "098d5af7be694c66af44093f7217da3d22af1057",
      "tree": "6bd0fddb63e63bab540b14edc5b7591abc2d91ba",
      "parents": [
        "ee3ffd6c126323693b3b32a71a1f1acfce30bd66"
      ],
      "author": {
        "name": "Evgeniy Dushistov",
        "email": "dushistov@mail.ru",
        "time": "Sun Jun 25 05:47:31 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Sun Jun 25 10:01:04 2006 -0700"
      },
      "message": "[PATCH] ufs: ubh_ll_rw_block cleanup\n\nIn ufs code there is function: ubh_ll_rw_block, it has parameter how many\nufs_buffer_head it should handle, but it always called with \"1\" on the place\nof this parameter.  This patch removes unused parameter of \"ubh_ll_wr_block\".\n\nSigned-off-by: Evgeniy Dushistov \u003cdushistov@mail.ru\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "abf5d15fd2e52517dd56a17a846d5a1f900b7db4",
      "tree": "ea537760c201cea57b468044dc733e06781ece2b",
      "parents": [
        "5afb3145c9a733166174e1f5a07c46410b5c4091"
      ],
      "author": {
        "name": "Evgeniy Dushistov",
        "email": "dushistov@mail.ru",
        "time": "Sun Jun 25 05:47:24 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Sun Jun 25 10:01:03 2006 -0700"
      },
      "message": "[PATCH] ufs: easy debug\n\nCurrently to turn on debug mode \"user\" has to edit ~10 files, to turn off he\nhas to do it again.\n\nThis patch introduce such changes:\n1)turn on(off) debug messages via \".config\"\n2)remove unnecessary duplication of code\n3)make \"UFSD\" macros more similar to function\n4)fix some compiler warnings\n\nSigned-off-by: Evgeniy Dushistov \u003cdushistov@mail.ru\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "9695ef16ed4e00b59303f39f9a4a422a2c6a3b89",
      "tree": "fba8946e86a523a5d53936cf5ec9e0a150037f73",
      "parents": [
        "b71034e5e67d1577424cebe7bbb7d0ce134a4cd8"
      ],
      "author": {
        "name": "Evgeniy Dushistov",
        "email": "dushistov@mail.ru",
        "time": "Sun Jun 25 05:47:22 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Sun Jun 25 10:01:02 2006 -0700"
      },
      "message": "[PATCH] ufs: wrong type cast\n\nThere are two ugly macros in ufs code:\n#define UCPI_UBH ((struct ufs_buffer_head *)ucpi)\n#define USPI_UBH ((struct ufs_buffer_head *)uspi)\nwhen uspi looks like\nstruct {\nstruct ufs_buffer_head ;\n}\nand USPI_UBH has some sence,\nucpi looks like\nstruct {\nstruct not_ufs_buffer_head;\n}\n\nTo prevent bugs in future, this patch convert macros to inline function and\nfix \"ucpi\" structure.\n\nSigned-off-by: Evgeniy Dushistov \u003cdushistov@mail.ru\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "2061df0f89201c0abeb4c17d343309c9fae5b861",
      "tree": "a641b77e6197e6416dc043452db347dbfbb4bd3e",
      "parents": [
        "a9adb8dbcd7a337620862106f8c17aeb5e7278c7"
      ],
      "author": {
        "name": "Evgeniy Dushistov",
        "email": "dushistov@mail.ru",
        "time": "Sun Jun 25 05:47:18 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Sun Jun 25 10:01:01 2006 -0700"
      },
      "message": "[PATCH] ufs: ufs_trunc_indirect: infinite cycle\n\nCurrently, ufs write support have two sets of problems: work with files and\nwork with directories.\n\nThis series of patches should solve the first problem.\n\nThis patch is similar to http://lkml.org/lkml/2006/1/17/61 this patch\ncomplements it.\n\nThe situation the same: in ufs_trunc_(not direct), we read block, check if\ncount of links to it is equal to one, if so we finish cycle, if not\ncontinue.  Because of \"count of links\" always \u003e\u003d2 this operation cause\ninfinite cycle and hang up the kernel.\n\nSigned-off-by: Evgeniy Dushistov \u003cdushistov@mail.ru\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "1da177e4c3f41524e886b7f1b8a0c1fc7321cac2",
      "tree": "0bba044c4ce775e45a88a51686b5d9f90697ea9d",
      "parents": [],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@ppc970.osdl.org",
        "time": "Sat Apr 16 15:20:36 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@ppc970.osdl.org",
        "time": "Sat Apr 16 15:20:36 2005 -0700"
      },
      "message": "Linux-2.6.12-rc2\n\nInitial git repository build. I\u0027m not bothering with the full history,\neven though we have it. We can create a separate \"historical\" git\narchive of that later if we want to, and in the meantime it\u0027s about\n3.2GB when imported into git - space that would just make the early\ngit days unnecessarily complicated, when we don\u0027t have a lot of good\ninfrastructure for it.\n\nLet it rip!\n"
    }
  ]
}
