)]}'
{
  "log": [
    {
      "commit": "1d5827235de48e829d5d4a03c3688ef6f2b15562",
      "tree": "96d63baddd6fe6d764557f8be7d4f1e829059792",
      "parents": [
        "9796cc964daf7f18b4cd84c86975b3bc3804ca5a"
      ],
      "author": {
        "name": "Dan Carpenter",
        "email": "error27@gmail.com",
        "time": "Thu May 26 16:25:12 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu May 26 17:12:33 2011 -0700"
      },
      "message": "ufs: fix truncated values handling 64 bit metadata\n\nOriginally i_lastfrag was 32 bits but then we added support for handling\n64 bit metadata and it became a 64 bit variable.  That was during 2007, in\n54fb996ac15c \"[PATCH] ufs2 write: block allocation update\".  Unfortunately\nthese casts got left behind so the value got truncated to 32 bit again.\n\n[akpm@linux-foundation.org: remove now-unneeded min_t/max_t casting]\nSigned-off-by: Dan Carpenter \u003cerror27@gmail.com\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": "9cb569d601e0b93e01c20a22872270ec663b75f6",
      "tree": "80b2568fae48018806e82f8884062dae8a5494ae",
      "parents": [
        "87e99511ea54510ffb60b98001d108794d5037f8"
      ],
      "author": {
        "name": "Christoph Hellwig",
        "email": "hch@lst.de",
        "time": "Wed Aug 11 17:06:24 2010 +0200"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Wed Aug 18 01:09:01 2010 -0400"
      },
      "message": "remove SWRITE* I/O types\n\nThese flags aren\u0027t real I/O types, but tell ll_rw_block to always\nlock the buffer instead of giving up on a failed trylock.\n\nInstead add a new write_dirty_buffer helper that implements this semantic\nand use it from the existing SWRITE* callers.  Note that the ll_rw_block\ncode had a bug where it didn\u0027t promote WRITE_SYNC_PLUG properly, which\nthis patch fixes.\n\nIn the ufs code clean up the helper that used to call ll_rw_block\nto mirror sync_dirty_buffer, which is the function it implements for\ncompound buffers.\n\nSigned-off-by: Christoph Hellwig \u003chch@lst.de\u003e\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "8f45c33decf62e1aaaa9411aae8fef6a38f95845",
      "tree": "35304753fb416a4f82ec93609b8664d12d2a8d50",
      "parents": [
        "36350462814739e1f38cba59a6900ebadb08d3bb"
      ],
      "author": {
        "name": "Jan Kara",
        "email": "jack@suse.cz",
        "time": "Thu May 20 16:00:36 2010 +0200"
      },
      "committer": {
        "name": "Jan Kara",
        "email": "jack@suse.cz",
        "time": "Mon May 24 14:10:19 2010 +0200"
      },
      "message": "ufs: Remove dead quota code\n\nUFS quota is non-functional at least since 2.6.12 because dq_op was set\nto NULL. Since the filesystem exists mainly to allow cooperation with Solaris\nand quota format isn\u0027t standard, just remove the dead code.\n\nCC: Evgeniy Dushistov \u003cdushistov@mail.ru\u003e\nSigned-off-by: Jan Kara \u003cjack@suse.cz\u003e\n"
    },
    {
      "commit": "5dd4056db84387975140ff2568eaa0406f07985e",
      "tree": "03c26d7f6e3367b167bfeeb1a01654c6619573f4",
      "parents": [
        "49792c806d0bfd53afc789dcdf50dc9bed2c5b83"
      ],
      "author": {
        "name": "Christoph Hellwig",
        "email": "hch@infradead.org",
        "time": "Wed Mar 03 09:05:00 2010 -0500"
      },
      "committer": {
        "name": "Jan Kara",
        "email": "jack@suse.cz",
        "time": "Fri Mar 05 00:20:28 2010 +0100"
      },
      "message": "dquot: cleanup space allocation / freeing routines\n\nGet rid of the alloc_space, free_space, reserve_space, claim_space and\nrelease_rsv dquot operations - they are always called from the filesystem\nand if a filesystem really needs their own (which none currently does)\nit can just call into it\u0027s own routine directly.\n\nMove shared logic into the common __dquot_alloc_space,\ndquot_claim_space_nodirty and __dquot_free_space low-level methods,\nand rationalize the wrappers around it to move as much as possible\ncode into the common block for CONFIG_QUOTA vs not.  Also rename\nall these helpers to be named dquot_* instead of vfs_dq_*.\n\nSigned-off-by: Christoph Hellwig \u003chch@lst.de\u003e\nSigned-off-by: Jan Kara \u003cjack@suse.cz\u003e\n"
    },
    {
      "commit": "5f5fa796c6b0158b50a2d5d2f80a926466ea87b3",
      "tree": "43e21528fcc755e32aac0d2d007e7fa33c6d6a6d",
      "parents": [
        "77db4f25bca22ce96be0cd3c5a3160599817ff45"
      ],
      "author": {
        "name": "Jan Kara",
        "email": "jack@suse.cz",
        "time": "Mon Jan 26 17:15:30 2009 +0100"
      },
      "committer": {
        "name": "Jan Kara",
        "email": "jack@suse.cz",
        "time": "Thu Mar 26 02:18:36 2009 +0100"
      },
      "message": "ufs: Use lowercase names of quota functions\n\nUse lowercase names of quota functions instead of old uppercase ones.\n\nSigned-off-by: Jan Kara \u003cjack@suse.cz\u003e\nCC: Evgeniy Dushistov \u003cdushistov@mail.ru\u003e\n"
    },
    {
      "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": "9df130392fb642ecd5564163b574ce69ffda1afa",
      "tree": "26b81bd5e7c0250e24f155bb0c347bafd669ce3c",
      "parents": [
        "9ea85ebae1e05100cdb4807db4f265b0ede7aad8"
      ],
      "author": {
        "name": "Andrew Morton",
        "email": "akpm@linux-foundation.org",
        "time": "Wed Mar 19 17:01:05 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Mar 19 18:53:37 2008 -0700"
      },
      "message": "fs/ufs/balloc.c: fix sparc64 printk warning\n\nfs/ufs/balloc.c: In function `ufs_change_blocknr\u0027:\nfs/ufs/balloc.c:317: warning: long long unsigned int format, long unsigned int arg (arg 2)\nfs/ufs/balloc.c:317: warning: long long unsigned int format, long unsigned int arg (arg 3)\n\nsector_t is u64 and we don\u0027t know what type the architecture uses to implement\nu64.\n\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": "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": "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": "5431bf97ce69065ed07de1ff12543d0800817b83",
      "tree": "b3c0753824a360282bb07adefd61956829d6999a",
      "parents": [
        "2189850f42beff23af32d847bd043cd1d1811a80"
      ],
      "author": {
        "name": "Evgeniy Dushistov",
        "email": "dushistov@mail.ru",
        "time": "Fri Mar 16 13:38:08 2007 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Fri Mar 16 19:25:03 2007 -0700"
      },
      "message": "[PATCH] ufs: prepare write + change blocks on the fly\n\nThis fixes \"change blocks numbers on the fly\" in case when \"prepare\nwrite page\" is in the call chain, in this case some buffers may be not\nuptodate and not mapped, we should care to map them and load from disk.\n\nThis patch was tested with:\n - ufs regressions simple tests\n - fsx-linux\n - ltp(20060306)\n - untar and build kernel\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": "cd354f1ae75e6466a7e31b727faede57a1f89ca5",
      "tree": "09a2da1672465fefbc7fe06ff4e6084f1dd14c6b",
      "parents": [
        "3fc605a2aa38899c12180ca311f1eeb61a6d867e"
      ],
      "author": {
        "name": "Tim Schmielau",
        "email": "tim@physik3.uni-rostock.de",
        "time": "Wed Feb 14 00:33:14 2007 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Wed Feb 14 08:09:54 2007 -0800"
      },
      "message": "[PATCH] remove many unneeded #includes of sched.h\n\nAfter Al Viro (finally) succeeded in removing the sched.h #include in module.h\nrecently, it makes sense again to remove other superfluous sched.h includes.\nThere are quite a lot of files which include it but don\u0027t actually need\nanything defined in there.  Presumably these includes were once needed for\nmacros that used to live in sched.h, but moved to other header files in the\ncourse of cleaning it up.\n\nTo ease the pain, this time I did not fiddle with any header files and only\nremoved #includes from .c-files, which tend to cause less trouble.\n\nCompile tested against 2.6.20-rc2 and 2.6.20-rc2-mm2 (with offsets) on alpha,\narm, i386, ia64, mips, powerpc, and x86_64 with allnoconfig, defconfig,\nallmodconfig, and allyesconfig as well as a few randconfigs on x86_64 and all\nconfigs in arch/arm/configs on arm.  I also checked that no new warnings were\nintroduced by the patch (actually, some warnings are removed that were emitted\nby unnecessarily included header files).\n\nSigned-off-by: Tim Schmielau \u003ctim@physik3.uni-rostock.de\u003e\nAcked-by: Russell King \u003crmk+kernel@arm.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": "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": "efee2b812645d10824bf6cb247789910bcb66881",
      "tree": "b4b4c54b0064bc3b17aa778807f2f914a60848b8",
      "parents": [
        "8682164a66325cab07620082eb7f413b547f4b4a"
      ],
      "author": {
        "name": "Evgeniy Dushistov",
        "email": "dushistov@mail.ru",
        "time": "Mon Jan 29 13:19:56 2007 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Tue Jan 30 08:26:45 2007 -0800"
      },
      "message": "[PATCH] ufs: reallocation fix\n\nIn blocks reallocation function sometimes does not update some of\nbuffer_head::b_blocknr, which may and cause data damage.\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": "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": "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": "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": "ee3ffd6c126323693b3b32a71a1f1acfce30bd66",
      "tree": "942b653ebc46c5c4f246ddee8a89b154122f1493",
      "parents": [
        "577a82752f95a5680d7c14569ffd3fd630d9fb22"
      ],
      "author": {
        "name": "Evgeniy Dushistov",
        "email": "dushistov@mail.ru",
        "time": "Sun Jun 25 05:47:30 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Sun Jun 25 10:01:04 2006 -0700"
      },
      "message": "[PATCH] ufs: make fsck -f happy\n\nufs super block contains some statistic about file systems, like amount of\ndirectories, free blocks, inodes and so on.\n\nUFS1 hold this information in one location and uses 32bit integers for such\ninformation, UFS2 hold statistic in another location and uses 64bit integers.\n\nThere is transition variant, if UFS1 has type 44BSD and flags field in super\nblock has some special value this mean that we work with statistic like UFS2\ndoes.  and this also means that nobody care about old(UFS1) statistic.\n\nSo if start fsck against such file system, after usage linux ufs driver, it\nfound error: at now only UFS1 like statistic is updated.\n\nThis patch should fix this.  Also it contains some minor cleanup: CodingSytle\nand remove unused variables.\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": "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": "2e006393ba5b599d9c43f94f8d8989e68131433e",
      "tree": "541161158464b388db66093ec9eb25425b0e2d5e",
      "parents": [
        "50aa4eb0b978f4a0283471c776ed812269ac8af5"
      ],
      "author": {
        "name": "Evgeniy Dushistov",
        "email": "dushistov@mail.ru",
        "time": "Sun Jun 25 05:47:26 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Sun Jun 25 10:01:03 2006 -0700"
      },
      "message": "[PATCH] ufs: unlock_super without lock\n\nufs_free_blocks function looks now in so way:\nif (err)\n goto failed;\n lock_super();\nfailed:\n unlock_super();\n\nSo if error happen we\u0027ll unlock not locked super.\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": "50aa4eb0b978f4a0283471c776ed812269ac8af5",
      "tree": "eab23004eac1e89ea87f189c95bdb7c9dbe93ca3",
      "parents": [
        "dd187a2603d9904ddc410441348f0cfc558a5233"
      ],
      "author": {
        "name": "Evgeniy Dushistov",
        "email": "dushistov@mail.ru",
        "time": "Sun Jun 25 05:47:26 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Sun Jun 25 10:01:03 2006 -0700"
      },
      "message": "[PATCH] ufs: i_blocks wrong count\n\nAt now UFS code uses DQUOT_* mechanism, but it also update inode-\u003ei_blocks\nmanually, this cause wrong i_blocks value.\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": "3e41f597b1595479e4a1b2e6b17b3542120ef165",
      "tree": "a4adfd190f25b6b896ae04e9d4cbd6c4d94c872c",
      "parents": [
        "9695ef16ed4e00b59303f39f9a4a422a2c6a3b89"
      ],
      "author": {
        "name": "Evgeniy Dushistov",
        "email": "dushistov@mail.ru",
        "time": "Sun Jun 25 05:47:23 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Sun Jun 25 10:01:02 2006 -0700"
      },
      "message": "[PATCH] ufs: not usual amounts of fragments per block\n\nThe writing to UFS file system with block/fragment!\u003d8 may cause bogus\nbehaviour.  The problem in \"ufs_bitmap_search\" function, which doesn\u0027t work\ncorrectly in \"block/fragment!\u003d8\" case.  The idea is stolen from BSD 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": "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": "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": "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": "16f7e0fe2ecc30f30652e8185e1772cdebe39109",
      "tree": "e668703267c7b02f1af3cc1581bb4366a5370fdd",
      "parents": [
        "c59ede7b78db329949d9cdcd7064e22d357560ef"
      ],
      "author": {
        "name": "Randy Dunlap",
        "email": "rdunlap@xenotime.net",
        "time": "Wed Jan 11 12:17:46 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Wed Jan 11 18:42:13 2006 -0800"
      },
      "message": "[PATCH] capable/capability.h (fs/)\n\nfs: Use \u003clinux/capability.h\u003e where capable() is used.\n\nSigned-off-by: Randy Dunlap \u003crdunlap@xenotime.net\u003e\nAcked-by: Tim Schmielau \u003ctim@physik3.uni-rostock.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "096125f31ae3aa2c7271463b9986dd228e0da089",
      "tree": "2a6f0b066acf1031ffffca98a44c870bcead23b4",
      "parents": [
        "53778ffde601c962ad9250c4998df7de6f428246"
      ],
      "author": {
        "name": "Jan Kara",
        "email": "jack@suse.cz",
        "time": "Tue Sep 06 15:19:15 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Wed Sep 07 16:57:56 2005 -0700"
      },
      "message": "[PATCH] Change ll_rw_block() calls in UFS\n\nWe need to be sure that current data are sent to disk.  Hence we call\nll_rw_block() with SWRITE.\n\nSigned-off-by: Jan Kara \u003cjack@suse.cz\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"
    }
  ]
}
