)]}'
{
  "log": [
    {
      "commit": "a447c0932445f92ce6f4c1bd020f62c5097a7842",
      "tree": "bacf05bc7f9764515cdd6f7dc5e2254776b4f160",
      "parents": [
        "54cebc68c81eacac41a21bdfe99dc889d3882c60"
      ],
      "author": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Mon Oct 13 10:46:57 2008 +0100"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Oct 13 10:10:37 2008 -0700"
      },
      "message": "vfs: Use const for kernel parser table\n\nThis is a much better version of a previous patch to make the parser\ntables constant. Rather than changing the typedef, we put the \"const\" in\nall the various places where its required, allowing the __initconst\nexception for nfsroot which was the cause of the previous trouble.\n\nThis was posted for review some time ago and I believe its been in -mm\nsince then.\n\nSigned-off-by: Steven Whitehouse \u003cswhiteho@redhat.com\u003e\nCc: Alexander Viro \u003caviro@redhat.com\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "1a3f7d98e5f50f21ce6fb1406a35531d9596c5c6",
      "tree": "c08708cd17f163f18c149133c92551f83249fd98",
      "parents": [
        "fca082c9f1e11ec07efa8d2f9f13688521253f36"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Aug 04 16:50:38 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Aug 04 16:50:38 2008 -0700"
      },
      "message": "Revert \"UFS: add const to parser token table\"\n\nThis reverts commit f9247273cb69ba101877e946d2d83044409cc8c5 (and\nfb2e405fc1fc8b20d9c78eaa1c7fd5a297efde43 - \"fix fs/nfs/nfsroot.c\ncompilation\" - that fixed a missed conversion).\n\nThe changes cause problems for at least the sparc build.  Let\u0027s re-do\nthem when the exact issues are resolved.\n\nRequested-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nRequested-by: Steven Whitehouse \u003cswhiteho@redhat.com\u003e\nCc: David Miller \u003cdavem@davemloft.net\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "51cc50685a4275c6a02653670af9f108a64e01cf",
      "tree": "819d47bd2b0c8a9d1835d863853804b0a0242b97",
      "parents": [
        "d91958815d214ea365b98cbff6215383897edcb6"
      ],
      "author": {
        "name": "Alexey Dobriyan",
        "email": "adobriyan@gmail.com",
        "time": "Fri Jul 25 19:45:34 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Jul 26 12:00:07 2008 -0700"
      },
      "message": "SL*B: drop kmem cache argument from constructor\n\nKmem cache passed to constructor is only needed for constructors that are\nthemselves multiplexeres.  Nobody uses this \"feature\", nor does anybody uses\npassed kmem cache in non-trivial way, so pass only pointer to object.\n\nNon-trivial places are:\n\tarch/powerpc/mm/init_64.c\n\tarch/powerpc/mm/hugetlbpage.c\n\nThis is flag day, yes.\n\nSigned-off-by: Alexey Dobriyan \u003cadobriyan@gmail.com\u003e\nAcked-by: Pekka Enberg \u003cpenberg@cs.helsinki.fi\u003e\nAcked-by: Christoph Lameter \u003ccl@linux-foundation.org\u003e\nCc: Jon Tollefson \u003ckniht@linux.vnet.ibm.com\u003e\nCc: Nick Piggin \u003cnickpiggin@yahoo.com.au\u003e\nCc: Matt Mackall \u003cmpm@selenic.com\u003e\n[akpm@linux-foundation.org: fix arch/powerpc/mm/hugetlbpage.c]\n[akpm@linux-foundation.org: fix mm/slab.c]\n[akpm@linux-foundation.org: fix ubifs]\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "74abb9890dafb12a50dc140de215ed477beb1b88",
      "tree": "30188b5932e54bc67fb88c0d05e5ba631fe9b698",
      "parents": [
        "02a55ca87185e114e5d298a8d00608501dbabf67"
      ],
      "author": {
        "name": "Jan Kara",
        "email": "jack@suse.cz",
        "time": "Fri Jul 25 01:46:51 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jul 25 10:53:35 2008 -0700"
      },
      "message": "quota: move function-macros from quota.h to quotaops.h\n\nMove declarations of some macros, which should be in fact functions to\nquotaops.h.  This way they can be later converted to inline functions\nbecause we can now use declarations from quota.h.  Also add necessary\nincludes of quotaops.h to a few files.\n\n[akpm@linux-foundation.org: fix JFS build]\n[akpm@linux-foundation.org: fix UFS build]\n[vegard.nossum@gmail.com: fix QUOTA\u003dn build]\nSigned-off-by: Jan Kara \u003cjack@suse.cz\u003e\nCc: Vegard Nossum \u003cvegard.nossum@gmail.com\u003e\nCc: Arjen Pool \u003carjenpool@gmail.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "f9247273cb69ba101877e946d2d83044409cc8c5",
      "tree": "e173999eddfa9954550f221730feb8c03ebfc743",
      "parents": [
        "b340e8a57ef381e69c99a7a8ede61a6bf71a8014"
      ],
      "author": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Thu Jul 24 17:22:13 2008 +0100"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jul 24 11:50:15 2008 -0700"
      },
      "message": "UFS: add const to parser token table\n\nThis patch adds a \"const\" to the parser token table. I\u0027ve done an\nallmodconfig build to see if this produces any warnings/failures and the\npatch includes a fix for the only warning that was produced.\n\nSigned-off-by: Steven Whitehouse \u003cswhiteho@redhat.com\u003e\nAcked-by: Alexander Viro \u003caviro@redhat.com\u003e\nAcked-by: Evgeniy Dushistov \u003cdushistov@mail.ru\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "bb45d64224e5cafe8c8e0d18a20da998e5a7dc93",
      "tree": "e2c8657016ad960e61e11e7b702ca6689faf4f73",
      "parents": [
        "b5be11329f8cb2cc1a4c3b33b6b8d096c6012895"
      ],
      "author": {
        "name": "Christoph Hellwig",
        "email": "hch@lst.de",
        "time": "Mon May 12 14:02:06 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue May 13 08:02:23 2008 -0700"
      },
      "message": "ufs: remove unneeded ufs_put_inode prototype\n\nSigned-off-by: Christoph Hellwig \u003chch@lst.de\u003e\nAcked-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": "36a53ddf859b0a9aa56e2e72978997bf68eec37a",
      "tree": "30f41fd8d9c0e5561445ee76d3a6a5778ca7fcce",
      "parents": [
        "0045edaaf980e577272eeb11832daebaeb5d63c4"
      ],
      "author": {
        "name": "Harvey Harrison",
        "email": "harvey.harrison@gmail.com",
        "time": "Mon Apr 28 02:16:18 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Apr 28 08:58:45 2008 -0700"
      },
      "message": "ufs: replace __inline with inline\n\nSigned-off-by: Harvey Harrison \u003charvey.harrison@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": "0045edaaf980e577272eeb11832daebaeb5d63c4",
      "tree": "eadc4782c3421fe32f65e259f0fce908ce5c80b5",
      "parents": [
        "9746077a71d01b8d86f5e471a3a2c8f1fa91ef94"
      ],
      "author": {
        "name": "Marcin Slusarz",
        "email": "marcin.slusarz@gmail.com",
        "time": "Mon Apr 28 02:16:18 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Apr 28 08:58:45 2008 -0700"
      },
      "message": "ufs: remove unused fs64_add and fs64_sub\n\nremove fs64_add and fs64_sub - they probably weren\u0027t ever used because\ntheir prototypes used u32 instead of __fs64\n\nSigned-off-by: Marcin Slusarz \u003cmarcin.slusarz@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": "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": "3c5afae2bac974fe2c15cd9439f921526b3ea2d7",
      "tree": "10a79737e1e07d4202cfd4fa86bd616de8bca478",
      "parents": [
        "08fc99bfc39d5b394aa27498ac5f14df0ef8e52a"
      ],
      "author": {
        "name": "Marcin Slusarz",
        "email": "marcin.slusarz@gmail.com",
        "time": "Mon Apr 28 02:16:16 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Apr 28 08:58:45 2008 -0700"
      },
      "message": "ufs: [bl]e*_add_cpu conversion\n\nreplace all:\nbig/little_endian_variable \u003d cpu_to_[bl]eX([bl]eX_to_cpu(big/little_endian_variable) +\n\t\t\t\t\texpression_in_cpu_byteorder);\nwith:\n\t[bl]eX_add_cpu(\u0026big/little_endian_variable, expression_in_cpu_byteorder);\ngenerated with semantic patch\n\nSigned-off-by: Marcin Slusarz \u003cmarcin.slusarz@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": "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": "f81e8a43871f44f98dd14e83a83bf9ca0b3b46c5",
      "tree": "0594d8d041801f4b93e977b50fa02b432a1bf2b7",
      "parents": [
        "55a26aeec07f8fdb0f7027a605a430338eb78f4e"
      ],
      "author": {
        "name": "Roel Kluin",
        "email": "12o3l@tiscali.nl",
        "time": "Sat Feb 23 15:23:29 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Sat Feb 23 17:12:13 2008 -0800"
      },
      "message": "ufs: fix parenthesisation in ufs_set_fs_state()\n\nThis bug snuck in with\n\ncommit 252e211e90ce56bf005cb533ad5a297c18c19407\nAuthor: Mark Fortescue \u003cmark@mtfhpc.demon.co.uk\u003e\nDate:   Tue Oct 16 23:26:31 2007 -0700\n\n    Add in SunOS 4.1.x compatible mode for UFS\n\nSigned-off-by: Roel Kluin \u003c12o3l@tiscali.nl\u003e\nAcked-by: Evgeniy Dushistov \u003cdushistov@mail.ru\u003e\nCc: Mark Fortescue \u003cmark@mtfhpc.demon.co.uk\u003e\nCc: \u003cstable@kernel.org\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": "90b315af12b427eeb09b2812343fb4ef9d01cf17",
      "tree": "907a54eebb048155dbbd091a11f2ff136ec45964",
      "parents": [
        "91dbbe4896f374462c5912fbb3ec0dbab4814783"
      ],
      "author": {
        "name": "Evgeniy Dushistov",
        "email": "dushistov@mail.ru",
        "time": "Fri Feb 08 04:20:16 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Fri Feb 08 09:22:33 2008 -0800"
      },
      "message": "ufs: fix symlink creation on ufs2\n\nIf we create symlink on UFS2 filesystem under Linux, it looks wrong under\nother OSes, because of max symlink length field was not initialized\nproperly, and data blocks were not used to save short symlink names.\n\n[akpm@linux-foundation.org: add missing fs32_to_cpu()]\nSigned-off-by: Evgeniy Dushistov \u003cdushistov@mail.ru\u003e\nCc: Steven \u003cstevenaaus@yahoo.com\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": "0c664f974269bb4c3d38ba900c91a9a5d4cee5b1",
      "tree": "6bb103b78dab623693cff371e097974e52235ad0",
      "parents": [
        "372a302e9a892229206aafca0352584a745bc5f3"
      ],
      "author": {
        "name": "Evgeniy Dushistov",
        "email": "dushistov@mail.ru",
        "time": "Tue Dec 04 23:45:06 2007 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Wed Dec 05 09:21:18 2007 -0800"
      },
      "message": "ufs: fix nexstep dir block size\n\nThis patch fixes regression, introduced since 2.6.16.  NextStep variant of\nUFS as OpenStep uses directory block size equals to 1024.  Without this\nchange, ufs_check_page fails in many cases.\n\n[akpm@linux-foundation.org: coding-style fixes]\nSigned-off-by: Evgeniy Dushistov \u003cdushistov@mail.ru\u003e\nCc: Dave Bailey \u003cdsbailey@pacbell.net\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "f664f1f9b77d6c64f3cee1875dcb4faba0da6dd4",
      "tree": "005a3d40481cd3bed0462e9fe5e42653190bddd3",
      "parents": [
        "487e9bf25cbae11b131d6a14bdbb3a6a77380837"
      ],
      "author": {
        "name": "Andrew Morton",
        "email": "akpm@linux-foundation.org",
        "time": "Mon Oct 29 14:37:21 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Tue Oct 30 08:06:55 2007 -0700"
      },
      "message": "revert \"ufs: Fix mount check in ufs_fill_super()\"\n\nEvgeniy said:\n\n  I wonder on what type of UFS do you test this patch?  NetBSD and FreeBSD\n  do not use \"fs_state\", they use \"fs_clean\" flag, only Solaris does check\n  like this: fs_state + fs_time \u003d\u003d FSOK.\n\n  That\u0027s why parentheses was like that.\n\n  At now with linux-2.6.24-rc1-git1, I get: fs need fsck, but NetBSD\u0027s fsck\n  says that\u0027s all ok.\n\n  I suggest revert this patch.\n\nCc: Evgeniy Dushistov \u003cdushistov@mail.ru\u003e\nCc: Satyam Sharma \u003csatyam.sharma@gmail.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "48ef09a16edcc98d1de60f66ed7f650c571907f4",
      "tree": "4f7f8198407fd39f0ed0663d592b548853d1141c",
      "parents": [
        "bcd6d4ecf6868ed57d4daae5d48e52d0752566d2"
      ],
      "author": {
        "name": "Satyam Sharma",
        "email": "satyam@infradead.org",
        "time": "Tue Oct 16 23:26:53 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Wed Oct 17 08:42:51 2007 -0700"
      },
      "message": "ufs: Fix mount check in ufs_fill_super()\n\nThe current code skips the check to verify whether the filesystem was\npreviously cleanly unmounted, if (flags \u0026 UFS_ST_MASK) \u003d\u003d UFS_ST_44BSD or\nUFS_ST_OLD.  This looks like an inadvertent bug that slipped in due to\nparantheses in the compound conditional to me, especially given that\nufs_get_fs_state() handles the UFS_ST_44BSD case perfectly well.  So, let\u0027s\nfix the compound condition appropriately.\n\nSigned-off-by: Satyam Sharma \u003csatyam@infradead.org\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": "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": "2a9807c0d39066236640aa34ca8de168e690632f",
      "tree": "d0d05b5c89336344d2bb95a41f6ce065c8211e6c",
      "parents": [
        "252e211e90ce56bf005cb533ad5a297c18c19407"
      ],
      "author": {
        "name": "Evgeniy Dushistov",
        "email": "dushistov@mail.ru",
        "time": "Tue Oct 16 23:26:32 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Wed Oct 17 08:42:49 2007 -0700"
      },
      "message": "ufs: implement show_options\n\nAn implementation of show_options method for UFS.\n\nSigned-off-by: Evgeniy Dushistov \u003cdushistov@mail.ru\u003e\nCc: \"Randy.Dunlap\" \u003crdunlap@xenotime.net\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "252e211e90ce56bf005cb533ad5a297c18c19407",
      "tree": "9b37f80e1f4c1ec74e150edb3ea7b8d70faea79a",
      "parents": [
        "ef2fb67989d30fea475bb01c5b7ca44adbce5dea"
      ],
      "author": {
        "name": "Mark Fortescue",
        "email": "mark@mtfhpc.demon.co.uk",
        "time": "Tue Oct 16 23:26:31 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Wed Oct 17 08:42:49 2007 -0700"
      },
      "message": "Add in SunOS 4.1.x compatible mode for UFS\n\nAdd in support for SunOS 4.1.x flavor of BSD 4.2 UFS filing system Macros have\nbeen put in to alow suport for the old static table Cylinder Groups but this\nimplementation does not use them yet.\n\nThis also fixes Solaris UFS filing system access by disabling fast symbolic\nlinks as Sun\u0027s version of UFS does not support on-disk fast symbolic links.\n\nTested by:\n  Ppartitioning a new disk using SunOS 4.1.1, creating a UFS filing system on\n  one of the partitions and writing some files to the filing system.\n  Using Linux-2.6.22 (patched) to read the files and then write a shed load of\n  files to the UFS partition.\n  Using SunOS 4.1.1 to verify the filing system is OK and to check the files.\nThe test host is a sun4c SS1 Clone.\n\n[akpm@linux-foundation.org: coding style fixes]\n[adobriyan@gmail.com: fix oops]\nSigned-off-by: Mark Fortescue \u003cmark@mtfhpc.demon.co.uk\u003e\nCc: Evgeniy Dushistov \u003cdushistov@mail.ru\u003e\nSigned-off-by: Alexey Dobriyan \u003cadobriyan@gmail.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "4ba9b9d0ba0a49d91fa6417c7510ee36f48cf957",
      "tree": "191b4f45f926e44b882b1e87a9a85dc12230b892",
      "parents": [
        "b811c202a0edadaac7242ab834fe7ba409978ae7"
      ],
      "author": {
        "name": "Christoph Lameter",
        "email": "clameter@sgi.com",
        "time": "Tue Oct 16 23:25:51 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Wed Oct 17 08:42:45 2007 -0700"
      },
      "message": "Slab API: remove useless ctor parameter and reorder parameters\n\nSlab constructors currently have a flags parameter that is never used.  And\nthe order of the arguments is opposite to other slab functions.  The object\npointer is placed before the kmem_cache pointer.\n\nConvert\n\n        ctor(void *object, struct kmem_cache *s, unsigned long flags)\n\nto\n\n        ctor(struct kmem_cache *s, void *object)\n\nthroughout the kernel\n\n[akpm@linux-foundation.org: coupla fixes]\nSigned-off-by: Christoph Lameter \u003cclameter@sgi.com\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": "f9b7cba1b8a74c10b0771ca28d4c554aeb9803fc",
      "tree": "02c139c63c4ffb77c32d5427ee08d5ed9af303a2",
      "parents": [
        "4942de4a0e914f205d351a81873f4f63986bcc3c"
      ],
      "author": {
        "name": "Evgeniy Dushistov",
        "email": "dushistov@mail.ru",
        "time": "Mon Sep 24 21:24:39 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Tue Sep 25 08:51:04 2007 -0700"
      },
      "message": "ufs: fix sun state\n\nDifferent types of ufs hold state in different places, to hide complexity\nof this, there is ufs_get_fs_state, it returns state according to\n\"UFS_SB(sb)-\u003es_flags\", but during mount ufs_get_fs_state is called, before\nsetting s_flags, this cause message for ufs types like sun ufs: \"fs need\nfsck\", and remount in readonly state.\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": "20c2df83d25c6a95affe6157a4c9cac4cf5ffaac",
      "tree": "415c4453d2b17a50abe7a3e515177e1fa337bd67",
      "parents": [
        "64fb98fc40738ae1a98bcea9ca3145b89fb71524"
      ],
      "author": {
        "name": "Paul Mundt",
        "email": "lethal@linux-sh.org",
        "time": "Fri Jul 20 10:11:58 2007 +0900"
      },
      "committer": {
        "name": "Paul Mundt",
        "email": "lethal@linux-sh.org",
        "time": "Fri Jul 20 10:11:58 2007 +0900"
      },
      "message": "mm: Remove slab destructors from kmem_cache_create().\n\nSlab destructors were no longer supported after Christoph\u0027s\nc59def9f222d44bb7e2f0a559f2906191a0862d7 change. They\u0027ve been\nBUGs for both slab and slub, and slob never supported them\neither.\n\nThis rips out support for the dtor pointer from kmem_cache_create()\ncompletely and fixes up every single callsite in the kernel (there were\nabout 224, not including the slab allocator definitions themselves,\nor the documentation references).\n\nSigned-off-by: Paul Mundt \u003clethal@linux-sh.org\u003e\n"
    },
    {
      "commit": "9e8c4273ef4f631a896650bd2ade4c1b6487131b",
      "tree": "61b11d755575011af7c4baae7046c32a7a8bfd3f",
      "parents": [
        "e7c310c36e5fdf1b83a459e5db167bfbd86137db"
      ],
      "author": {
        "name": "vignesh babu",
        "email": "vignesh.babu@wipro.com",
        "time": "Sun Jul 15 23:41:36 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Mon Jul 16 09:05:50 2007 -0700"
      },
      "message": "is_power_of_2: ufs/super.c\n\nReplace (n \u0026 (n-1)) with is_power_of_2\n\nSigned-off-by: vignesh babu \u003cvignesh.babu@wipro.com\u003e\nAcked-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": "5ffc4ef45b3b0a57872f631b4e4ceb8ace0d7496",
      "tree": "437ec32a58ac5e4794565b2bbb3da6611f0d6a04",
      "parents": [
        "534f2aaa6ab07cd71164180bc958a7dcde41db11"
      ],
      "author": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Fri Jun 01 11:49:19 2007 +0200"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Tue Jul 10 08:04:13 2007 +0200"
      },
      "message": "sendfile: remove .sendfile from filesystems that use generic_file_sendfile()\n\nThey can use generic_file_splice_read() instead. Since sys_sendfile() now\nprefers that, there should be no change in behaviour.\n\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\n"
    },
    {
      "commit": "a35afb830f8d71ec211531aeb9a621b09a2efb39",
      "tree": "198280081e1f8b2f6c450742a5075cc7904a3d58",
      "parents": [
        "5577bd8a85c8b7643a241789b14fafa9c8a6c7db"
      ],
      "author": {
        "name": "Christoph Lameter",
        "email": "clameter@sgi.com",
        "time": "Wed May 16 22:10:57 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Thu May 17 05:23:04 2007 -0700"
      },
      "message": "Remove SLAB_CTOR_CONSTRUCTOR\n\nSLAB_CTOR_CONSTRUCTOR is always specified. No point in checking it.\n\nSigned-off-by: Christoph Lameter \u003cclameter@sgi.com\u003e\nCc: David Howells \u003cdhowells@redhat.com\u003e\nCc: Jens Axboe \u003cjens.axboe@oracle.com\u003e\nCc: Steven French \u003csfrench@us.ibm.com\u003e\nCc: Michael Halcrow \u003cmhalcrow@us.ibm.com\u003e\nCc: OGAWA Hirofumi \u003chirofumi@mail.parknet.co.jp\u003e\nCc: Miklos Szeredi \u003cmiklos@szeredi.hu\u003e\nCc: Steven Whitehouse \u003cswhiteho@redhat.com\u003e\nCc: Roman Zippel \u003czippel@linux-m68k.org\u003e\nCc: David Woodhouse \u003cdwmw2@infradead.org\u003e\nCc: Dave Kleikamp \u003cshaggy@austin.ibm.com\u003e\nCc: Trond Myklebust \u003ctrond.myklebust@fys.uio.no\u003e\nCc: \"J. Bruce Fields\" \u003cbfields@fieldses.org\u003e\nCc: Anton Altaparmakov \u003caia21@cantab.net\u003e\nCc: Mark Fasheh \u003cmark.fasheh@oracle.com\u003e\nCc: Paul Mackerras \u003cpaulus@samba.org\u003e\nCc: Christoph Hellwig \u003chch@lst.de\u003e\nCc: Jan Kara \u003cjack@ucw.cz\u003e\nCc: David Chinner \u003cdgc@sgi.com\u003e\nCc: \"David S. Miller\" \u003cdavem@davemloft.net\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "e63340ae6b6205fef26b40a75673d1c9c0c8bb90",
      "tree": "8d3212705515edec73c3936bb9e23c71d34a7b41",
      "parents": [
        "04c9167f91e309c9c4ea982992aa08e83b2eb42e"
      ],
      "author": {
        "name": "Randy Dunlap",
        "email": "randy.dunlap@oracle.com",
        "time": "Tue May 08 00:28:08 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Tue May 08 11:15:07 2007 -0700"
      },
      "message": "header cleaning: don\u0027t include smp_lock.h when not used\n\nRemove includes of \u003clinux/smp_lock.h\u003e where it is not used/needed.\nSuggested by Al Viro.\n\nBuilds cleanly on x86_64, i386, alpha, ia64, powerpc, sparc,\nsparc64, and arm (all 59 defconfigs).\n\nSigned-off-by: Randy Dunlap \u003crandy.dunlap@oracle.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "50953fe9e00ebbeffa032a565ab2f08312d51a87",
      "tree": "9f95f56f0b51600959a76cd88ce17f6e9c7a98a3",
      "parents": [
        "4b1d89290b62bb2db476c94c82cf7442aab440c8"
      ],
      "author": {
        "name": "Christoph Lameter",
        "email": "clameter@sgi.com",
        "time": "Sun May 06 14:50:16 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Mon May 07 12:12:57 2007 -0700"
      },
      "message": "slab allocators: Remove SLAB_DEBUG_INITIAL flag\n\nI have never seen a use of SLAB_DEBUG_INITIAL.  It is only supported by\nSLAB.\n\nI think its purpose was to have a callback after an object has been freed\nto verify that the state is the constructor state again?  The callback is\nperformed before each freeing of an object.\n\nI would think that it is much easier to check the object state manually\nbefore the free.  That also places the check near the code object\nmanipulation of the object.\n\nAlso the SLAB_DEBUG_INITIAL callback is only performed if the kernel was\ncompiled with SLAB debugging on.  If there would be code in a constructor\nhandling SLAB_DEBUG_INITIAL then it would have to be conditional on\nSLAB_DEBUG otherwise it would just be dead code.  But there is no such code\nin the kernel.  I think SLUB_DEBUG_INITIAL is too problematic to make real\nuse of, difficult to understand and there are easier ways to accomplish the\nsame effect (i.e.  add debug code before kfree).\n\nThere is a related flag SLAB_CTOR_VERIFY that is frequently checked to be\nclear in fs inode caches.  Remove the pointless checks (they would even be\npointless without removeal of SLAB_DEBUG_INITIAL) from the fs constructors.\n\nThis is the last slab flag that SLUB did not support.  Remove the check for\nunimplemented flags from SLUB.\n\nSigned-off-by: Christoph Lameter \u003cclameter@sgi.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "6fe6900e1e5b6fa9e5c59aa5061f244fe3f467e2",
      "tree": "8bbfe5072279227cc50a941ad4813908082426a1",
      "parents": [
        "714b8171af9c930a59a0da8f6fe50518e70ab035"
      ],
      "author": {
        "name": "Nick Piggin",
        "email": "npiggin@suse.de",
        "time": "Sun May 06 14:49:04 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Mon May 07 12:12:51 2007 -0700"
      },
      "message": "mm: make read_cache_page synchronous\n\nEnsure pages are uptodate after returning from read_cache_page, which allows\nus to cut out most of the filesystem-internal PageUptodate calls.\n\nI didn\u0027t have a great look down the call chains, but this appears to fixes 7\npossible use-before uptodate in hfs, 2 in hfsplus, 1 in jfs, a few in\necryptfs, 1 in jffs2, and a possible cleared data overwritten with readpage in\nblock2mtd.  All depending on whether the filler is async and/or can return\nwith a !uptodate page.\n\nSigned-off-by: Nick Piggin \u003cnpiggin@suse.de\u003e\nCc: Hugh Dickins \u003chugh@veritas.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "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": "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": "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": "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": "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": "ee9b6d61a2a43c5952eb43283f8db284a4e70b8a",
      "tree": "afb0340e79d3e9d14f39df20e165ce2efe941b18",
      "parents": [
        "c5ef1c42c51b1b5b4a401a6517bdda30933ddbaf"
      ],
      "author": {
        "name": "Josef \u0027Jeff\u0027 Sipek",
        "email": "jsipek@cs.sunysb.edu",
        "time": "Mon Feb 12 00:55:41 2007 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Mon Feb 12 09:48:47 2007 -0800"
      },
      "message": "[PATCH] Mark struct super_operations const\n\nThis patch is inspired by Arjan\u0027s \"Patch series to mark struct\nfile_operations and struct inode_operations const\".\n\nCompile tested with gcc \u0026 sparse.\n\nSigned-off-by: Josef \u0027Jeff\u0027 Sipek \u003cjsipek@cs.sunysb.edu\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": "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": "cbcae39fa1cc16c0fb199223f5ec1aea5f4c7b2d",
      "tree": "27a3f078d196cb0589a972554dde24b35a350e11",
      "parents": [
        "cca97de1184f6000d22b4106d47687b31cca1fa3"
      ],
      "author": {
        "name": "Evgeniy Dushistov",
        "email": "dushistov@mail.ru",
        "time": "Mon Feb 12 00:54:30 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: mount as rw\n\nThese series of patches add UFS2 write-support.  UFS2 - is default file system\nfor recent versions of FreeBSD.\n\nThe main differences from UFS1 from write support point of view\nare:\n1)Not all inodes are allocated during formatation of disk.\n2)All meta-data(pointer to data blocks) are 64bit(in UFS1 they\nare 32bit).\n\nSo patch series consist of\n1)make possible mount UFS2 in read-write mode\n2)code to write ufs2 inodes and code to initialize inodes chunks.\n3)work with 64bit meta-data\n\nI made simple testing like create/deleting/writing/reading/truncating, also I\nran fsx-linux and untar and build kernel on UFS1 and UFS2, after that FreeBSD\nfsck do not find any errors in fs.\n\nThis patch makes possible to mount ufs2 \"rw\", and updates UFS2 documentation:\nremove note about bug(it fixed by reallocate blocks on the fly patch) and add\nme in the list of people who want receive bug reports.\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": "f336953bfdee8d5e7f69cb8e080704546541f04b",
      "tree": "03c86a0c0ce782edb4cf077fddea08f29dbdae84",
      "parents": [
        "cbb9450234fb28f60fea36520cd710a988ac5812"
      ],
      "author": {
        "name": "Evgeniy Dushistov",
        "email": "dushistov@mail.ru",
        "time": "Thu Feb 08 14:20:25 2007 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Fri Feb 09 09:25:46 2007 -0800"
      },
      "message": "[PATCH] ufs: restore back support of openstep\n\nThis is a fix of regression, which triggered by ~2.6.16.\n\nPatch with name ufs-directory-and-page-cache-from-blocks-to-pages.patch: in\nadditional to conversation from block to page cache mechanism added new\nchecks of directory integrity, one of them that directory entry do not\nacross directory chunks.\n\nBut some kinds of UFS: OpenStep UFS and Apple UFS (looks like these are the\nsame filesystems) have different directory chunk size, then common\nUFSes(BSD and Solaris UFS).\n\nSo this patch adds ability to works with variable size of directory chunks,\nand set it for ufstype\u003dopenstep to right size.\n\nTested on darwin ufs.\n\nSigned-off-by: Evgeniy Dushistov \u003cdushistov@mail.ru\u003e\nCc: \u003cstable@kernel.org\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": "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": "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": "763454d6108ad1c6d4e1013321aef8bf5efb3a4f",
      "tree": "f44fa56684713d75e5d577be8f2fcbbfcc5d4b44",
      "parents": [
        "5096e933a943c23bd9314b0ac7e14d07073cb2e5"
      ],
      "author": {
        "name": "Josef Sipek",
        "email": "jsipek@fsl.cs.sunysb.edu",
        "time": "Fri Dec 08 02:37:45 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.osdl.org",
        "time": "Fri Dec 08 08:28:50 2006 -0800"
      },
      "message": "[PATCH] struct path: convert ufs\n\nSigned-off-by: Josef Sipek \u003cjsipek@fsl.cs.sunysb.edu\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "71a3d1b4f7633835048f96a4ba79c8c87f03df4b",
      "tree": "f38cb8ba531136e89093e5ed1cc59c47dc9b4e60",
      "parents": [
        "65867beb0de4d055637476327b533e5ffbec2b97"
      ],
      "author": {
        "name": "Mariusz Kozlowski",
        "email": "m.kozlowski@tuxland.pl",
        "time": "Wed Dec 06 20:40:09 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.osdl.org",
        "time": "Thu Dec 07 08:39:44 2006 -0800"
      },
      "message": "[PATCH] fs: ufs add missing bracket\n\nSigned-off-by: Mariusz Kozlowski \u003cm.kozlowski@tuxland.pl\u003e\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": "4a6e617a4bec9fb2ee4a16cf59565b2af5049e12",
      "tree": "4d69b8da779c58b506efe8f3fcae48d7b3c7bb4d",
      "parents": [
        "e0980dafa329d33bb88edc8a3ef9fab4e070590c"
      ],
      "author": {
        "name": "Alexey Dobriyan",
        "email": "adobriyan@gmail.com",
        "time": "Wed Dec 06 20:37:04 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.osdl.org",
        "time": "Thu Dec 07 08:39:35 2006 -0800"
      },
      "message": "[PATCH] fs/*: trivial vsnprintf() conversion\n\nIt would very lame to get buffer overflow via one of the following.\n\nSigned-off-by: Alexey Dobriyan \u003cadobriyan@gmail.com\u003e\nCc: Dave Kleikamp \u003cshaggy@austin.ibm.com\u003e\nCc: Mark Fasheh \u003cmark.fasheh@oracle.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "e18b890bb0881bbab6f4f1a6cd20d9c60d66b003",
      "tree": "4828be07e1c24781c264b42c5a75bcd968223c3f",
      "parents": [
        "441e143e95f5aa1e04026cb0aa71c801ba53982f"
      ],
      "author": {
        "name": "Christoph Lameter",
        "email": "clameter@sgi.com",
        "time": "Wed Dec 06 20:33:20 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.osdl.org",
        "time": "Thu Dec 07 08:39:25 2006 -0800"
      },
      "message": "[PATCH] slab: remove kmem_cache_t\n\nReplace all uses of kmem_cache_t with struct kmem_cache.\n\nThe patch was generated using the following script:\n\n\t#!/bin/sh\n\t#\n\t# Replace one string by another in all the kernel sources.\n\t#\n\n\tset -e\n\n\tfor file in `find * -name \"*.c\" -o -name \"*.h\"|xargs grep -l $1`; do\n\t\tquilt add $file\n\t\tsed -e \"1,\\$s/$1/$2/g\" $file \u003e/tmp/$$\n\t\tmv /tmp/$$ $file\n\t\tquilt refresh\n\tdone\n\nThe script was run like this\n\n\tsh replace kmem_cache_t \"struct kmem_cache\"\n\nSigned-off-by: Christoph Lameter \u003cclameter@sgi.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "e94b1766097d53e6f3ccfb36c8baa562ffeda3fc",
      "tree": "93fa0a8ab84976d4e89c50768ca8b8878d642a0d",
      "parents": [
        "54e6ecb23951b195d02433a741c7f7cb0b796c78"
      ],
      "author": {
        "name": "Christoph Lameter",
        "email": "clameter@sgi.com",
        "time": "Wed Dec 06 20:33:17 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.osdl.org",
        "time": "Thu Dec 07 08:39:24 2006 -0800"
      },
      "message": "[PATCH] slab: remove SLAB_KERNEL\n\nSLAB_KERNEL is an alias of GFP_KERNEL.\n\nSigned-off-by: Christoph Lameter \u003cclameter@sgi.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "44aa5359be589f9cbe9cf0d5c97e22b27a04c7d3",
      "tree": "d69dc626068b45e62f2456b1d7ab7ca08aff018f",
      "parents": [
        "3524de1c7953e7a22c43b9214ffc3680af6f8edb"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@ftp.linux.org.uk",
        "time": "Sun Aug 13 01:54:30 2006 -0400"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Tue Oct 10 16:15:34 2006 -0700"
      },
      "message": "[PATCH] ufs endianness annotations\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "9a53c3a783c2fa9b969628e65695c11c3e51e673",
      "tree": "5a6115e18ee105246d46e3db3d5b07749d232f5b",
      "parents": [
        "aab520e2f6c80160cabd187a8d0292d1cec8ff68"
      ],
      "author": {
        "name": "Dave Hansen",
        "email": "haveblue@us.ibm.com",
        "time": "Sat Sep 30 23:29:03 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Sun Oct 01 00:39:30 2006 -0700"
      },
      "message": "[PATCH] r/o bind mounts: unlink: monitor i_nlink\n\nWhen a filesystem decrements i_nlink to zero, it means that a write must be\nperformed in order to drop the inode from the filesystem.\n\nWe\u0027re shortly going to have keep filesystems from being remounted r/o between\nthe time that this i_nlink decrement and that write occurs.\n\nSo, add a little helper function to do the decrements.  We\u0027ll tie into it in a\nbit to note when i_nlink hits zero.\n\nSigned-off-by: Dave Hansen \u003chaveblue@us.ibm.com\u003e\nAcked-by: Christoph Hellwig \u003chch@lst.de\u003e\nCc: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "543ade1fc901db4c3dbe9fb27241fb977f1f3eea",
      "tree": "cdd1a1f67a718adf71e92fe08e4b3d33bf3dbadc",
      "parents": [
        "ee0b3e671baff681d69fbf0db33b47603c0a8280"
      ],
      "author": {
        "name": "Badari Pulavarty",
        "email": "pbadari@us.ibm.com",
        "time": "Sat Sep 30 23:28:48 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Sun Oct 01 00:39:28 2006 -0700"
      },
      "message": "[PATCH] Streamline generic_file_* interfaces and filemap cleanups\n\nThis patch cleans up generic_file_*_read/write() interfaces.  Christoph\nHellwig gave me the idea for this clean ups.\n\nIn a nutshell, all filesystems should set .aio_read/.aio_write methods and use\ndo_sync_read/ do_sync_write() as their .read/.write methods.  This allows us\nto cleanup all variants of generic_file_* routines.\n\nFinal available interfaces:\n\ngeneric_file_aio_read() - read handler\ngeneric_file_aio_write() - write handler\ngeneric_file_aio_write_nolock() - no lock write handler\n\n__generic_file_aio_write_nolock() - internal worker routine\n\nSigned-off-by: Badari Pulavarty \u003cpbadari@us.ibm.com\u003e\nSigned-off-by: Christoph Hellwig \u003chch@lst.de\u003e\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": "1a1d92c10dd24bbdc28b3d6e2d03ec199dd3a65b",
      "tree": "fade83955f75e718e39153d6f81d221403338bed",
      "parents": [
        "f52720ca5f48574e347dff35ffe6b389ace61537"
      ],
      "author": {
        "name": "Alexey Dobriyan",
        "email": "adobriyan@gmail.com",
        "time": "Wed Sep 27 01:49:40 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Wed Sep 27 08:26:10 2006 -0700"
      },
      "message": "[PATCH] Really ignore kmem_cache_destroy return value\n\n* Rougly half of callers already do it by not checking return value\n* Code in drivers/acpi/osl.c does the following to be sure:\n\n\t(void)kmem_cache_destroy(cache);\n\n* Those who check it printk something, however, slab_error already printed\n  the name of failed cache.\n* XFS BUGs on failed kmem_cache_destroy which is not the decision\n  low-level filesystem driver should make. Converted to ignore.\n\nSigned-off-by: Alexey Dobriyan \u003cadobriyan@gmail.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "f8314dc60ccba7e41f425048c4160dc7f63377d5",
      "tree": "4e361a6e93dc7f64da0244e5a0dfef1fface0ddb",
      "parents": [
        "32c2d2bc4bed61323f14f2a7d69ccbd567253d8a"
      ],
      "author": {
        "name": "Panagiotis Issaris",
        "email": "takis@issaris.org",
        "time": "Wed Sep 27 01:49:37 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Wed Sep 27 08:26:10 2006 -0700"
      },
      "message": "[PATCH] fs: Conversions from kmalloc+memset to k(z|c)alloc\n\nConversions from kmalloc+memset to kzalloc.\n\nSigned-off-by: Panagiotis Issaris \u003ctakis@issaris.org\u003e\nJffs2-bit-acked-by: David Woodhouse \u003cdwmw2@infradead.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.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": "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": "06fa45d3a19c6fbfccbf295e9f08087492338631",
      "tree": "24cc6843b98272e8ef5a8a1c78ef5b452f4a2d84",
      "parents": [
        "1fb32b7bd8203d0175649a75ede3ee7634d6a941"
      ],
      "author": {
        "name": "Evgeniy Dushistov",
        "email": "dushistov@mail.ru",
        "time": "Sat Aug 05 12:13:57 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Sun Aug 06 08:57:46 2006 -0700"
      },
      "message": "[PATCH] ufs: handle truncated pages\n\nufs_get_locked_page is called twice in ufs code, one time in ufs_truncate\npath(we allocated last block), and another time when fragments are\nreallocated.  In ideal world in the second case on allocation/free block\nlayer we should not know that things like `truncate\u0027 exists, but now with\nsuch crutch like ufs_get_locked_page we can (or should?) skip truncated\npages.\n\nSigned-off-by: Evgeniy Dushistov \u003cdushistov@mail.ru\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "1fb32b7bd8203d0175649a75ede3ee7634d6a941",
      "tree": "1c0b7bd06835ce37dc2fc18a95fe3fe22c2ce556",
      "parents": [
        "e91467ecd1ef381377fd327c0ded922835ec52ab"
      ],
      "author": {
        "name": "Evgeniy Dushistov",
        "email": "dushistov@mail.ru",
        "time": "Sat Aug 05 12:13:55 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Sun Aug 06 08:57:46 2006 -0700"
      },
      "message": "[PATCH] ufs: ufs_get_locked_page() race fix\n\nAs discussed earlier:\nhttp://lkml.org/lkml/2006/6/28/136\nthis patch fixes such issue:\n\n`ufs_get_locked_page\u0027 takes page from cache\nafter that `vmtruncate\u0027 takes page and deletes it from cache\n`ufs_get_locked_page\u0027 locks page, and reports about EIO error.\n\nAlso because of find_lock_page always return valid page or NULL, we have no\nneed to check it if page not NULL.\n\nSigned-off-by: Evgeniy Dushistov \u003cdushistov@mail.ru\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "344fe78669d2d1cff9e8939598f6d0d865b6a75b",
      "tree": "1b5dc1e8edd1e67ab4d87ed05e43bea527129b91",
      "parents": [
        "0bee8d28496a8c76b488a2c29e01a0ebc1411475"
      ],
      "author": {
        "name": "Josh Triplett",
        "email": "josht@us.ibm.com",
        "time": "Sun Jul 30 03:03:59 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Mon Jul 31 13:28:42 2006 -0700"
      },
      "message": "[PATCH] ufs: remove incorrect unlock_kernel from failure path in ufs_symlink()\n\nufs_symlink, in one of its error paths, calls unlock_kernel without ever\nhaving called lock_kernel(); fix this by creating and jumping to a new\nlabel out_notlocked rather than the out label used after calling\nlock_kernel().\n\nSigned-off-by: Josh Triplett \u003cjosh@freedesktop.org\u003e\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": "5c81a4197de38411fe3e27f8593fff73a5d6b868",
      "tree": "0a7867025e08353bf9946759864beeaf0ff01ad2",
      "parents": [
        "59345374742ee6673c2d04b0fa8c888e881b7209"
      ],
      "author": {
        "name": "Arjan van de Ven",
        "email": "arjan@linux.intel.com",
        "time": "Mon Jul 03 00:25:20 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Mon Jul 03 15:27:08 2006 -0700"
      },
      "message": "[PATCH] lockdep: annotate the quota code\n\nThe quota code plays interesting games with the lock ordering; to quote Jan:\n\n| i_mutex of inode containing quota file is acquired after all other\n| quota locks. i_mutex of all other inodes is acquired before quota\n| locks. Quota code makes sure (by resetting inode operations and\n| setting special flag on inode) that noone tries to enter quota code\n| while holding i_mutex on a quota file...\n\nThe good news is that all of this special case i_mutex grabbing happens in the\n(per filesystem) low level quota write function.  For this special case we\nneed a new I_MUTEX_* nesting level, since this just entirely outside any of\nthe regular VFS locking rules for i_mutex.  I trust Jan on his blue eyes that\nthis is not ever going to deadlock; and based on that the patch below is what\nit takes to inform lockdep of these very interesting new locking rules.\n\nThe new locking rule for the I_MUTEX_QUOTA nesting level is that this is the\ndeepest possible level of nesting for i_mutex, and that this only should be\nused in quota write (and possibly read) function of filesystems.  This makes\nthe lock ordering of the I_MUTEX_* levels:\n\nI_MUTEX_PARENT -\u003e I_MUTEX_CHILD -\u003e I_MUTEX_NORMAL -\u003e I_MUTEX_QUOTA\n\nHas no effect on non-lockdep kernels.\n\nSigned-off-by: Arjan van de Ven \u003carjan@linux.intel.com\u003e\nAcked-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: Jan Kara \u003cjack@ucw.cz\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": "6ab3d5624e172c553004ecc862bfeac16d9d68b7",
      "tree": "6d98881fe91fd9583c109208d5c27131b93fa248",
      "parents": [
        "e02169b682bc448ccdc819dc8639ed34a23cedd8"
      ],
      "author": {
        "name": "Jörn Engel",
        "email": "joern@wohnheim.fh-wedel.de",
        "time": "Fri Jun 30 19:25:36 2006 +0200"
      },
      "committer": {
        "name": "Adrian Bunk",
        "email": "bunk@stusta.de",
        "time": "Fri Jun 30 19:25:36 2006 +0200"
      },
      "message": "Remove obsolete #include \u003clinux/config.h\u003e\n\nSigned-off-by: Jörn Engel \u003cjoern@wohnheim.fh-wedel.de\u003e\nSigned-off-by: Adrian Bunk \u003cbunk@stusta.de\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": "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": "577a82752f95a5680d7c14569ffd3fd630d9fb22",
      "tree": "de2edd4f9f0126d8799bbbe9926290c94cb14eee",
      "parents": [
        "647b7e87b56f594daf648f44abfbeeb5eb6a9457"
      ],
      "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: fsync implementation\n\nPresently ufs doesn\u0027t support \"fsync\", this make some applications unhappy,\nfor example vim.  This patch fixes this situation.\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": "647b7e87b56f594daf648f44abfbeeb5eb6a9457",
      "tree": "2a81679a2a9f7ee0a0ad984fbae4d43be050fd51",
      "parents": [
        "f391475812ba39afa322c835217ffe936f5e754a"
      ],
      "author": {
        "name": "Evgeniy Dushistov",
        "email": "dushistov@mail.ru",
        "time": "Sun Jun 25 05:47:29 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Sun Jun 25 10:01:04 2006 -0700"
      },
      "message": "[PATCH] ufs: one way to access super block\n\nSuper block of UFS usually has size \u003e512, because of fragment size may be 512,\nthis cause some problems.\n\nCurrently, there are two methods to work with ufs super block:\n\n1) split structure which describes ufs super blocks into structures with\n   size \u003c\u003d512\n\n2) use one structure which describes ufs super block, and hope that array\n   of \"buffer_head\" which holds \"super block\", has such construction:\n\n\tbh[n]-\u003eb_data + bh[n]-\u003eb_size \u003d\u003d bh[n + 1]-\u003eb_data\n\nThe second variant may cause some problems in the future, and usage of two\nvariants cause unnecessary code duplication.\n\nThis patch remove the second variant.  Also patch contains some CodingStyle\nfixes.\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": "96710b29e05f3b470bc4206366021b56e28d5208",
      "tree": "fad4aeb5679b4f901068387df49cf85049d15350",
      "parents": [
        "022a6dc5f461a30615bcd1687569abeee7ef8ba2"
      ],
      "author": {
        "name": "Andrew Morton",
        "email": "akpm@osdl.org",
        "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: printk warning fixes\n\nfs/ufs/super.c: In function `ufs_print_super_stuff\u0027:\nfs/ufs/super.c:103: warning: unsigned int format, different type arg (arg 2)    fs/ufs/super.c: In function `ufs2_print_super_stuff\u0027:                           fs/ufs/super.c:147: warning: unsigned int format, different type arg (arg 2)    fs/ufs/super.c: In function `ufs_print_cylinder_stuff\u0027:\nfs/ufs/super.c:175: warning: unsigned int format, different type 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": "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": "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": "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": "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": "b71034e5e67d1577424cebe7bbb7d0ce134a4cd8",
      "tree": "4e4ffe95db731bbdc81d086d2b4462b3ab5867c2",
      "parents": [
        "826843a347cc8fd596a4c73d3fbdf04a1f130b8a"
      ],
      "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: directory and page cache: from blocks to pages\n\nChange function in fs/ufs/dir.c and fs/ufs/namei.c to work with pages\ninstead of straight work with blocks.  It fixed such bugs:\n\n* for i in `seq 1 1000`; do touch $i; done - crash system\n* mkdir create directory without \".\" and \"..\" entries\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": "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": "726c334223180e3c0197cc980a432681370d4baf",
      "tree": "8327b354bb3dc959a6606051ae6f8d4d035e38a2",
      "parents": [
        "454e2398be9b9fa30433fccc548db34d19aa9958"
      ],
      "author": {
        "name": "David Howells",
        "email": "dhowells@redhat.com",
        "time": "Fri Jun 23 02:02:58 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Fri Jun 23 07:42:45 2006 -0700"
      },
      "message": "[PATCH] VFS: Permit filesystem to perform statfs with a known root dentry\n\nGive the statfs superblock operation a dentry pointer rather than a superblock\npointer.\n\nThis complements the get_sb() patch.  That reduced the significance of\nsb-\u003es_root, allowing NFS to place a fake root there.  However, NFS does\nrequire a dentry to use as a target for the statfs operation.  This permits\nthe root in the vfsmount to be used instead.\n\nlinux/mount.h has been added where necessary to make allyesconfig build\nsuccessfully.\n\nInterest has also been expressed for use with the FUSE and XFS filesystems.\n\nSigned-off-by: David Howells \u003cdhowells@redhat.com\u003e\nAcked-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\nCc: Nathan Scott \u003cnathans@sgi.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "454e2398be9b9fa30433fccc548db34d19aa9958",
      "tree": "1f61cb0c3716a33b661cfc8977e9beeb480a322c",
      "parents": [
        "1ad5544098a69d7dc1fa508cbb17e13a7a952fd8"
      ],
      "author": {
        "name": "David Howells",
        "email": "dhowells@redhat.com",
        "time": "Fri Jun 23 02:02:57 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Fri Jun 23 07:42:45 2006 -0700"
      },
      "message": "[PATCH] VFS: Permit filesystem to override root dentry on mount\n\nExtend the get_sb() filesystem operation to take an extra argument that\npermits the VFS to pass in the target vfsmount that defines the mountpoint.\n\nThe filesystem is then required to manually set the superblock and root dentry\npointers.  For most filesystems, this should be done with simple_set_mnt()\nwhich will set the superblock pointer and then set the root dentry to the\nsuperblock\u0027s s_root (as per the old default behaviour).\n\nThe get_sb() op now returns an integer as there\u0027s now no need to return the\nsuperblock pointer.\n\nThis patch permits a superblock to be implicitly shared amongst several mount\npoints, such as can be done with NFS to avoid potential inode aliasing.  In\nsuch a case, simple_set_mnt() would not be called, and instead the mnt_root\nand mnt_sb would be set directly.\n\nThe patch also makes the following changes:\n\n (*) the get_sb_*() convenience functions in the core kernel now take a vfsmount\n     pointer argument and return an integer, so most filesystems have to change\n     very little.\n\n (*) If one of the convenience function is not used, then get_sb() should\n     normally call simple_set_mnt() to instantiate the vfsmount. This will\n     always return 0, and so can be tail-called from get_sb().\n\n (*) generic_shutdown_super() now calls shrink_dcache_sb() to clean up the\n     dcache upon superblock destruction rather than shrink_dcache_anon().\n\n     This is required because the superblock may now have multiple trees that\n     aren\u0027t actually bound to s_root, but that still need to be cleaned up. The\n     currently called functions assume that the whole tree is rooted at s_root,\n     and that anonymous dentries are not the roots of trees which results in\n     dentries being left unculled.\n\n     However, with the way NFS superblock sharing are currently set to be\n     implemented, these assumptions are violated: the root of the filesystem is\n     simply a dummy dentry and inode (the real inode for \u0027/\u0027 may well be\n     inaccessible), and all the vfsmounts are rooted on anonymous[*] dentries\n     with child trees.\n\n     [*] Anonymous until discovered from another tree.\n\n (*) The documentation has been adjusted, including the additional bit of\n     changing ext2_* into foo_* in the documentation.\n\n[akpm@osdl.org: convert ipath_fs, do other stuff]\nSigned-off-by: David Howells \u003cdhowells@redhat.com\u003e\nAcked-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\nCc: Nathan Scott \u003cnathans@sgi.com\u003e\nCc: Roland Dreier \u003crolandd@cisco.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "4b6f5d20b04dcbc3d888555522b90ba6d36c4106",
      "tree": "420f271eaef7d3def7d4433b151c3cb6d7a54770",
      "parents": [
        "99ac48f54a91d02140c497edc31dc57d4bc5c85d"
      ],
      "author": {
        "name": "Arjan van de Ven",
        "email": "arjan@infradead.org",
        "time": "Tue Mar 28 01:56:42 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Tue Mar 28 09:16:06 2006 -0800"
      },
      "message": "[PATCH] Make most file operations structs in fs/ const\n\nThis is a conversion to make the various file_operations structs in fs/\nconst.  Basically a regexp job, with a few manual fixups\n\nThe goal is both to increase correctness (harder to accidentally write to\nshared datastructures) and reducing the false sharing of cachelines with\nthings that get dirty in .data (while .rodata is nicely read only and thus\ncache clean)\n\nSigned-off-by: Arjan van de Ven \u003carjan@infradead.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "c690a72253b962b7274559f2cdf4844553076c03",
      "tree": "bbbde2ff40a39ce2b5cd66b0de7e946f783efa16",
      "parents": [
        "13fce8062968996da496d4f65cc1c1f845704604"
      ],
      "author": {
        "name": "Michael Owen",
        "email": "mowen@costco.com",
        "time": "Fri Mar 24 18:21:44 2006 +0100"
      },
      "committer": {
        "name": "Adrian Bunk",
        "email": "bunk@stusta.de",
        "time": "Fri Mar 24 18:21:44 2006 +0100"
      },
      "message": "typo patch for fs/ufs/super.c\n\nQuick and simple typo fix. neTXstep -\u003e neXTstep\n\nSigned-off-by: Adrian Bunk \u003cbunk@stusta.de\u003e\n"
    },
    {
      "commit": "fffb60f93ce5880aade88e01d7133b52a4879710",
      "tree": "7882f0550af8580c0646306f6d391fe610f7ef8c",
      "parents": [
        "4b6a9316fab51af611dc8671f296734089f6a22a"
      ],
      "author": {
        "name": "Paul Jackson",
        "email": "pj@sgi.com",
        "time": "Fri Mar 24 03:16:06 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Fri Mar 24 07:33:23 2006 -0800"
      },
      "message": "[PATCH] cpuset memory spread: slab cache format\n\nRewrap the overly long source code lines resulting from the previous\npatch\u0027s addition of the slab cache flag SLAB_MEM_SPREAD.  This patch\ncontains only formatting changes, and no function change.\n\nSigned-off-by: Paul Jackson \u003cpj@sgi.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "4b6a9316fab51af611dc8671f296734089f6a22a",
      "tree": "078f8f0f01a206af529bef137d5b71515c39053d",
      "parents": [
        "44110fe385af23ca5eee8a6ad4ff55d50339097a"
      ],
      "author": {
        "name": "Paul Jackson",
        "email": "pj@sgi.com",
        "time": "Fri Mar 24 03:16:05 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Fri Mar 24 07:33:23 2006 -0800"
      },
      "message": "[PATCH] cpuset memory spread: slab cache filesystems\n\nMark file system inode and similar slab caches subject to SLAB_MEM_SPREAD\nmemory spreading.\n\nIf a slab cache is marked SLAB_MEM_SPREAD, then anytime that a task that\u0027s\nin a cpuset with the \u0027memory_spread_slab\u0027 option enabled goes to allocate\nfrom such a slab cache, the allocations are spread evenly over all the\nmemory nodes (task-\u003emems_allowed) allowed to that task, instead of favoring\nallocation on the node local to the current cpu.\n\nThe following inode and similar caches are marked SLAB_MEM_SPREAD:\n\n    file                               cache\n    \u003d\u003d\u003d\u003d                               \u003d\u003d\u003d\u003d\u003d\n    fs/adfs/super.c                    adfs_inode_cache\n    fs/affs/super.c                    affs_inode_cache\n    fs/befs/linuxvfs.c                 befs_inode_cache\n    fs/bfs/inode.c                     bfs_inode_cache\n    fs/block_dev.c                     bdev_cache\n    fs/cifs/cifsfs.c                   cifs_inode_cache\n    fs/coda/inode.c                    coda_inode_cache\n    fs/dquot.c                         dquot\n    fs/efs/super.c                     efs_inode_cache\n    fs/ext2/super.c                    ext2_inode_cache\n    fs/ext2/xattr.c (fs/mbcache.c)     ext2_xattr\n    fs/ext3/super.c                    ext3_inode_cache\n    fs/ext3/xattr.c (fs/mbcache.c)     ext3_xattr\n    fs/fat/cache.c                     fat_cache\n    fs/fat/inode.c                     fat_inode_cache\n    fs/freevxfs/vxfs_super.c           vxfs_inode\n    fs/hpfs/super.c                    hpfs_inode_cache\n    fs/isofs/inode.c                   isofs_inode_cache\n    fs/jffs/inode-v23.c                jffs_fm\n    fs/jffs2/super.c                   jffs2_i\n    fs/jfs/super.c                     jfs_ip\n    fs/minix/inode.c                   minix_inode_cache\n    fs/ncpfs/inode.c                   ncp_inode_cache\n    fs/nfs/direct.c                    nfs_direct_cache\n    fs/nfs/inode.c                     nfs_inode_cache\n    fs/ntfs/super.c                    ntfs_big_inode_cache_name\n    fs/ntfs/super.c                    ntfs_inode_cache\n    fs/ocfs2/dlm/dlmfs.c               dlmfs_inode_cache\n    fs/ocfs2/super.c                   ocfs2_inode_cache\n    fs/proc/inode.c                    proc_inode_cache\n    fs/qnx4/inode.c                    qnx4_inode_cache\n    fs/reiserfs/super.c                reiser_inode_cache\n    fs/romfs/inode.c                   romfs_inode_cache\n    fs/smbfs/inode.c                   smb_inode_cache\n    fs/sysv/inode.c                    sysv_inode_cache\n    fs/udf/super.c                     udf_inode_cache\n    fs/ufs/super.c                     ufs_inode_cache\n    net/socket.c                       sock_inode_cache\n    net/sunrpc/rpc_pipe.c              rpc_inode_cache\n\nThe choice of which slab caches to so mark was quite simple.  I marked\nthose already marked SLAB_RECLAIM_ACCOUNT, except for fs/xfs, dentry_cache,\ninode_cache, and buffer_head, which were marked in a previous patch.  Even\nthough SLAB_RECLAIM_ACCOUNT is for a different purpose, it marks the same\npotentially large file system i/o related slab caches as we need for memory\nspreading.\n\nGiven that the rule now becomes \"wherever you would have used a\nSLAB_RECLAIM_ACCOUNT slab cache flag before (usually the inode cache), use\nthe SLAB_MEM_SPREAD flag too\", this should be easy enough to maintain.\nFuture file system writers will just copy one of the existing file system\nslab cache setups and tend to get it right without thinking.\n\nSigned-off-by: Paul Jackson \u003cpj@sgi.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "3257545e40a769cbef98cf13eabe50f00712991e",
      "tree": "e496d904a85b561ba88b86ff74fa525c612518e2",
      "parents": [
        "a513b035eadf80bb9ce0be4c5dd9f242cfb9eecc"
      ],
      "author": {
        "name": "Alexey Dobriyan",
        "email": "adobriyan@gmail.com",
        "time": "Thu Mar 23 03:00:53 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Thu Mar 23 07:38:16 2006 -0800"
      },
      "message": "[PATCH] ufs: switch to inode_inc_count, inode_dec_count\n\nSigned-off-by: Alexey Dobriyan \u003cadobriyan@gmail.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "a7ccf007189aa4401695e3105b00d9429f836b46",
      "tree": "1dbd5e7e496394d468030bb231a9d090fd5e1711",
      "parents": [
        "a26fd335b481e0bd14f4e7d1f5e7bb1138b1731f"
      ],
      "author": {
        "name": "Alexey Dobriyan",
        "email": "adobriyan@gmail.com",
        "time": "Thu Mar 23 03:00:50 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Thu Mar 23 07:38:15 2006 -0800"
      },
      "message": "[PATCH] fs/ufs/file.c: drop insane header dependencies\n\nSigned-off-by: Alexey Dobriyan \u003cadobriyan@gmail.com\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": "e295cfcb2907ae4c5df57f5d4ada1ce6f3ae4657",
      "tree": "a28ca6bf5ba0c3e1e03e12eb5067727028bb6452",
      "parents": [
        "19dfe31c29e0ebb88cf1cd2211da3e2ff2a26d52"
      ],
      "author": {
        "name": "Evgeniy Dushistov",
        "email": "dushistov@mail.ru",
        "time": "Fri Feb 03 03:04:04 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Fri Feb 03 08:32:04 2006 -0800"
      },
      "message": "[PATCH] ufs: fix oops with `ufs1\u0027 type\n\n\"rm\" command, on file system with \"ufs1\" type cause system hang up.  This\nis, in fact, not so bad as it seems to be, because of after that in \"kernel\ncontrol path\" there are 3-4 places which may cause \"oops\".\n\nSo the first patch fix oopses, and the second patch fix \"kernel hang up\".\n\n\"oops\" appears because of reading of group\u0027s summary info partly wrong, and\naccess to not first group\u0027s summary info cause \"oops\".\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": "8a430d74fea797fc55fef1ad4c21420212b83574",
      "tree": "123a53efd78abc925821065c70e0c8c3c417a888",
      "parents": [
        "43ecb9a33ba8c93ebbda81d48ca05f0d1bbf9056"
      ],
      "author": {
        "name": "Evgeniy",
        "email": "dushistov@mail.ru",
        "time": "Fri Jan 13 18:12:15 2006 +0300"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Fri Jan 13 08:42:48 2006 -0800"
      },
      "message": "[PATCH] Fix oops in ufs_fill_super at mount time\n\nThere\u0027s a lack of parenthesis in fs/ufs/utils.h, so instead of the 512th\nbyte of buffer, the usb2 pointer will point to the nth structure of type\nufs_super_block_second.\n\nThis can cause a mount-time oops if you\u0027re unlucky (especially with\nDEBUG_PAGEALLOC, which is how Alexey Dobriyan saw this problem)\n\nSigned-off-by: Evgeniy Dushistov \u003cdushistov@mail.ru\u003e\nAcked-by: Alexey Dobriyan \u003cadobriyan@gmail.com\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    }
  ],
  "next": "16f7e0fe2ecc30f30652e8185e1772cdebe39109"
}
