)]}'
{
  "log": [
    {
      "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": "2c27c65ed0696f0b5df2dad2cf6462d72164d547",
      "tree": "7d9036e3dea98938f7fd7074366ee73929e9b2e5",
      "parents": [
        "db78b877f7744bec4a9d9f9e7d10da3931d7cd39"
      ],
      "author": {
        "name": "Christoph Hellwig",
        "email": "hch@lst.de",
        "time": "Fri Jun 04 11:30:04 2010 +0200"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Mon Aug 09 16:47:39 2010 -0400"
      },
      "message": "check ATTR_SIZE contraints in inode_change_ok\n\nMake sure we check the truncate constraints early on in -\u003esetattr by adding\nthose checks to inode_change_ok.  Also clean up and document inode_change_ok\nto make this obvious.\n\nAs a fallout we don\u0027t have to call inode_newsize_ok from simple_setsize and\nsimplify it down to a truncate_setsize which doesn\u0027t return an error.  This\nsimplifies a lot of setattr implementations and means we use truncate_setsize\nalmost everywhere.  Get rid of fat_setsize now that it\u0027s trivial and mark\next2_setsize static to make the calling convention obvious.\n\nKeep the inode_newsize_ok in vmtruncate for now as all callers need an\naudit for its removal anyway.\n\nNote: setattr code in ecryptfs doesn\u0027t call inode_change_ok at all and\nneeds a deeper audit, but that is left for later.\n\nSigned-off-by: Christoph Hellwig \u003chch@lst.de\u003e\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "1025774ce411f2bd4b059ad7b53f0003569b74fa",
      "tree": "2be221c205cb5579652a6063e8ee27d1c72d1bbd",
      "parents": [
        "eef2380c187890816b73b1a4cb89a09203759469"
      ],
      "author": {
        "name": "Christoph Hellwig",
        "email": "hch@lst.de",
        "time": "Fri Jun 04 11:30:02 2010 +0200"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Mon Aug 09 16:47:37 2010 -0400"
      },
      "message": "remove inode_setattr\n\nReplace inode_setattr with opencoded variants of it in all callers.  This\nmoves the remaining call to vmtruncate into the filesystem methods where it\ncan be replaced with the proper truncate sequence.\n\nIn a few cases it was obvious that we would never end up calling vmtruncate\nso it was left out in the opencoded variant:\n\n spufs: explicitly checks for ATTR_SIZE earlier\n btrfs,hugetlbfs,logfs,dlmfs: explicitly clears ATTR_SIZE earlier\n ufs: contains an opencoded simple_seattr + truncate that sets the filesize just above\n\nIn addition to that ncpfs called inode_setattr with handcrafted iattrs,\nwhich allowed to trim down the opencoded variant.\n\nSigned-off-by: Christoph Hellwig \u003chch@lst.de\u003e\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "d28619f1563140526e2f84eae436f39206f40a69",
      "tree": "d93284016a0983c8f27b745a3c50738617e50995",
      "parents": [
        "021fad8b706849c091f6e682bc5df3ce4f9ab4d7",
        "f32764bd2bbb6ea003c158b1d276b4dc9f900348"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun May 30 09:11:11 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun May 30 09:11:11 2010 -0700"
      },
      "message": "Merge branch \u0027for_linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/jack/linux-fs-2.6\n\n* \u0027for_linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/jack/linux-fs-2.6:\n  quota: Convert quota statistics to generic percpu_counter\n  ext3 uses rb_node \u003d NULL; to zero rb_root.\n  quota: Fixup dquot_transfer\n  reiserfs: Fix resuming of quotas on remount read-write\n  pohmelfs: Remove dead quota code\n  ufs: Remove dead quota code\n  udf: Remove dead quota code\n  quota: rename default quotactl methods to dquot_\n  quota: explicitly set -\u003edq_op and -\u003es_qcop\n  quota: drop remount argument to -\u003equota_on and -\u003equota_off\n  quota: move unmount handling into the filesystem\n  quota: kill the vfs_dq_off and vfs_dq_quota_on_remount wrappers\n  quota: move remount handling into the filesystem\n  ocfs2: Fix use after free on remount read-only\n\nFix up conflicts in fs/ext4/super.c and fs/ufs/file.c\n"
    },
    {
      "commit": "15c6fd9786dfaab43547bf60df6fa63170fb64fc",
      "tree": "afd997b3402761e28b6c39f414fbd93c69fdcdce",
      "parents": [
        "7bb46a6734a7e1ad4beaecc11cae7ed3ff81d30f"
      ],
      "author": {
        "name": "npiggin@suse.de",
        "email": "npiggin@suse.de",
        "time": "Thu May 27 01:05:34 2010 +1000"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Thu May 27 22:15:42 2010 -0400"
      },
      "message": "kill spurious reference to vmtruncate\n\nLots of filesystems calls vmtruncate despite not implementing the old\n-\u003etruncate method.  Switch them to use simple_setsize and add some\ncomments about the truncate code where it seems fitting.\n\nSigned-off-by: Christoph Hellwig \u003chch@lst.de\u003e\nSigned-off-by: Nick Piggin \u003cnpiggin@suse.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": "12755627bdcddcdb30a1bfb9a09395a52b1d6838",
      "tree": "b2d69696975d5457648020324f683a45302fbf3c",
      "parents": [
        "fcbc59f96e38a0999e827be9d04d46b62b53b20a"
      ],
      "author": {
        "name": "Dmitry Monakhov",
        "email": "dmonakhov@openvz.org",
        "time": "Thu Apr 08 22:04:20 2010 +0400"
      },
      "committer": {
        "name": "Jan Kara",
        "email": "jack@suse.cz",
        "time": "Fri May 21 19:30:45 2010 +0200"
      },
      "message": "quota: unify quota init condition in setattr\n\nQuota must being initialized if size or uid/git changes requested.\nBut initialization performed in two different places:\nin case of i_size file system is responsible for dquot init\n, but in case of uid/gid init will be called internally in\ndquot_transfer().\nThis ambiguity makes code harder to understand.\nLet\u0027s move this logic to one common helper function.\n\nSigned-off-by: Dmitry Monakhov \u003cdmonakhov@openvz.org\u003e\nSigned-off-by: Jan Kara \u003cjack@suse.cz\u003e\n"
    },
    {
      "commit": "311b9549ed2bb0f2c2257781c3e88cb00505e80e",
      "tree": "2a6769c682ae570103f581f03e43fee98261d177",
      "parents": [
        "e0a5cbac029db69032758000c67465c2ed7a5736"
      ],
      "author": {
        "name": "Dmitry Monakhov",
        "email": "dmonakhov@openvz.org",
        "time": "Thu Apr 15 00:56:58 2010 +0200"
      },
      "committer": {
        "name": "Jan Kara",
        "email": "jack@suse.cz",
        "time": "Fri May 21 19:30:40 2010 +0200"
      },
      "message": "ufs: add ufs speciffic -\u003esetattr call\n\ngeneric setattr not longer responsible for quota transfer.\nuse ufs_setattr for all ufs\u0027s inodes.\n\nSigned-off-by: Dmitry Monakhov \u003cdmonakhov@openvz.org\u003e\nSigned-off-by: Jan Kara \u003cjack@suse.cz\u003e\n"
    },
    {
      "commit": "871a293155a24554e153538d36e3a80fa169aefb",
      "tree": "7e38f5a2f9e87f63cbc4bc1077a4bb49dde441b0",
      "parents": [
        "907f4554e2521cb28b0009d17167760650a9561c"
      ],
      "author": {
        "name": "Christoph Hellwig",
        "email": "hch@infradead.org",
        "time": "Wed Mar 03 09:05:07 2010 -0500"
      },
      "committer": {
        "name": "Jan Kara",
        "email": "jack@suse.cz",
        "time": "Fri Mar 05 00:20:30 2010 +0100"
      },
      "message": "dquot: cleanup dquot initialize routine\n\nGet rid of the initialize dquot operation - it is now always called from\nthe filesystem and if a filesystem really needs it\u0027s own (which none\ncurrently does) it can just call into it\u0027s own routine directly.\n\nRename the now static low-level dquot_initialize helper to __dquot_initialize\nand vfs_dq_init to dquot_initialize to have a consistent namespace.\n\nSigned-off-by: Christoph Hellwig \u003chch@lst.de\u003e\nSigned-off-by: Jan Kara \u003cjack@suse.cz\u003e\n"
    },
    {
      "commit": "907f4554e2521cb28b0009d17167760650a9561c",
      "tree": "68dc49163fd34331f8efbd63592c8f1baa387031",
      "parents": [
        "9f7547580263d4a55efe06ce5cfd567f568be6e8"
      ],
      "author": {
        "name": "Christoph Hellwig",
        "email": "hch@infradead.org",
        "time": "Wed Mar 03 09:05:06 2010 -0500"
      },
      "committer": {
        "name": "Jan Kara",
        "email": "jack@suse.cz",
        "time": "Fri Mar 05 00:20:30 2010 +0100"
      },
      "message": "dquot: move dquot initialization responsibility into the filesystem\n\nCurrently various places in the VFS call vfs_dq_init directly.  This means\nwe tie the quota code into the VFS.  Get rid of that and make the\nfilesystem responsible for the initialization.   For most metadata operations\nthis is a straight forward move into the methods, but for truncate and\nopen it\u0027s a bit more complicated.\n\nFor truncate we currently only call vfs_dq_init for the sys_truncate case\nbecause open already takes care of it for ftruncate and open(O_TRUNC) - the\nnew code causes an additional vfs_dq_init for those which is harmless.\n\nFor open the initialization is moved from do_filp_open into the open method,\nwhich means it happens slightly earlier now, and only for regular files.\nThe latter is fine because we don\u0027t need to initialize it for operations\non special files, and we already do it as part of the namespace operations\nfor directories.\n\nAdd a dquot_file_open helper that filesystems that support generic quotas\ncan use to fill in -\u003eopen.\n\nSigned-off-by: Christoph Hellwig \u003chch@lst.de\u003e\nSigned-off-by: Jan Kara \u003cjack@suse.cz\u003e\n"
    },
    {
      "commit": "b43fa8284d7790d9cca32c9c55e24f29be2fa33b",
      "tree": "acb7f205fe2a1ae324e0e11c50f43baaa6b8dfab",
      "parents": [
        "759bfee658beab14af7b357156461d0eb852be2c"
      ],
      "author": {
        "name": "Christoph Hellwig",
        "email": "hch@infradead.org",
        "time": "Wed Mar 03 09:05:03 2010 -0500"
      },
      "committer": {
        "name": "Jan Kara",
        "email": "jack@suse.cz",
        "time": "Fri Mar 05 00:20:29 2010 +0100"
      },
      "message": "dquot: cleanup dquot transfer routine\n\nGet rid of the transfer dquot operation - it is now always called from\nthe filesystem and if a filesystem really needs it\u0027s own (which none\ncurrently does) it can just call into it\u0027s own routine directly.\n\nRename the now static low-level dquot_transfer helper to __dquot_transfer\nand vfs_dq_transfer to dquot_transfer to have a consistent namespace,\nand make the new dquot_transfer return a normal negative errno value\nwhich all callers expect.\n\nSigned-off-by: Christoph Hellwig \u003chch@lst.de\u003e\nSigned-off-by: Jan Kara \u003cjack@suse.cz\u003e\n"
    },
    {
      "commit": "759bfee658beab14af7b357156461d0eb852be2c",
      "tree": "180cdedd004781ee67c30ce89951324d32910067",
      "parents": [
        "63936ddaa16b9486e2d426ed7b09f559a5c60f87"
      ],
      "author": {
        "name": "Christoph Hellwig",
        "email": "hch@infradead.org",
        "time": "Wed Mar 03 09:05:02 2010 -0500"
      },
      "committer": {
        "name": "Jan Kara",
        "email": "jack@suse.cz",
        "time": "Fri Mar 05 00:20:28 2010 +0100"
      },
      "message": "dquot: move dquot transfer responsibility into the filesystem\n\nCurrently notify_change calls vfs_dq_transfer directly.  This means\nwe tie the quota code into the VFS.  Get rid of that and make the\nfilesystem responsible for the transfer.  Most filesystems already\ndo this, only ufs and udf need the code added, and for jfs it needs to\nbe enabled unconditionally instead of only when ACLs are enabled.\n\nSigned-off-by: Christoph Hellwig \u003chch@lst.de\u003e\nSigned-off-by: Jan Kara \u003cjack@suse.cz\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": "0465fc0a1c42e18438d391f3a7e661493a9ad68e",
      "tree": "ceda9f9521af852e2be8fb974a45676700f2f592",
      "parents": [
        "4b25a37e2093146c1f9aa436b832b7d4ef880ca4"
      ],
      "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] ufs2: tindirect truncate fix\n\nDuring modification of code to support UFS2 writing, the case with\n\"three indirect\" blocks in truncate path was missed, this patch fixes\nthis situation.\n\nSigned-off-by: 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": "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": "c5ef1c42c51b1b5b4a401a6517bdda30933ddbaf",
      "tree": "e1a9804a8af427f700aaba4b386cf8679b317e83",
      "parents": [
        "92e1d5be91a0e3ffa5c4697eeb09b2aa22792122"
      ],
      "author": {
        "name": "Arjan van de Ven",
        "email": "arjan@linux.intel.com",
        "time": "Mon Feb 12 00:55:40 2007 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Mon Feb 12 09:48:46 2007 -0800"
      },
      "message": "[PATCH] mark struct inode_operations const 3\n\nMany struct inode_operations in the kernel can be \"const\".  Marking them const\nmoves these to the .rodata section, which avoids false sharing with potential\ndirty data.  In addition it\u0027ll catch accidental writes at compile time to\nthese shared resources.\n\nSigned-off-by: Arjan van de Ven \u003carjan@linux.intel.com\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": "8682164a66325cab07620082eb7f413b547f4b4a",
      "tree": "c8e7b5456a71b58506b182ffa0997271d8ec03fa",
      "parents": [
        "a685e26fff387db350966f88eaad515bf41c4705"
      ],
      "author": {
        "name": "Evgeniy Dushistov",
        "email": "dushistov@mail.ru",
        "time": "Mon Jan 29 13:19:55 2007 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Tue Jan 30 08:26:45 2007 -0800"
      },
      "message": "[PATCH] ufs: truncate negative to unsigned fix\n\nDuring ufs_trunc_direct which is subroutine of ufs::truncate, we try the first\nof all free parts of block and then whole blocks.  But we calculate size of\nblock\u0027s part to free in the wrong way.\n\nThis may cause bad update of used blocks and fragments statistic, and you can\ngot report that you have free 32T on 1Gb partition.\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": "ecdc63948763586e101108dfe1ba316ec069fe39",
      "tree": "a127e8fef9ce30007a357cff51f092ab500f8e7f",
      "parents": [
        "c37336b078ba9d2ff38c535b194996a7ad6e69f8"
      ],
      "author": {
        "name": "Evgeniy Dushistov",
        "email": "dushistov@mail.ru",
        "time": "Sun Aug 27 01:23:46 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Sun Aug 27 11:01:31 2006 -0700"
      },
      "message": "[PATCH] ufs: truncate correction\n\n1) When we allocated last fragment in ufs_truncate, we read page, check\n   if block mapped to address, and if not trying to allocate it.  This is\n   wrong behaviour, fragment may be NOT allocated, but mapped, this\n   happened because of \"block map\" function not checked allocated fragment\n   or not, it just take address of the first fragment in the block, add\n   offset of fragment and return result, this is correct behaviour in\n   almost all situation except call from ufs_truncate.\n\n2) Almost all implementation of UFS, which I can investigate have such\n   \"defect\": if you have full disk, and try truncate file, for example 3GB\n   to 2MB, and have hole in this region, truncate return -ENOSPC.  I tried\n   evade from this problem, but \"block allocation\" algorithm is tied to\n   right value of i_lastfrag, and fix of this corner case may slow down of\n   ordinaries scenarios, so this patch makes behavior of \"truncate\"\n   operations similar to what other UFS implementations do.\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": "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": "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": "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": "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"
    }
  ]
}
