)]}'
{
  "log": [
    {
      "commit": "9746077a71d01b8d86f5e471a3a2c8f1fa91ef94",
      "tree": "b6a4b12949b29144ab2092bb5ccac15971a071e4",
      "parents": [
        "3c5afae2bac974fe2c15cd9439f921526b3ea2d7"
      ],
      "author": {
        "name": "Harvey Harrison",
        "email": "harvey.harrison@gmail.com",
        "time": "Mon Apr 28 02:16:17 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Apr 28 08:58:45 2008 -0700"
      },
      "message": "ufs: replace remaining __FUNCTION__ occurrences\n\n__FUNCTION__ is gcc-specific, use __func__\n\nSigned-off-by: Harvey Harrison \u003charvey.harrison@gmail.com\u003e\nCc: Jan Engelhardt \u003cjengelh@linux01.gwdg.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "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": "b55c460da6df4e8dfc6f68c00fafe7337b54e2f8",
      "tree": "ef38152ff42e3a50a9e193cd66bd81107d58a2e4",
      "parents": [
        "b8e1343f67460554ca5321956c440cc064e9889b"
      ],
      "author": {
        "name": "David Howells",
        "email": "dhowells@redhat.com",
        "time": "Thu Feb 07 00:15:48 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Thu Feb 07 08:42:29 2008 -0800"
      },
      "message": "iget: stop UFS from using iget() and read_inode()\n\nStop the UFS filesystem from using iget() and read_inode().  Replace\nufs_read_inode() with ufs_iget(), and call that instead of iget().  ufs_iget()\nthen uses iget_locked() directly and returns a proper error code instead of an\ninode in the event of an error.\n\nufs_fill_super() returns any error incurred when getting the root inode\ninstead of EINVAL.\n\n[akpm@linux-foundation.org: coding-style fixes]\nSigned-off-by: David Howells \u003cdhowells@redhat.com\u003e\nCc: Evgeniy Dushistov \u003cdushistov@mail.ru\u003e\nAcked-by: 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": "82b9d1d0da8046088b0f505f92a97d12d9804613",
      "tree": "de9d6f5a0fa7482a097bcf97152c25dedf68e19e",
      "parents": [
        "205c109a7a96d9a3d8ffe64c4068b70811fef5e8"
      ],
      "author": {
        "name": "Nick Piggin",
        "email": "npiggin@suse.de",
        "time": "Tue Oct 16 01:25:19 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Tue Oct 16 09:42:57 2007 -0700"
      },
      "message": "ufs: convert to new aops\n\nSigned-off-by: Nick Piggin \u003cnpiggin@suse.de\u003e\nCc: Evgeniy Dushistov \u003cdushistov@mail.ru\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "07a0cfec30848319cc86f21cce0d2efeca593e1a",
      "tree": "adf05a9b27e8298f0b8f810b5b2979f33350f097",
      "parents": [
        "3d2c5b415ccd6c322e18adaed3a5b21f7ec555ef"
      ],
      "author": {
        "name": "Evgeniy Dushistov",
        "email": "dushistov@mail.ru",
        "time": "Mon Apr 16 22:53:24 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Tue Apr 17 16:36:27 2007 -0700"
      },
      "message": "ufs proper handling of zero link case\n\nThis patch should fix or partly fix this bug:\nhttp://bugzilla.kernel.org/show_bug.cgi?id\u003d8276\n\nThe problem is:\n\n- if we see \"zero link case\" during reading inode operation, we call\n  ufs_error(which remount fs readonly), but not \"mark\" inode as bad (1)\n\n- in readonly case we do not fill some data structures, which are used in\n  read and write case (2)\n\n- VFS call ufs_delete_inode if link count is zero (3)\n\nso (1)-\u003e(3)-\u003e(2) cause oops, this patch should fix such scenario\n\nSigned-off-by: Evgeniy Dushistov \u003cdushistov@mail.ru\u003e\nCc: Jim Paris \u003cjim@jtan.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "4b25a37e2093146c1f9aa436b832b7d4ef880ca4",
      "tree": "435db82996e6114eea94f8315c699c7c9904615b",
      "parents": [
        "5431bf97ce69065ed07de1ff12543d0800817b83"
      ],
      "author": {
        "name": "Evgeniy Dushistov",
        "email": "dushistov@mail.ru",
        "time": "Fri Mar 16 13:38:09 2007 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Fri Mar 16 19:25:03 2007 -0700"
      },
      "message": "[PATCH] ufs: zeroize the rest of block in truncate\n\nThis patch fix behaviour in such test scenario:\n\n  lseek(fd, BIG_OFFSET)\n  write(fd, buf, sizeof(buf))\n  truncate(BIG_OFFSET)\n  truncate(BIG_OFFSET + sizeof(buf))\n  read(fd, buf...)\n\nBecause of if file big enough(BIG_OFFSET) we start allocate space by block,\nordinary block size \u003e page size, so we should zeroize the rest of block in\ntruncate(except last framgnet, about which VFS should care), to not get\ngarbage, when we extend file.\n\nAlso patch corrects conversion from pointer to block to physical block number,\nthis helps in case of not common used UFS types.\n\nAnd add to debug output inode number.\n\nSigned-off-by: Evgeniy Dushistov \u003cdushistov@mail.ru\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "2189850f42beff23af32d847bd043cd1d1811a80",
      "tree": "eb7f6b8ab11ee7458b7759788dc3516c0202973c",
      "parents": [
        "94985134b7b46848267ed6b734320db01c974e72"
      ],
      "author": {
        "name": "Evgeniy Dushistov",
        "email": "dushistov@mail.ru",
        "time": "Fri Mar 16 13:38:07 2007 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Fri Mar 16 19:25:03 2007 -0700"
      },
      "message": "[PATCH] ufs2: more correct work with time\n\nThis patch corrects work with time in UFS2 case.\n\n1) According to UFS2 disk layout modification/access and so on \"time\"\n   should be hold in two variables one 64bit for seconds and another 32bit for\n   nanoseconds,\n\n   at now for some unknown reason we suppose that \"inode time\" holds in\n   three variables 32bit for seconds, 32bit for milliseconds and 32bit for\n   nanoseconds.\n\n2) We set amount of nanoseconds in \"VFS inode\" to 0 during read, instead of\n   getting values from \"on disk inode\"(this should close\n   http://bugzilla.kernel.org/show_bug.cgi?id\u003d7991).\n\nSigned-off-by: Evgeniy Dushistov \u003cdushistov@mail.ru\u003e\nCc: Bjoern Jacke \u003cbjoern@j3e.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "54fb996ac15c4014fa4d6b0ec8e42da134204897",
      "tree": "ee7a98270cabefc996a13691a7c9d63141a8d3a9",
      "parents": [
        "3313e29267414e4e3bf0d3de1caf9cb439b64aaf"
      ],
      "author": {
        "name": "Evgeniy Dushistov",
        "email": "dushistov@mail.ru",
        "time": "Mon Feb 12 00:54:32 2007 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Mon Feb 12 09:48:40 2007 -0800"
      },
      "message": "[PATCH] ufs2 write: block allocation update\n\nPatch adds ability to work with 64bit metadata, this made by replacing work\nwith 32bit pointers by inline functions.\n\nSigned-off-by: Evgeniy Dushistov \u003cdushistov@mail.ru\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "3313e29267414e4e3bf0d3de1caf9cb439b64aaf",
      "tree": "5de4ceb0d4dcf094cbb41cf3968df564d4e88976",
      "parents": [
        "cbcae39fa1cc16c0fb199223f5ec1aea5f4c7b2d"
      ],
      "author": {
        "name": "Evgeniy Dushistov",
        "email": "dushistov@mail.ru",
        "time": "Mon Feb 12 00:54:31 2007 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Mon Feb 12 09:48:40 2007 -0800"
      },
      "message": "[PATCH] ufs2 write: inodes write\n\nThis patch adds into write inode path function to write UFS2 inode, and\nmodifys allocate inode path to allocate and init additional inode chunks.\n\nAlso some cleanups:\n- remove not used parameters in some functions\n- remove i_gen field from ufs_inode_info structure,\nthere is i_generation in inode structure with same purposes.\n\nSigned-off-by: Evgeniy Dushistov \u003cdushistov@mail.ru\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "a685e26fff387db350966f88eaad515bf41c4705",
      "tree": "aa32924e5641541df5e178908bf8e88fb9d2f508",
      "parents": [
        "ff79544754631cf3d237ff47b7d0e7ab2d211fcf"
      ],
      "author": {
        "name": "Evgeniy Dushistov",
        "email": "dushistov@mail.ru",
        "time": "Mon Jan 29 13:19:54 2007 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Tue Jan 30 08:26:45 2007 -0800"
      },
      "message": "[PATCH] ufs: alloc metadata null page fix\n\nThese series of patches result of UFS1 write support stress testing, like\nrunning fsx-linux, untar and build linux kernel etc\n\nWe pass from ufs::get_block_t to levels below: pointer to the current page, to\nmake possible things like reallocation of blocks on the fly, and we also uses\nthis pointer for indication, what actually we allocate data block or meta data\nblock, but currently we make decision about what we allocate on the wrong\nlevel, this may and cause oops if we allocate blocks in some special order.\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@linux-foundation.org\u003e\n"
    },
    {
      "commit": "d63b70902befe189ba2672925f28ec3f4db41352",
      "tree": "727b00bf66ebb3d1de20d630f310429fa5063325",
      "parents": [
        "7ba3485947ee7bc89a17f86250fe9b692a615dff"
      ],
      "author": {
        "name": "Evgeniy Dushistov",
        "email": "dushistov@mail.ru",
        "time": "Fri Jan 05 16:37:04 2007 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.osdl.org",
        "time": "Fri Jan 05 23:55:29 2007 -0800"
      },
      "message": "[PATCH] fix garbage instead of zeroes in UFS\n\nLooks like this is the problem, which point Al Viro some time ago:\n\nufs\u0027s get_block callback allocates 16k of disk at a time, and links that\nentire 16k into the file\u0027s metadata.  But because get_block is called for only\na single buffer_head (a 2k buffer_head in this case?) we are only able to tell\nthe VFS that this 2k is buffer_new().\n\nSo when ufs_getfrag_block() is later called to map some more data in the file,\nand when that data resides within the remaining 14k of this fragment,\nufs_getfrag_block() will incorrectly return a !buffer_new() buffer_head.\n\nI don\u0027t see _right_ way to do nullification of whole block, if use inode\npage cache, some pages may be outside of inode limits (inode size), and\nwill be lost; if use blockdev page cache it is possible to zero real data,\nif later inode page cache will be used.\n\nThe simpliest way, as can I see usage of block device page cache, but not only\nmark dirty, but also sync it during \"nullification\".  I use my simple tests\ncollection, which I used for check that create,open,write,read,close works on\nufs, and I see that this patch makes ufs code 18% slower then before.\n\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "ba52de123d454b57369f291348266d86f4b35070",
      "tree": "3973f3f3c853b5857b6b64a027cadd4fe954e3b9",
      "parents": [
        "577c4eb09d1034d0739e3135fd2cff50588024be"
      ],
      "author": {
        "name": "Theodore Ts\u0027o",
        "email": "tytso@mit.edu",
        "time": "Wed Sep 27 01:50:49 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Wed Sep 27 08:26:18 2006 -0700"
      },
      "message": "[PATCH] inode-diet: Eliminate i_blksize from the inode structure\n\nThis eliminates the i_blksize field from struct inode.  Filesystems that want\nto provide a per-inode st_blksize can do so by providing their own getattr\nroutine instead of using the generic_fillattr() function.\n\nNote that some filesystems were providing pretty much random (and incorrect)\nvalues for i_blksize.\n\n[bunk@stusta.de: cleanup]\n[akpm@osdl.org: generic_fillattr() fix]\nSigned-off-by: \"Theodore Ts\u0027o\" \u003ctytso@mit.edu\u003e\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": "c37336b078ba9d2ff38c535b194996a7ad6e69f8",
      "tree": "36bb05432893a6db7620e283ea90e6be2c483363",
      "parents": [
        "08fb306fe63d98eb86e3b16f4cc21816fa47f18e"
      ],
      "author": {
        "name": "Evgeniy Dushistov",
        "email": "dushistov@mail.ru",
        "time": "Sun Aug 27 01:23:45 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Sun Aug 27 11:01:31 2006 -0700"
      },
      "message": "[PATCH] ufs: write to hole in big file\n\nOn UFS, this scenario:\n\topen(O_TRUNC)\n\tlseek(1024 * 1024 * 80)\n\twrite(\"A\")\n\tlseek(1024 * 2)\n\twrite(\"A\")\n\nmay cause access to invalid address.\n\nThis happened because of \"goal\" is calculated in wrong way in block\nallocation path, as I see this problem exists also in 2.4.\n\nWe use construction like this i_data[lastfrag], i_data array of pointers to\ndirect blocks, indirect and so on, it has ceratain size ~20 elements, and\nlastfrag may have value for example 40000.\n\nAlso this patch fixes related to handling such scenario issues, wrong\nzeroing metadata, in case of block(not fragment) allocation, and wrong goal\ncalculation, when we allocate 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": "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": "7256d819e43f89af6ba30047936c96c683436941",
      "tree": "a3352cf0fe9089587b5ba0077f8ef0a04e5b319c",
      "parents": [
        "4e54f08543d05e519e601368571cc3787fefae96"
      ],
      "author": {
        "name": "Andrew Morton",
        "email": "akpm@osdl.org",
        "time": "Thu Jun 29 02:24:29 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Thu Jun 29 10:26:20 2006 -0700"
      },
      "message": "[PATCH] ufs: printk() fix\n\nfs/ufs/inode.c: In function `ufs_frag_map\u0027:\nfs/ufs/inode.c:101: warning: long long unsigned int format, u64 arg (arg 4)\nfs/ufs/inode.c: In function `ufs_getfrag_block\u0027:\nfs/ufs/inode.c:432: warning: long long unsigned int format, u64 arg (arg 2)\n\nCc: 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": "f5e54d6e53a20cef45af7499e86164f0e0d16bb2",
      "tree": "cb92acbb89b84796261bf5563182261ec5654127",
      "parents": [
        "a052b68b1e7a31f1e6a721290035e9deb0f6fed9"
      ],
      "author": {
        "name": "Christoph Hellwig",
        "email": "hch@lst.de",
        "time": "Wed Jun 28 04:26:44 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Wed Jun 28 14:59:04 2006 -0700"
      },
      "message": "[PATCH] mark address_space_operations const\n\nSame as with already do with the file operations: keep them in .rodata and\nprevents people from doing runtime patching.\n\nSigned-off-by: Christoph Hellwig \u003chch@lst.de\u003e\nCc: Steven French \u003csfrench@us.ibm.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "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"
    }
  ]
}
