)]}'
{
  "log": [
    {
      "commit": "05f225dc8729d3e5703b8c34e750fdca67bcefe6",
      "tree": "d0ac17e47cafb73e38962ded785301aa01dab020",
      "parents": [
        "0ca06664902d82ff0cb962cc4a72f63ab4bf4991"
      ],
      "author": {
        "name": "Evgeniy Dushistov",
        "email": "dushistov@mail.ru",
        "time": "Tue Jun 27 02:53:59 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Tue Jun 27 17:32:39 2006 -0700"
      },
      "message": "[PATCH] ufs: ufs_read_inode cleanup\n\nAdd missed ufsi-\u003ei_dir_start_lookup initialization in ufs_read_inode in\nUFS2 case.  Also it cleans ufs_read_inode function to prevent such kind of\nsituation in the future: it move depend on UFS type parts of code into\nseparate functions and leaves in ufs_read_inode only generic code.  It\ncleans code and avoids duplication.\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": "138bb68ac9d49b0ea7eeecb3a245dc4e20f181da",
      "tree": "5918b8b5e8fa13a85879b48b4201e716c16c0e05",
      "parents": [
        "098d5af7be694c66af44093f7217da3d22af1057"
      ],
      "author": {
        "name": "Adrian Bunk",
        "email": "bunk@stusta.de",
        "time": "Sun Jun 25 05:47:32 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Sun Jun 25 10:01:04 2006 -0700"
      },
      "message": "[PATCH] fs/ufs/inode.c: make 2 functions static\n\nMake two needlessly global functions static.\n\nSigned-off-by: Adrian Bunk \u003cbunk@stusta.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "f391475812ba39afa322c835217ffe936f5e754a",
      "tree": "d5bf0a5ec79b0bebe87988734c316b18360f42a8",
      "parents": [
        "96710b29e05f3b470bc4206366021b56e28d5208"
      ],
      "author": {
        "name": "Evgeniy Dushistov",
        "email": "dushistov@mail.ru",
        "time": "Sun Jun 25 05:47:28 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Sun Jun 25 10:01:04 2006 -0700"
      },
      "message": "[PATCH] ufs: missed brelse and wrong baseblk\n\nThis patch fixes two bugs, which introduced by previous patches:\n\n1) Missed \"brelse\"\n\n2) Sometimes \"baseblk\" may be wrongly calculated, if i_size is equal to\n   zero, which lead infinite cycle in \"mpage_writepages\".\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": "022a6dc5f461a30615bcd1687569abeee7ef8ba2",
      "tree": "8f16f7d70aa443f0d53bed70ac8633ec6febd87c",
      "parents": [
        "2e006393ba5b599d9c43f94f8d8989e68131433e"
      ],
      "author": {
        "name": "Evgeniy Dushistov",
        "email": "dushistov@mail.ru",
        "time": "Sun Jun 25 05:47:27 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Sun Jun 25 10:01:03 2006 -0700"
      },
      "message": "[PATCH] ufs: zero metadata\n\nPresently if we allocate several \"metadata\" blocks (pointers to indirect\nblocks for example), we fill with zeroes only the first block.  This cause\nsome problems in \"truncate\" function.  Also this patch remove some unused\narguments from several functions and add comments.\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": "dd187a2603d9904ddc410441348f0cfc558a5233",
      "tree": "a3859f88d1f458a18d31a231f03c955393282255",
      "parents": [
        "abf5d15fd2e52517dd56a17a846d5a1f900b7db4"
      ],
      "author": {
        "name": "Evgeniy Dushistov",
        "email": "dushistov@mail.ru",
        "time": "Sun Jun 25 05:47:25 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Sun Jun 25 10:01:03 2006 -0700"
      },
      "message": "[PATCH] ufs: little directory lookup optimization\n\nThis patch make little optimization of ufs_find_entry like \"ext2\" does.  Save\nnumber of page and reuse it again in the next call.\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": "826843a347cc8fd596a4c73d3fbdf04a1f130b8a",
      "tree": "f9511e70a57bd2c6432bdbd8fa6957881121266b",
      "parents": [
        "6ef4d6bf86a82965896eaa1a189177239ec2bbab"
      ],
      "author": {
        "name": "Evgeniy Dushistov",
        "email": "dushistov@mail.ru",
        "time": "Sun Jun 25 05:47:21 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Sun Jun 25 10:01:02 2006 -0700"
      },
      "message": "[PATCH] ufs: directory and page cache: install aops\n\nThis series of patches finished \"bugs fixing\" mentioned\nhere http://lkml.org/lkml/2006/1/31/275 .\n\nThe main bugs:\n* for i in `seq 1 1000`; do touch $i; done - crash system\n* mkdir create directory without \".\" and \"..\" entries\n\nThe suggested solution is work with page cache instead of straight work\nwith blocks.  Such solution has following advantages\n\n* reduce code size and its complexity\n* some global locks go away\n* fix bugs\n\nThe most part of code is stolen from ext2, because of it has similar\ndirectory structure.\n\nPatches testes with UFS1 and UFS2 file systems.\n\nThis patch installs i_mapping-\u003ea_ops for directory inodes and removes some\nduplicated code.\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": "6ef4d6bf86a82965896eaa1a189177239ec2bbab",
      "tree": "3217c5601d8cf6701f8783ec776aa96d0dd75d4a",
      "parents": [
        "c9a27b5dca52bbd0955e065e49e56eb313d02c34"
      ],
      "author": {
        "name": "Evgeniy Dushistov",
        "email": "dushistov@mail.ru",
        "time": "Sun Jun 25 05:47:20 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Sun Jun 25 10:01:01 2006 -0700"
      },
      "message": "[PATCH] ufs: change block number on the fly\n\nFirst of all some necessary notes about UFS by it self: To avoid waste of disk\nspace the tail of file consists not from blocks (which is ordinary big enough,\n16K usually), it consists from fragments(which is ordinary 2K).  When file is\ngrowing its tail occupy 1 fragment, 2 fragments...  At some stage decision to\nallocate whole block is made and all fragments are moved to one block.\n\nHow this situation was handled before:\n\n  ufs_prepare_write\n  -\u003eblock_prepare_write\n    -\u003eufs_getfrag_block\n      -\u003e...\n        -\u003eufs_new_fragments:\n\n\tbh \u003d sb_bread\n\tbh-\u003eb_blocknr \u003d result + i;\n\tmark_buffer_dirty (bh);\n\nThis is wrong solution, because:\n\n- it didn\u0027t take into consideration that there is another cache: \"inode page\n  cache\"\n\n- because of sb_getblk uses not b_blocknr, (it uses page-\u003eindex) to find\n  certain block, this breaks sb_getblk.\n\nHow this situation is handled now: we go though all \"page inode cache\", if\nthere are no such page in cache we load it into cache, and change b_blocknr.\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": "c9a27b5dca52bbd0955e065e49e56eb313d02c34",
      "tree": "6e5223f9ee942e8a55552138aa67ef2a37e01738",
      "parents": [
        "2061df0f89201c0abeb4c17d343309c9fae5b861"
      ],
      "author": {
        "name": "Evgeniy Dushistov",
        "email": "dushistov@mail.ru",
        "time": "Sun Jun 25 05:47:19 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Sun Jun 25 10:01:01 2006 -0700"
      },
      "message": "[PATCH] ufs: right block allocation\n\n* After block allocation, we map it on the same \"address\" as 8 others\n  blocks\n\n* We nullify block several times: once in ufs/block.c and once in\n  block_*write_full_page, and use different \"caches\" for this.\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": "09114eb8c53d2d3b2ff9523e011cb68b2e245dce",
      "tree": "c66d4590814072f91d74f185c798a3935d933209",
      "parents": [
        "e295cfcb2907ae4c5df57f5d4ada1ce6f3ae4657"
      ],
      "author": {
        "name": "Evgeniy Dushistov",
        "email": "dushistov@mail.ru",
        "time": "Fri Feb 03 03:04:06 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Fri Feb 03 08:32:04 2006 -0800"
      },
      "message": "[PATCH] ufs: fix hang during `rm\u0027\n\nThis fixes the code like this:\n\n\tbh \u003d sb_find_get_block (sb, tmp + j);\n\tif ((bh \u0026\u0026 DATA_BUFFER_USED(bh)) || tmp !\u003d fs32_to_cpu(sb, *p)) {\n\t\tretry \u003d 1;\n\t\tbrelse (bh);\n\t\tgoto next1;\n\t}\n\tbforget (bh);\n\nsb_find_get_block() ordinarily returns a buffer_head with b_count\u003e\u003d2, and\nthis code assume that in case if \"b_count\u003e1\" buffer is used, so this caused\ninfinite loop.\n\n(akpm: that is-the-buffer-busy code is incomprehensible.  Good riddance.  Use\nof block_truncate_page() seems sane).\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": "7b4ee73e28052e53aac2fef1c91029666d8b2d70",
      "tree": "a82714e4b9c2e1157695872b66bf180dc12b27a2",
      "parents": [
        "59af70385fb125f819d953801b6c45629836e916"
      ],
      "author": {
        "name": "Evgeniy",
        "email": "dushistov@mail.ru",
        "time": "Sat Jan 14 11:42:06 2006 +0300"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Sat Jan 14 10:27:32 2006 -0800"
      },
      "message": "[PATCH] ufs cleanup\n\nHere is update of ufs cleanup patch, brought on by the recently fixed\nubh_get_usb_second() bug that made some ugly code rather painfully\nobvious.  It also includes\n\n - fix compilation warnings which appears if debug mode turn on\n - remove unnecessary duplication of code to support UFS2\n\nI tested it on ufs1 and ufs2 file-systems.\n\nSigned-off-by: Evgeniy Dushistov \u003cdushistov@mail.ru\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "fef266580e5cf897a1b63528fc6b1185e2d6bb87",
      "tree": "a432a35914b8a74f0c8c73ca57257c7e609365d3",
      "parents": [
        "e85b565233236a2a833adea73fb2f0e0f8fa2a61"
      ],
      "author": {
        "name": "Mark Fasheh",
        "email": "mark.fasheh@oracle.com",
        "time": "Fri Sep 09 13:01:31 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Fri Sep 09 13:57:27 2005 -0700"
      },
      "message": "[PATCH] update filesystems for new delete_inode behavior\n\nUpdate the file systems in fs/ implementing a delete_inode() callback to\ncall truncate_inode_pages().  One implementation note: In developing this\npatch I put the calls to truncate_inode_pages() at the very top of those\nfilesystems delete_inode() callbacks in order to retain the previous\nbehavior.  I\u0027m guessing that some of those could probably be optimized.\n\nSigned-off-by: Mark Fasheh \u003cmark.fasheh@oracle.com\u003e\nAcked-by: Christoph Hellwig \u003chch@infradead.org\u003e\nSigned-off-by: Hugh Dickins \u003chugh@veritas.com\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"
    }
  ]
}
