)]}'
{
  "log": [
    {
      "commit": "782e3b3b3804c38d5130c7f21d7ec7bf6709023f",
      "tree": "54e790dfd52f0451189fa1591dc97bc5ff5f5866",
      "parents": [
        "cbd09dbbb62096c1da627eca865f988d2ed0a84e"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@ftp.linux.org.uk",
        "time": "Fri Oct 12 07:17:47 2007 +0100"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Fri Oct 12 00:29:50 2007 -0700"
      },
      "message": "Fix up more bio fallout\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "6712ecf8f648118c3363c142196418f89a510b90",
      "tree": "347d39a7d5a7ed96d3b1afecd28de2a0f98b98c9",
      "parents": [
        "5bb23a688b2de23d7765a1dd439d89c038378978"
      ],
      "author": {
        "name": "NeilBrown",
        "email": "neilb@suse.de",
        "time": "Thu Sep 27 12:47:43 2007 +0200"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "axboe@carl.home.kernel.dk",
        "time": "Wed Oct 10 09:25:57 2007 +0200"
      },
      "message": "Drop \u0027size\u0027 argument from bio_endio and bi_end_io\n\nAs bi_end_io is only called once when the reqeust is complete,\nthe \u0027size\u0027 argument is now redundant.  Remove it.\n\nNow there is no need for bio_endio to subtract the size completed\nfrom bi_size.  So don\u0027t do that either.\n\nWhile we are at it, change bi_end_io to return void.\n\nSigned-off-by: Neil Brown \u003cneilb@suse.de\u003e\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\n"
    },
    {
      "commit": "564256c9e06d75e16d894a2cd30604bd6582cbba",
      "tree": "ef5505f335d401862893dd6a1bbca3e6dc3eaa88",
      "parents": [
        "a64314e62d89562b6fc77593648bec3acc35bf61"
      ],
      "author": {
        "name": "Tim Shimmin",
        "email": "tes@chook.melbourne.sgi.com",
        "time": "Mon Oct 01 16:39:37 2007 +1000"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Mon Oct 01 07:59:03 2007 -0700"
      },
      "message": "Revert \"[XFS] Avoid replaying inode buffer initialisation log items if on-disk version is newer.\"\n\nThis reverts commit b394e43e995d08821588a22561c6a71a63b4ff27.\n\nLachlan McIlroy says:\n    It tried to fix an issue where log replay is replaying an inode cluster\n    initialisation transaction that should not be replayed because the inode\n    cluster on disk is more up to date.  Since we don\u0027t log file sizes (we\n    rely on inode flushing to get them to disk) then we can\u0027t just replay\n    all the transations in the log and expect the inode to be completely\n    restored.  We lose file size updates.  Unfortunately this fix is causing\n    more (serious) problems than it is fixing.\n\nSGI-PV: 969656\nSGI-Modid: xfs-linux-melb:xfs-kern:29804a\n\nSigned-off-by: Lachlan McIlroy \u003clachlan@sgi.com\u003e\nSigned-off-by: Tim Shimmin \u003ctes@sgi.com\u003e\n"
    },
    {
      "commit": "1bc5858d0d40e07697b5eda47ed8628b8a934235",
      "tree": "e393b4f69b21d1d074a5ba5142f06ffa727079eb",
      "parents": [
        "bcc7b445eff295664a3a3ab14e742b3c9d88e6e3"
      ],
      "author": {
        "name": "Christoph Hellwig",
        "email": "hch@infradead.org",
        "time": "Wed Sep 19 15:27:30 2007 +1000"
      },
      "committer": {
        "name": "Tim Shimmin",
        "email": "tes@chook.melbourne.sgi.com",
        "time": "Thu Sep 20 19:40:40 2007 +1000"
      },
      "message": "[XFS] fix valid but harmless sparse warning\n\nThe new xlog_recover_do_reg_buffer checks call be16_to_cpu on di_gen which\nis a 32bit value so sparse rightly complains. Fortunately the warning is\nharmless because we don\u0027t care for the value, but only whether it\u0027s\nnon-NULL. Due to that fact we can simply kill the endian swaps on this and\nthe previous di_mode check entirely.\n\nSGI-PV: 969656\nSGI-Modid: xfs-linux-melb:xfs-kern:29709a\n\nSigned-off-by: Christoph Hellwig \u003chch@infradead.org\u003e\nSigned-off-by: Lachlan McIlroy \u003clachlan@sgi.com\u003e\nSigned-off-by: Tim Shimmin \u003ctes@sgi.com\u003e\n"
    },
    {
      "commit": "bcc7b445eff295664a3a3ab14e742b3c9d88e6e3",
      "tree": "c01cd93a01607b2fd3e05ba177e54f135607ea0f",
      "parents": [
        "b394e43e995d08821588a22561c6a71a63b4ff27"
      ],
      "author": {
        "name": "Eric Sandeen",
        "email": "sandeen@sandeen.net",
        "time": "Thu Aug 30 17:21:38 2007 +1000"
      },
      "committer": {
        "name": "Tim Shimmin",
        "email": "tes@chook.melbourne.sgi.com",
        "time": "Thu Sep 20 19:40:19 2007 +1000"
      },
      "message": "[XFS] fix filestreams on 32-bit boxes\n\nxfs_filestream_mount() sets up an mru cache with:\n  err \u003d xfs_mru_cache_create(\u0026mp-\u003em_filestream, lifetime, grp_count,\n  (xfs_mru_cache_free_func_t)xfs_fstrm_free_func);\nbut that cast is causing problems...\n  typedef void (*xfs_mru_cache_free_func_t)(unsigned long, void*);\nbut:\n  void xfs_fstrm_free_func( xfs_ino_t ino, fstrm_item_t *item)\nso on a 32-bit box, it\u0027s casting (32, 32) args into (64, 32) and I assume\nit\u0027s getting garbage for *item, which subsequently causes an explosion.\nWith this change the filestreams xfsqa tests don\u0027t oops on my 32-bit box.\n\nSGI-PV: 967795\nSGI-Modid: xfs-linux-melb:xfs-kern:29510a\n\nSigned-off-by: Eric Sandeen \u003csandeen@sandeen.net\u003e\nSigned-off-by: David Chinner \u003cdgc@sgi.com\u003e\nSigned-off-by: Tim Shimmin \u003ctes@sgi.com\u003e\n"
    },
    {
      "commit": "b394e43e995d08821588a22561c6a71a63b4ff27",
      "tree": "42c0c50be4ac6306b4dd12134035957a9c119488",
      "parents": [
        "776a75fa5cfb8f3602d3ca9d221dc34497133f4b"
      ],
      "author": {
        "name": "Lachlan McIlroy",
        "email": "lachlan@sgi.com",
        "time": "Fri Sep 14 15:23:04 2007 +1000"
      },
      "committer": {
        "name": "Tim Shimmin",
        "email": "tes@chook.melbourne.sgi.com",
        "time": "Tue Sep 18 20:16:00 2007 +1000"
      },
      "message": "[XFS] Avoid replaying inode buffer initialisation log items if on-disk version is newer.\n\nSGI-PV: 969656\nSGI-Modid: xfs-linux-melb:xfs-kern:29676a\n\nSigned-off-by: Lachlan McIlroy \u003clachlan@sgi.com\u003e\nSigned-off-by: David Chinner \u003cdgc@sgi.com\u003e\nSigned-off-by: Tim Shimmin \u003ctes@sgi.com\u003e\n"
    },
    {
      "commit": "776a75fa5cfb8f3602d3ca9d221dc34497133f4b",
      "tree": "760e34fa2e426e740cd50deab16ca80f9a3e483b",
      "parents": [
        "65de5567564e70edd01b6d4e95e548d7ba284872"
      ],
      "author": {
        "name": "Lachlan McIlroy",
        "email": "lachlan@sgi.com",
        "time": "Fri Sep 14 15:22:50 2007 +1000"
      },
      "committer": {
        "name": "Tim Shimmin",
        "email": "tes@chook.melbourne.sgi.com",
        "time": "Tue Sep 18 20:12:51 2007 +1000"
      },
      "message": "[XFS] Ensure file size updates have been completed before writing inode to disk.\n\nSGI-PV: 968767\nSGI-Modid: xfs-linux-melb:xfs-kern:29675a\n\nSigned-off-by: Lachlan McIlroy \u003clachlan@sgi.com\u003e\nSigned-off-by: David Chinner \u003cdgc@sgi.com\u003e\nSigned-off-by: Tim Shimmin \u003ctes@sgi.com\u003e\n"
    },
    {
      "commit": "65de5567564e70edd01b6d4e95e548d7ba284872",
      "tree": "977aef83761c4ef87d95f1e192bc1ae9c7cbdeac",
      "parents": [
        "c2f828977ba5d17c13debba374ea252d18e5ccfb"
      ],
      "author": {
        "name": "David Chinner",
        "email": "dgc@sgi.com",
        "time": "Thu Aug 16 15:21:11 2007 +1000"
      },
      "committer": {
        "name": "Tim Shimmin",
        "email": "tes@chook.melbourne.sgi.com",
        "time": "Mon Sep 17 16:42:02 2007 +1000"
      },
      "message": "[XFS] On-demand reaping of the MRU cache\n\nInstead of running the mru cache reaper all the time based on a timeout,\nwe should only run it when the cache has active objects. This allows CPUs\nto sleep when there is no activity rather than be woken repeatedly just to\ncheck if there is anything to do.\n\nSGI-PV: 968554\nSGI-Modid: xfs-linux-melb:xfs-kern:29305a\n\nSigned-off-by: David Chinner \u003cdgc@sgi.com\u003e\nSigned-off-by: Donald Douwsma \u003cdonaldd@sgi.com\u003e\nSigned-off-by: Tim Shimmin \u003ctes@sgi.com\u003e\n"
    },
    {
      "commit": "5995cb7d805496362e5af73235145667096fbc6f",
      "tree": "2d0817c1a3d1ba6487699e02878c0c029b9fc89f",
      "parents": [
        "265c1fac38e37e828df09965406e9cc20bfa3588"
      ],
      "author": {
        "name": "Eric Sandeen",
        "email": "sandeen@sandeen.net",
        "time": "Thu Aug 16 16:49:11 2007 +1000"
      },
      "committer": {
        "name": "Tim Shimmin",
        "email": "tes@chook.melbourne.sgi.com",
        "time": "Wed Sep 05 14:51:04 2007 +1000"
      },
      "message": "[XFS] fix nasty quota hashtable allocation bug\n\nThis git mod: 77e4635ae191774526ed695482a151ac986f3806\nconverted to a \"greedy\" allocation interface, but for the quota hashtables\nit switched from allocating XFS_QM_HASHSIZE (nr of elements)\nxfs_dqhash_t\u0027s to allocating only XFS_QM_HASHSIZE *bytes* - quite a lot\nsmaller! Then when we converted hsize \"back\" to nr of elements (the\ndivision line) hsize went to 0. This was leading to oopses when running\nany quota tests on the Fedora 8 test kernel, but the problem has been\nthere for almost a year.\n\nSGI-PV: 968837\nSGI-Modid: xfs-linux-melb:xfs-kern:29354a\n\nSigned-off-by: Eric Sandeen \u003csandeen@sandeen.net\u003e\nSigned-off-by: David Chinner \u003cdgc@sgi.com\u003e\nSigned-off-by: Tim Shimmin \u003ctes@sgi.com\u003e\n"
    },
    {
      "commit": "265c1fac38e37e828df09965406e9cc20bfa3588",
      "tree": "6f977c9c373bf17ccb7cf79e040cdb9980e526c7",
      "parents": [
        "ee5c80239d5f152d99f69165afbd115518353563"
      ],
      "author": {
        "name": "Christoph Hellwig",
        "email": "hch@infradead.org",
        "time": "Thu Aug 16 15:38:19 2007 +1000"
      },
      "committer": {
        "name": "Tim Shimmin",
        "email": "tes@chook.melbourne.sgi.com",
        "time": "Wed Sep 05 14:50:26 2007 +1000"
      },
      "message": "[XFS] fix sparse shadowed variable warnings\n\n- in xfs_probe_cluster rename the inner len to pg_len. There\u0027s no harm\n  here because the outer len isn\u0027t used after the inner len comes into\n  existence but it keeps the code clean.\n- in xfs_da_do_buf remove the inner i because they don\u0027t overlap\n  and they are both the same type.\n\nSGI-PV: 968555\nSGI-Modid: xfs-linux-melb:xfs-kern:29311a\n\nSigned-off-by: Christoph Hellwig \u003chch@infradead.org\u003e\nSigned-off-by: David Chinner \u003cdgc@sgi.com\u003e\nSigned-off-by: Tim Shimmin \u003ctes@sgi.com\u003e\n"
    },
    {
      "commit": "ee5c80239d5f152d99f69165afbd115518353563",
      "tree": "2ea198960e12fe010b18ce9b52645c7865ec1082",
      "parents": [
        "34521c5e4971d01f6ef650fdee59e07be6c2c5e3"
      ],
      "author": {
        "name": "Christoph Hellwig",
        "email": "hch@infradead.org",
        "time": "Thu Aug 16 15:38:08 2007 +1000"
      },
      "committer": {
        "name": "Tim Shimmin",
        "email": "tes@chook.melbourne.sgi.com",
        "time": "Wed Sep 05 14:49:30 2007 +1000"
      },
      "message": "[XFS] fix ASSERT and ASSERT_ALWAYS\n\n- remove the !\u003d 0 inside the unlikely in ASSERT_ALWAYS because sparse now\n  complains about comparisons between pointers and 0\n- add a standalone ASSERT implementation because defining it to\n  ASSERT_ALWAYS means the string is expanded before the token passing\n  stringification. This way we get the actual content of the\n  assertion in the assfail message and don\u0027t overflow sparse\u0027s\n  stringification buffer leading to sparse error messages.\n\nSGI-PV: 968555\nSGI-Modid: xfs-linux-melb:xfs-kern:29310a\n\nSigned-off-by: Christoph Hellwig \u003chch@infradead.org\u003e\nSigned-off-by: David Chinner \u003cdgc@sgi.com\u003e\nSigned-off-by: Tim Shimmin \u003ctes@sgi.com\u003e\n"
    },
    {
      "commit": "34521c5e4971d01f6ef650fdee59e07be6c2c5e3",
      "tree": "ff17a5076ff71294c29fe6e6fecc2615214cc153",
      "parents": [
        "4b80916b29170744632356dd2e801f7c374676eb"
      ],
      "author": {
        "name": "Christoph Hellwig",
        "email": "hch@infradead.org",
        "time": "Thu Aug 16 15:37:57 2007 +1000"
      },
      "committer": {
        "name": "Tim Shimmin",
        "email": "tes@chook.melbourne.sgi.com",
        "time": "Wed Sep 05 14:48:00 2007 +1000"
      },
      "message": "[XFS] Fix sparse warning in kmem_shake_allow\n\nWe can\u0027t return a masked result of a __bitwise type. Compare it to 0 first\nto keep the behaviour without the warning.\n\nSGI-PV: 968555\nSGI-Modid: xfs-linux-melb:xfs-kern:29309a\n\nSigned-off-by: Christoph Hellwig \u003chch@infradead.org\u003e\nSigned-off-by: David Chinner \u003cdgc@sgi.com\u003e\nSigned-off-by: Tim Shimmin \u003ctes@sgi.com\u003e\n"
    },
    {
      "commit": "4b80916b29170744632356dd2e801f7c374676eb",
      "tree": "9714752ddfffd543dcd512a7f1920d53d92c1054",
      "parents": [
        "8da22d7a3690818f6d340baa0ea585e71f0c506f"
      ],
      "author": {
        "name": "Christoph Hellwig",
        "email": "hch@infradead.org",
        "time": "Thu Aug 16 15:37:36 2007 +1000"
      },
      "committer": {
        "name": "Tim Shimmin",
        "email": "tes@chook.melbourne.sgi.com",
        "time": "Wed Sep 05 14:47:33 2007 +1000"
      },
      "message": "[XFS] Fix sparse NULL vs 0 warnings\n\nSparse now warns about comparing pointers to 0, so change all instance\nwhere that happens to NULL instead.\n\nSGI-PV: 968555\nSGI-Modid: xfs-linux-melb:xfs-kern:29308a\n\nSigned-off-by: Christoph Hellwig \u003chch@infradead.org\u003e\nSigned-off-by: David Chinner \u003cdgc@sgi.com\u003e\nSigned-off-by: Tim Shimmin \u003ctes@sgi.com\u003e\n"
    },
    {
      "commit": "8da22d7a3690818f6d340baa0ea585e71f0c506f",
      "tree": "7537fec6ed2fca09aa135c1c2e410e8eaee3fa4f",
      "parents": [
        "b21010ed6498391c0f359f2a89c907533fe07fec"
      ],
      "author": {
        "name": "David Chinner",
        "email": "dgc@sgi.com",
        "time": "Thu Aug 16 15:20:56 2007 +1000"
      },
      "committer": {
        "name": "Tim Shimmin",
        "email": "tes@chook.melbourne.sgi.com",
        "time": "Wed Sep 05 14:47:10 2007 +1000"
      },
      "message": "[XFS] Set filestreams object timeout to something sane.\n\nSGI-PV: 968554\nSGI-Modid: xfs-linux-melb:xfs-kern:29303a\n\nSigned-off-by: David Chinner \u003cdgc@sgi.com\u003e\nSigned-off-by: Christoph Hellwig \u003chch@infradead.org\u003e\nSigned-off-by: Tim Shimmin \u003ctes@sgi.com\u003e\n"
    },
    {
      "commit": "ad690ef9e690f6c31f7d310b09ef1314bcec9033",
      "tree": "808c4c62ef881dd2d3ed7a6a546dbf1b2f525ac9",
      "parents": [
        "97f1e7f7d2cd950f90d64ac6920822e709095519"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@ftp.linux.org.uk",
        "time": "Thu Jul 26 17:35:59 2007 +0100"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Thu Jul 26 11:11:57 2007 -0700"
      },
      "message": "xfs ioctl __user annotations\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\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": "fdb64f93b38a3470fa4db8cd5720b8c731922d1a",
      "tree": "3b17370d30a2b580af72b26f37ec7176c9ecdd84",
      "parents": [
        "2d9ce177e68645945e3366cfe2d66ee3c28cd4f2",
        "c32676eea19ce29cb74dba0f97b085e83f6b8915"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Thu Jul 19 14:41:33 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Thu Jul 19 14:41:33 2007 -0700"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://oss.sgi.com:8090/xfs/xfs-2.6\n\n* \u0027for-linus\u0027 of git://oss.sgi.com:8090/xfs/xfs-2.6:\n  [XFS] Fix inode size update before data write in xfs_setattr\n  [XFS] Allow punching holes to free space when at ENOSPC\n  [XFS] Implement -\u003epage_mkwrite in XFS.\n  [FS] Implement block_page_mkwrite.\n\nManually fix up conflict with Nick\u0027s VM fault handling patches in\nfs/xfs/linux-2.6/xfs_file.c\n\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "d0217ac04ca6591841e5665f518e38064f4e65bd",
      "tree": "d3309094bb734d34773f97d642593e298a5cfcfc",
      "parents": [
        "ed2f2f9b3ff8debdf512f7687b232c3c1d7d60d7"
      ],
      "author": {
        "name": "Nick Piggin",
        "email": "npiggin@suse.de",
        "time": "Thu Jul 19 01:47:03 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Thu Jul 19 10:04:41 2007 -0700"
      },
      "message": "mm: fault feedback #1\n\nChange -\u003efault prototype.  We now return an int, which contains\nVM_FAULT_xxx code in the low byte, and FAULT_RET_xxx code in the next byte.\n FAULT_RET_ code tells the VM whether a page was found, whether it has been\nlocked, and potentially other things.  This is not quite the way he wanted\nit yet, but that\u0027s changed in the next patch (which requires changes to\narch code).\n\nThis means we no longer set VM_CAN_INVALIDATE in the vma in order to say\nthat a page is locked which requires filemap_nopage to go away (because we\ncan no longer remain backward compatible without that flag), but we were\ngoing to do that anyway.\n\nstruct fault_data is renamed to struct vm_fault as Linus asked. address\nis now a void __user * that we should firmly encourage drivers not to use\nwithout really good reason.\n\nThe page is now returned via a page pointer in the vm_fault struct.\n\nSigned-off-by: Nick Piggin \u003cnpiggin@suse.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "54cb8821de07f2ffcd28c380ce9b93d5784b40d7",
      "tree": "1de676534963d96af42863b20191bc9f80060dea",
      "parents": [
        "d00806b183152af6d24f46f0c33f14162ca1262a"
      ],
      "author": {
        "name": "Nick Piggin",
        "email": "npiggin@suse.de",
        "time": "Thu Jul 19 01:46:59 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Thu Jul 19 10:04:41 2007 -0700"
      },
      "message": "mm: merge populate and nopage into fault (fixes nonlinear)\n\nNonlinear mappings are (AFAIKS) simply a virtual memory concept that encodes\nthe virtual address -\u003e file offset differently from linear mappings.\n\n-\u003epopulate is a layering violation because the filesystem/pagecache code\nshould need to know anything about the virtual memory mapping.  The hitch here\nis that the -\u003enopage handler didn\u0027t pass down enough information (ie.  pgoff).\n But it is more logical to pass pgoff rather than have the -\u003enopage function\ncalculate it itself anyway (because that\u0027s a similar layering violation).\n\nHaving the populate handler install the pte itself is likewise a nasty thing\nto be doing.\n\nThis patch introduces a new fault handler that replaces -\u003enopage and\n-\u003epopulate and (later) -\u003enopfn.  Most of the old mechanism is still in place\nso there is a lot of duplication and nice cleanups that can be removed if\neveryone switches over.\n\nThe rationale for doing this in the first place is that nonlinear mappings are\nsubject to the pagefault vs invalidate/truncate race too, and it seemed stupid\nto duplicate the synchronisation logic rather than just consolidate the two.\n\nAfter this patch, MAP_NONBLOCK no longer sets up ptes for pages present in\npagecache.  Seems like a fringe functionality anyway.\n\nNOPAGE_REFAULT is removed.  This should be implemented with -\u003efault, and no\nusers have hit mainline yet.\n\n[akpm@linux-foundation.org: cleanup]\n[randy.dunlap@oracle.com: doc. fixes for readahead]\n[akpm@linux-foundation.org: build fix]\nSigned-off-by: Nick Piggin \u003cnpiggin@suse.de\u003e\nSigned-off-by: Randy Dunlap \u003crandy.dunlap@oracle.com\u003e\nCc: Mark Fasheh \u003cmark.fasheh@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": "d00806b183152af6d24f46f0c33f14162ca1262a",
      "tree": "36f829cf13d5410374a3f00b56ec0b1f8dc3ce3c",
      "parents": [
        "589f1e81bde732dd0b1bc5d01b6bddd4bcb4527b"
      ],
      "author": {
        "name": "Nick Piggin",
        "email": "npiggin@suse.de",
        "time": "Thu Jul 19 01:46:57 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Thu Jul 19 10:04:41 2007 -0700"
      },
      "message": "mm: fix fault vs invalidate race for linear mappings\n\nFix the race between invalidate_inode_pages and do_no_page.\n\nAndrea Arcangeli identified a subtle race between invalidation of pages from\npagecache with userspace mappings, and do_no_page.\n\nThe issue is that invalidation has to shoot down all mappings to the page,\nbefore it can be discarded from the pagecache.  Between shooting down ptes to\na particular page, and actually dropping the struct page from the pagecache,\ndo_no_page from any process might fault on that page and establish a new\nmapping to the page just before it gets discarded from the pagecache.\n\nThe most common case where such invalidation is used is in file truncation.\nThis case was catered for by doing a sort of open-coded seqlock between the\nfile\u0027s i_size, and its truncate_count.\n\nTruncation will decrease i_size, then increment truncate_count before\nunmapping userspace pages; do_no_page will read truncate_count, then find the\npage if it is within i_size, and then check truncate_count under the page\ntable lock and back out and retry if it had subsequently been changed (ptl\nwill serialise against unmapping, and ensure a potentially updated\ntruncate_count is actually visible).\n\nComplexity and documentation issues aside, the locking protocol fails in the\ncase where we would like to invalidate pagecache inside i_size.  do_no_page\ncan come in anytime and filemap_nopage is not aware of the invalidation in\nprogress (as it is when it is outside i_size).  The end result is that\ndangling (-\u003emapping \u003d\u003d NULL) pages that appear to be from a particular file\nmay be mapped into userspace with nonsense data.  Valid mappings to the same\nplace will see a different page.\n\nAndrea implemented two working fixes, one using a real seqlock, another using\na page-\u003eflags bit.  He also proposed using the page lock in do_no_page, but\nthat was initially considered too heavyweight.  However, it is not a global or\nper-file lock, and the page cacheline is modified in do_no_page to increment\n_count and _mapcount anyway, so a further modification should not be a large\nperformance hit.  Scalability is not an issue.\n\nThis patch implements this latter approach.  -\u003enopage implementations return\nwith the page locked if it is possible for their underlying file to be\ninvalidated (in that case, they must set a special vm_flags bit to indicate\nso).  do_no_page only unlocks the page after setting up the mapping\ncompletely.  invalidation is excluded because it holds the page lock during\ninvalidation of each page (and ensures that the page is not mapped while\nholding the lock).\n\nThis also allows significant simplifications in do_no_page, because we have\nthe page locked in the right place in the pagecache from the start.\n\nSigned-off-by: Nick Piggin \u003cnpiggin@suse.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "c32676eea19ce29cb74dba0f97b085e83f6b8915",
      "tree": "5eddf206e10b0b1857c899fd9939c517aa758359",
      "parents": [
        "91ebecc74eeeeea0a2aa50bf1964ec2214a229c9"
      ],
      "author": {
        "name": "David Chinner",
        "email": "dgc@sgi.com",
        "time": "Thu Jul 19 16:28:58 2007 +1000"
      },
      "committer": {
        "name": "Tim Shimmin",
        "email": "tes@chook.melbourne.sgi.com",
        "time": "Thu Jul 19 19:52:05 2007 +1000"
      },
      "message": "[XFS] Fix inode size update before data write in xfs_setattr\n\nWhen changing the file size by a truncate() call, we log the change in the\ninode size. However, we do not flush any outstanding data that might not\nhave been written to disk, thereby violating the data/inode size update\norder. This can leave files full of NULLs on crash.\n\nHence if we are truncating the file, flush any unwritten data that may lie\nbetween the curret on disk inode size and the new inode size that is being\nlogged to ensure that ordering is preserved.\n\nSGI-PV: 966308\nSGI-Modid: xfs-linux-melb:xfs-kern:29174a\n\nSigned-off-by: David Chinner \u003cdgc@sgi.com\u003e\nSigned-off-by: Christoph Hellwig \u003chch@infradead.org\u003e\nSigned-off-by: Tim Shimmin \u003ctes@sgi.com\u003e\n"
    },
    {
      "commit": "91ebecc74eeeeea0a2aa50bf1964ec2214a229c9",
      "tree": "a81a48c59c46c7fedce5532afb6fd2ce648201dd",
      "parents": [
        "4f57dbc6b5bae5a3978d429f45ac597ca7a3b8c6"
      ],
      "author": {
        "name": "David Chinner",
        "email": "dgc@sgi.com",
        "time": "Thu Jul 19 16:28:30 2007 +1000"
      },
      "committer": {
        "name": "Tim Shimmin",
        "email": "tes@chook.melbourne.sgi.com",
        "time": "Thu Jul 19 19:51:46 2007 +1000"
      },
      "message": "[XFS] Allow punching holes to free space when at ENOSPC\n\nMake the free file space transaction able to dip into the reserved blocks\nto ensure that we can successfully free blocks when the filesystem is at\nENOSPC.\n\nSGI-PV: 967788\nSGI-Modid: xfs-linux-melb:xfs-kern:29167a\n\nSigned-off-by: David Chinner \u003cdgc@sgi.com\u003e\nSigned-off-by: Vlad Apostolov \u003cvapo@sgi.com\u003e\nSigned-off-by: Tim Shimmin \u003ctes@sgi.com\u003e\n"
    },
    {
      "commit": "4f57dbc6b5bae5a3978d429f45ac597ca7a3b8c6",
      "tree": "58abc5d0f67b9ceaa7913dda1d7b23fc308adbe6",
      "parents": [
        "5417169026c3df151adf5a65eb061278b0a72e69"
      ],
      "author": {
        "name": "David Chinner",
        "email": "dgc@sgi.com",
        "time": "Thu Jul 19 16:28:17 2007 +1000"
      },
      "committer": {
        "name": "Tim Shimmin",
        "email": "tes@chook.melbourne.sgi.com",
        "time": "Thu Jul 19 19:51:21 2007 +1000"
      },
      "message": "[XFS] Implement -\u003epage_mkwrite in XFS.\n\nHook XFS up to -\u003epage_mkwrite to ensure that we know about mmap pages\nbeing written to. This allows use to do correct delayed allocation and\nENOSPC checking as well as remap unwritten extents so that they get\nconverted correctly during writeback. This is done via the generic\nblock_page_mkwrite code.\n\nSGI-PV: 940392\nSGI-Modid: xfs-linux-melb:xfs-kern:29149a\n\nSigned-off-by: David Chinner \u003cdgc@sgi.com\u003e\nSigned-off-by: Christoph Hellwig \u003chch@infradead.org\u003e\nSigned-off-by: Tim Shimmin \u003ctes@sgi.com\u003e\n"
    },
    {
      "commit": "a569425512253992cc64ebf8b6d00a62f986db3e",
      "tree": "7ea72c75c54697bddbad807af89cc549d7426a69",
      "parents": [
        "6dd4ac3b30b81b5bd0d628af1c89b7da689a38ea"
      ],
      "author": {
        "name": "Christoph Hellwig",
        "email": "hch@infradead.org",
        "time": "Tue Jul 17 04:04:28 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Tue Jul 17 10:23:06 2007 -0700"
      },
      "message": "knfsd: exportfs: add exportfs.h header\n\ncurrently the export_operation structure and helpers related to it are in\nfs.h.  fs.h is already far too large and there are very few places needing the\nexport bits, so split them off into a separate header.\n\n[akpm@linux-foundation.org: fix cifs build]\nSigned-off-by: Christoph Hellwig \u003chch@lst.de\u003e\nSigned-off-by: Neil Brown \u003cneilb@suse.de\u003e\nCc: Steven French \u003csfrench@us.ibm.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "831441862956fffa17b9801db37e6ea1650b0f69",
      "tree": "b0334921341f8f1734bdd3243de76d676329d21c",
      "parents": [
        "787d2214c19bcc9b6ac48af0ce098277a801eded"
      ],
      "author": {
        "name": "Rafael J. Wysocki",
        "email": "rjw@sisk.pl",
        "time": "Tue Jul 17 04:03:35 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Tue Jul 17 10:23:02 2007 -0700"
      },
      "message": "Freezer: make kernel threads nonfreezable by default\n\nCurrently, the freezer treats all tasks as freezable, except for the kernel\nthreads that explicitly set the PF_NOFREEZE flag for themselves.  This\napproach is problematic, since it requires every kernel thread to either\nset PF_NOFREEZE explicitly, or call try_to_freeze(), even if it doesn\u0027t\ncare for the freezing of tasks at all.\n\nIt seems better to only require the kernel threads that want to or need to\nbe frozen to use some freezer-related code and to remove any\nfreezer-related code from the other (nonfreezable) kernel threads, which is\ndone in this patch.\n\nThe patch causes all kernel threads to be nonfreezable by default (ie.  to\nhave PF_NOFREEZE set by default) and introduces the set_freezable()\nfunction that should be called by the freezable kernel threads in order to\nunset PF_NOFREEZE.  It also makes all of the currently freezable kernel\nthreads call set_freezable(), so it shouldn\u0027t cause any (intentional)\nchange of behaviour to appear.  Additionally, it updates documentation to\ndescribe the freezing of tasks more accurately.\n\n[akpm@linux-foundation.org: build fixes]\nSigned-off-by: Rafael J. Wysocki \u003crjw@sisk.pl\u003e\nAcked-by: Nigel Cunningham \u003cnigel@nigel.suspend2.net\u003e\nCc: Pavel Machek \u003cpavel@ucw.cz\u003e\nCc: Oleg Nesterov \u003coleg@tv-sign.ru\u003e\nCc: Gautham R Shenoy \u003cego@in.ibm.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "8e1f936b73150f5095448a0fee6d4f30a1f9001d",
      "tree": "0996203e35c629e2ec243d128c7bd91ecd74d24a",
      "parents": [
        "5ad333eb66ff1e52a87639822ae088577669dcf9"
      ],
      "author": {
        "name": "Rusty Russell",
        "email": "rusty@rustcorp.com.au",
        "time": "Tue Jul 17 04:03:17 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Tue Jul 17 10:23:00 2007 -0700"
      },
      "message": "mm: clean up and kernelify shrinker registration\n\nI can never remember what the function to register to receive VM pressure\nis called.  I have to trace down from __alloc_pages() to find it.\n\nIt\u0027s called \"set_shrinker()\", and it needs Your Help.\n\n1) Don\u0027t hide struct shrinker.  It contains no magic.\n2) Don\u0027t allocate \"struct shrinker\".  It\u0027s not helpful.\n3) Call them \"register_shrinker\" and \"unregister_shrinker\".\n4) Call the function \"shrink\" not \"shrinker\".\n5) Reduce the 17 lines of waffly comments to 13, but document it properly.\n\nSigned-off-by: Rusty Russell \u003crusty@rustcorp.com.au\u003e\nCc: David Chinner \u003cdgc@sgi.com\u003e\nCc: Trond Myklebust \u003ctrond.myklebust@fys.uio.no\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "0f1145cc18e970ebe37da114fc34c297f135e062",
      "tree": "eb6c8b1b1a53d24eed981910422f0ec3066333fe",
      "parents": [
        "d7f0923d83dcabfc063257a281529cdbcd5eedb5"
      ],
      "author": {
        "name": "David Chinner",
        "email": "dgc@sgi.com",
        "time": "Fri Jun 29 17:26:09 2007 +1000"
      },
      "committer": {
        "name": "Tim Shimmin",
        "email": "tes@chook.melbourne.sgi.com",
        "time": "Sat Jul 14 18:09:42 2007 +1000"
      },
      "message": "[XFS] Fix lockdep annotations for xfs_lock_inodes\n\nSGI-PV: 967035\nSGI-Modid: xfs-linux-melb:xfs-kern:29026a\n\nSigned-off-by: David Chinner \u003cdgc@sgi.com\u003e\nSigned-off-by: Tim Shimmin \u003ctes@sgi.com\u003e\n"
    },
    {
      "commit": "faa63e9584df41020440756b8b90b7b63f95e4f6",
      "tree": "9b0369a028d682e36ab91396bcebb1ecfb298e29",
      "parents": [
        "1fa503df66f7bffc0ff62662626897eec79446c2"
      ],
      "author": {
        "name": "Michal Marek",
        "email": "mmarek@suse.cz",
        "time": "Wed Jul 11 11:10:19 2007 +1000"
      },
      "committer": {
        "name": "Tim Shimmin",
        "email": "tes@chook.melbourne.sgi.com",
        "time": "Sat Jul 14 15:42:50 2007 +1000"
      },
      "message": "[XFS] Fix XFS_IOC_FSBULKSTAT{,_SINGLE} \u0026 XFS_IOC_FSINUMBERS in compat mode\n\n* 32bit struct xfs_fsop_bulkreq has different size and layout of\nmembers, no matter the alignment. Move the code out of the #else\nbranch (why was it there in the first place?). Define _32 variants of\nthe ioctl constants.\n* 32bit struct xfs_bstat is different because of time_t and on\ni386 because of different padding. Make xfs_bulkstat_one() accept a\ncustom \"output formatter\" in the private_data argument which takes care\nof the xfs_bulkstat_one_compat() that takes care of the different\nlayout in the compat case.\n* i386 struct xfs_inogrp has different padding.\nAdd a similar \"output formatter\" mecanism to xfs_inumbers().\n\nSGI-PV: 967354\nSGI-Modid: xfs-linux-melb:xfs-kern:29102a\n\nSigned-off-by: Michal Marek \u003cmmarek@suse.cz\u003e\nSigned-off-by: David Chinner \u003cdgc@sgi.com\u003e\nSigned-off-by: Tim Shimmin \u003ctes@sgi.com\u003e\n"
    },
    {
      "commit": "1fa503df66f7bffc0ff62662626897eec79446c2",
      "tree": "c9aa19af1b3268c8d6c3e4361b7f0951decbfd3a",
      "parents": [
        "547e00c3c681265b1fe5e34c7643f3ddac748ba0"
      ],
      "author": {
        "name": "Michal Marek",
        "email": "mmarek@suse.cz",
        "time": "Wed Jul 11 11:10:09 2007 +1000"
      },
      "committer": {
        "name": "Tim Shimmin",
        "email": "tes@chook.melbourne.sgi.com",
        "time": "Sat Jul 14 15:41:49 2007 +1000"
      },
      "message": "[XFS] Compat ioctl handler for handle operations\n\n32bit struct xfs_fsop_handlereq has different size and offsets (due to\npointers). TODO: case XFS_IOC_{FSSETDM,ATTRLIST,ATTRMULTI}_BY_HANDLE still\nnot handled.\n\nSGI-PV: 967354\nSGI-Modid: xfs-linux-melb:xfs-kern:29101a\n\nSigned-off-by: Michal Marek \u003cmmarek@suse.cz\u003e\nSigned-off-by: David Chinner \u003cdgc@sgi.com\u003e\nSigned-off-by: Tim Shimmin \u003ctes@sgi.com\u003e\n"
    },
    {
      "commit": "547e00c3c681265b1fe5e34c7643f3ddac748ba0",
      "tree": "fa72774cb123ad45230399d508aa11e80cbbd770",
      "parents": [
        "3a59c94c4b48878c6af047cdfc8c137d0fa7a0f0"
      ],
      "author": {
        "name": "Michal Marek",
        "email": "mmarek@suse.cz",
        "time": "Wed Jul 11 11:09:57 2007 +1000"
      },
      "committer": {
        "name": "Tim Shimmin",
        "email": "tes@chook.melbourne.sgi.com",
        "time": "Sat Jul 14 15:41:39 2007 +1000"
      },
      "message": "[XFS] Compat ioctl handler for XFS_IOC_FSGEOMETRY_V1.\n\ni386 struct xfs_fsop_geom_v1 has no padding after the last member, so the\nsize is different.\n\nSGI-PV: 967354\nSGI-Modid: xfs-linux-melb:xfs-kern:29100a\n\nSigned-off-by: Michal Marek \u003cmmarek@suse.cz\u003e\nSigned-off-by: David Chinner \u003cdgc@sgi.com\u003e\nSigned-off-by: Tim Shimmin \u003ctes@sgi.com\u003e\n"
    },
    {
      "commit": "3a59c94c4b48878c6af047cdfc8c137d0fa7a0f0",
      "tree": "6945590171040dfa6eba6335fd8312a9fbf0baf1",
      "parents": [
        "b11f94d537e6b69f13770143fd7ded3d09fdbaab"
      ],
      "author": {
        "name": "Eric Sandeen",
        "email": "sandeen@sandeen.net",
        "time": "Wed Jul 11 11:09:47 2007 +1000"
      },
      "committer": {
        "name": "Tim Shimmin",
        "email": "tes@chook.melbourne.sgi.com",
        "time": "Sat Jul 14 15:41:24 2007 +1000"
      },
      "message": "[XFS] Clean up function name handling in tracing code\n\nRemove the hardcoded \"fnames\" for tracing, and just embed them in tracing\nmacros via __FUNCTION__. Kills a lot of #ifdefs too.\n\nSGI-PV: 967353\nSGI-Modid: xfs-linux-melb:xfs-kern:29099a\n\nSigned-off-by: Eric Sandeen \u003csandeen@sandeen.net\u003e\nSigned-off-by: David Chinner \u003cdgc@sgi.com\u003e\nSigned-off-by: Tim Shimmin \u003ctes@sgi.com\u003e\n"
    },
    {
      "commit": "b11f94d537e6b69f13770143fd7ded3d09fdbaab",
      "tree": "f0c485c71824285e23e7c4fe1835be6b82ba7183",
      "parents": [
        "2a82b8be8a8dacb48cb7371449a7a9daa558b4a8"
      ],
      "author": {
        "name": "David Chinner",
        "email": "dgc@sgi.com",
        "time": "Wed Jul 11 11:09:33 2007 +1000"
      },
      "committer": {
        "name": "Tim Shimmin",
        "email": "tes@chook.melbourne.sgi.com",
        "time": "Sat Jul 14 15:41:12 2007 +1000"
      },
      "message": "[XFS] Quota inode has no parent.\n\nAvoid using a special \"zero inode\" as the parent of the quota inode as\nthis can confuse the filestreams code into thinking the quota inode has a\nparent. We do not want the quota inode to follow filestreams allocation\nrules, so pass a NULL as the parent inode and detect this condition when\ndoing stream associations.\n\nSGI-PV: 964469\nSGI-Modid: xfs-linux-melb:xfs-kern:29098a\n\nSigned-off-by: David Chinner \u003cdgc@sgi.com\u003e\nSigned-off-by: Tim Shimmin \u003ctes@sgi.com\u003e\n"
    },
    {
      "commit": "2a82b8be8a8dacb48cb7371449a7a9daa558b4a8",
      "tree": "44e6a81dd0e7d7dc634e04b9230b5262a254c5ee",
      "parents": [
        "0892ccd6fe13e08ad9e57007afbb78fe02d66005"
      ],
      "author": {
        "name": "David Chinner",
        "email": "dgc@sgi.com",
        "time": "Wed Jul 11 11:09:12 2007 +1000"
      },
      "committer": {
        "name": "Tim Shimmin",
        "email": "tes@chook.melbourne.sgi.com",
        "time": "Sat Jul 14 15:40:53 2007 +1000"
      },
      "message": "[XFS] Concurrent Multi-File Data Streams\n\nIn media spaces, video is often stored in a frame-per-file format. When\ndealing with uncompressed realtime HD video streams in this format, it is\ncrucial that files do not get fragmented and that multiple files a placed\ncontiguously on disk.\n\nWhen multiple streams are being ingested and played out at the same time,\nit is critical that the filesystem does not cross the streams and\ninterleave them together as this creates seek and readahead cache miss\nlatency and prevents both ingest and playout from meeting frame rate\ntargets.\n\nThis patch set creates a \"stream of files\" concept into the allocator to\nplace all the data from a single stream contiguously on disk so that RAID\narray readahead can be used effectively. Each additional stream gets\nplaced in different allocation groups within the filesystem, thereby\nensuring that we don\u0027t cross any streams. When an AG fills up, we select a\nnew AG for the stream that is not in use.\n\nThe core of the functionality is the stream tracking - each inode that we\ncreate in a directory needs to be associated with the directories\u0027 stream.\nHence every time we create a file, we look up the directories\u0027 stream\nobject and associate the new file with that object.\n\nOnce we have a stream object for a file, we use the AG that the stream\nobject point to for allocations. If we can\u0027t allocate in that AG (e.g. it\nis full) we move the entire stream to another AG. Other inodes in the same\nstream are moved to the new AG on their next allocation (i.e. lazy\nupdate).\n\nStream objects are kept in a cache and hold a reference on the inode.\nHence the inode cannot be reclaimed while there is an outstanding stream\nreference. This means that on unlink we need to remove the stream\nassociation and we also need to flush all the associations on certain\nevents that want to reclaim all unreferenced inodes (e.g. filesystem\nfreeze).\n\nSGI-PV: 964469\nSGI-Modid: xfs-linux-melb:xfs-kern:29096a\n\nSigned-off-by: David Chinner \u003cdgc@sgi.com\u003e\nSigned-off-by: Barry Naujok \u003cbnaujok@sgi.com\u003e\nSigned-off-by: Donald Douwsma \u003cdonaldd@sgi.com\u003e\nSigned-off-by: Christoph Hellwig \u003chch@infradead.org\u003e\nSigned-off-by: Tim Shimmin \u003ctes@sgi.com\u003e\nSigned-off-by: Vlad Apostolov \u003cvapo@sgi.com\u003e\n"
    },
    {
      "commit": "0892ccd6fe13e08ad9e57007afbb78fe02d66005",
      "tree": "ea9ee48df07cd725e4aa6ecc05fd66aad5b76c8f",
      "parents": [
        "fbf3ce8d8ec508f6bd99b36de034d2ae3e1ae7ac"
      ],
      "author": {
        "name": "Andrew Morton",
        "email": "akpm@linux-foundation.org",
        "time": "Thu Jun 28 16:46:56 2007 +1000"
      },
      "committer": {
        "name": "Tim Shimmin",
        "email": "tes@chook.melbourne.sgi.com",
        "time": "Sat Jul 14 15:40:02 2007 +1000"
      },
      "message": "[XFS] Use uninitialized_var macro to stop warning about rtx\n\nAppease gcc in regards to \"warning: \u0027rtx\u0027 is used uninitialized in\nthis function\".\n\nSGI-PV: 907752\nSGI-Modid: xfs-linux-melb:xfs-kern:29007a\n\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Tim Shimmin \u003ctes@sgi.com\u003e\n"
    },
    {
      "commit": "fbf3ce8d8ec508f6bd99b36de034d2ae3e1ae7ac",
      "tree": "5b10e8948c422b85f7e19da711d2b4d5c9b5e244",
      "parents": [
        "16a087d8e1af9b974125870dceb9e4a35249ad1d"
      ],
      "author": {
        "name": "Christoph Hellwig",
        "email": "hch@infradead.org",
        "time": "Thu Jun 28 16:46:47 2007 +1000"
      },
      "committer": {
        "name": "Tim Shimmin",
        "email": "tes@chook.melbourne.sgi.com",
        "time": "Sat Jul 14 15:37:37 2007 +1000"
      },
      "message": "[XFS] XFS should not be looking at filp reference counts\n\nA check for file_count is always a bad idea. Linux has the -\u003erelease\nmethod to deal with cleanups on last close and -\u003eflush is only for the\nvery rare case where we want to perform an operation on every drop of a\nreference to a file struct.\n\nThis patch gets rid of vop_close and surrounding code in favour of simply\ndoing the page flushing from -\u003erelease.\n\nSGI-PV: 966562\nSGI-Modid: xfs-linux-melb:xfs-kern:28952a\n\nSigned-off-by: Christoph Hellwig \u003chch@infradead.org\u003e\nSigned-off-by: David Chinner \u003cdgc@sgi.com\u003e\nSigned-off-by: Tim Shimmin \u003ctes@sgi.com\u003e\n"
    },
    {
      "commit": "16a087d8e1af9b974125870dceb9e4a35249ad1d",
      "tree": "259314c4fc03782a2792a93bc5fd25cce5277c56",
      "parents": [
        "bbaaf53808c778bda24f8245a440c5ceacc1a37d"
      ],
      "author": {
        "name": "Vignesh Babu",
        "email": "vignesh.babu@wipro.com",
        "time": "Thu Jun 28 16:46:37 2007 +1000"
      },
      "committer": {
        "name": "Tim Shimmin",
        "email": "tes@chook.melbourne.sgi.com",
        "time": "Sat Jul 14 15:37:12 2007 +1000"
      },
      "message": "[XFS] Use is_power_of_2 instead of open coding checks\n\nSGI-PV: 966576\nSGI-Modid: xfs-linux-melb:xfs-kern:28950a\n\nSigned-off-by: Vignesh Babu \u003cvignesh.babu@wipro.com\u003e\nSigned-off-by: David Chinner \u003cdgc@sgi.com\u003e\nSigned-off-by: Tim Shimmin \u003ctes@sgi.com\u003e\n"
    },
    {
      "commit": "bbaaf53808c778bda24f8245a440c5ceacc1a37d",
      "tree": "8539cec4777f2a20681bf46c224907f661923a39",
      "parents": [
        "54aa8e26e90da882b145fcd33ed752431d6b318b"
      ],
      "author": {
        "name": "Christoph Hellwig",
        "email": "hch@infradead.org",
        "time": "Thu Jun 28 16:43:50 2007 +1000"
      },
      "committer": {
        "name": "Tim Shimmin",
        "email": "tes@chook.melbourne.sgi.com",
        "time": "Sat Jul 14 15:37:02 2007 +1000"
      },
      "message": "[XFS] Reduce shouting by removing unnecessary macros from dir2 code.\n\nSGI-PV: 966505\nSGI-Modid: xfs-linux-melb:xfs-kern:28947a\n\nSigned-off-by: Christoph Hellwig \u003chch@infradead.org\u003e\nSigned-off-by: David Chinner \u003cdgc@sgi.com\u003e\nSigned-off-by: Tim Shimmin \u003ctes@sgi.com\u003e\n"
    },
    {
      "commit": "54aa8e26e90da882b145fcd33ed752431d6b318b",
      "tree": "0db6ef3be233bea122b90af9c2db03c3e0a12f39",
      "parents": [
        "24ad33ff714bd117cab30e71e2ad41e4e1185108"
      ],
      "author": {
        "name": "David Chinner",
        "email": "dgc@sgi.com",
        "time": "Thu Jun 28 16:43:39 2007 +1000"
      },
      "committer": {
        "name": "Tim Shimmin",
        "email": "tes@chook.melbourne.sgi.com",
        "time": "Sat Jul 14 15:36:53 2007 +1000"
      },
      "message": "[XFS] Simplify XFS min/max macros.\n\nSGI-PV: 964547\nSGI-Modid: xfs-linux-melb:xfs-kern:28945a\n\nSigned-off-by: David Chinner \u003cdgc@sgi.com\u003e\nSigned-off-by: Nathan Scott \u003cnscott@aconex.com\u003e\nSigned-off-by: Tim Shimmin \u003ctes@sgi.com\u003e\n"
    },
    {
      "commit": "24ad33ff714bd117cab30e71e2ad41e4e1185108",
      "tree": "301cf623394254fcf224bee4cdd13a9c07586d39",
      "parents": [
        "87ae3c2411cfd280e8289e232b718fae9f63950b"
      ],
      "author": {
        "name": "Eric Sandeen",
        "email": "sandeen@sandeen.net",
        "time": "Thu Jun 28 16:43:30 2007 +1000"
      },
      "committer": {
        "name": "Tim Shimmin",
        "email": "tes@chook.melbourne.sgi.com",
        "time": "Sat Jul 14 15:36:43 2007 +1000"
      },
      "message": "[XFS] Kill off xfs_count_bits\n\nxfs_count_bits is only called once, and is then compared to 0. IOW, what\nit really wants to know is, is the bitmap empty. This can be done more\nsimply, certainly.\n\nSGI-PV: 966503\nSGI-Modid: xfs-linux-melb:xfs-kern:28944a\n\nSigned-off-by: Eric Sandeen \u003csandeen@sandeen.net\u003e\nSigned-off-by: David Chinner \u003cdgc@sgi.com\u003e\nSigned-off-by: Tim Shimmin \u003ctes@sgi.com\u003e\n"
    },
    {
      "commit": "87ae3c2411cfd280e8289e232b718fae9f63950b",
      "tree": "2d19a572a2ab205265306e420fbe4ca1b94fc135",
      "parents": [
        "39726be2a2e6e61f352852da2c3a807773e33346"
      ],
      "author": {
        "name": "Jesper Juhl",
        "email": "jesper.juhl@gmail.com",
        "time": "Thu Jun 28 16:43:14 2007 +1000"
      },
      "committer": {
        "name": "Tim Shimmin",
        "email": "tes@chook.melbourne.sgi.com",
        "time": "Sat Jul 14 15:36:17 2007 +1000"
      },
      "message": "[XFS] Cancel transactions on xfs_itruncate_start error.\n\nSGI-PV: 966502\nSGI-Modid: xfs-linux-melb:xfs-kern:28943a\n\nSigned-off-by: Jesper Juhl \u003cjesper.juhl@gmail.com\u003e\nSigned-off-by: David Chinner \u003cdgc@sgi.com\u003e\nSigned-off-by: Tim Shimmin \u003ctes@sgi.com\u003e\n"
    },
    {
      "commit": "39726be2a2e6e61f352852da2c3a807773e33346",
      "tree": "83d73ec037347aee0808a9407b0c9d7c587bd8f8",
      "parents": [
        "516b2e7c2661615ba5d5ad9fb584f068363502d3"
      ],
      "author": {
        "name": "Christoph Hellwig",
        "email": "hch@infradead.org",
        "time": "Mon Jun 18 17:57:45 2007 +1000"
      },
      "committer": {
        "name": "Tim Shimmin",
        "email": "tes@chook.melbourne.sgi.com",
        "time": "Sat Jul 14 15:36:08 2007 +1000"
      },
      "message": "[XFS] Use do_div() on 64 bit types.\n\nSGI-PV: 966145\nSGI-Modid: xfs-linux-melb:xfs-kern:28889a\n\nSigned-off-by: Christoph Hellwig \u003chch@infradead.org\u003e\nSigned-off-by: David Chinner \u003cdgc@sgi.com\u003e\nSigned-off-by: Tim Shimmin \u003ctes@sgi.com\u003e\n"
    },
    {
      "commit": "516b2e7c2661615ba5d5ad9fb584f068363502d3",
      "tree": "984aed9e4dd27cb2acb547dd587525b5e4bf53d9",
      "parents": [
        "957d0ebed04239b734552c7da3fae9094b6f090c"
      ],
      "author": {
        "name": "David Chinner",
        "email": "dgc@sgi.com",
        "time": "Mon Jun 18 16:50:48 2007 +1000"
      },
      "committer": {
        "name": "Tim Shimmin",
        "email": "tes@chook.melbourne.sgi.com",
        "time": "Sat Jul 14 15:35:58 2007 +1000"
      },
      "message": "[XFS] Fix remount,readonly path to flush everything correctly.\n\nThe remount readonly path can fail to writeback properly because we still\nhave active transactions after calling xfs_quiesce_fs(). Further\ninvestigation shows that this path is broken in the same ways that the xfs\nfreeze path was broken so fix it the same way.\n\nSGI-PV: 964464\nSGI-Modid: xfs-linux-melb:xfs-kern:28869a\n\nSigned-off-by: David Chinner \u003cdgc@sgi.com\u003e\nSigned-off-by: Christoph Hellwig \u003chch@infradead.org\u003e\nSigned-off-by: Tim Shimmin \u003ctes@sgi.com\u003e\n"
    },
    {
      "commit": "957d0ebed04239b734552c7da3fae9094b6f090c",
      "tree": "6f5034b22028a03e31771d1a3fa5ad8d59557c09",
      "parents": [
        "84e1e99f112dead8f9ba036c02d24a9f5ce7f544"
      ],
      "author": {
        "name": "David Chinner",
        "email": "dgc@sgi.com",
        "time": "Mon Jun 18 16:50:37 2007 +1000"
      },
      "committer": {
        "name": "Tim Shimmin",
        "email": "tes@chook.melbourne.sgi.com",
        "time": "Sat Jul 14 15:35:36 2007 +1000"
      },
      "message": "[XFS] Cleanup inode extent size hint extraction\n\nSGI-PV: 966004\nSGI-Modid: xfs-linux-melb:xfs-kern:28866a\n\nSigned-off-by: David Chinner \u003cdgc@sgi.com\u003e\nSigned-off-by: Christoph Hellwig \u003chch@infradead.org\u003e\nSigned-off-by: Tim Shimmin \u003ctes@sgi.com\u003e\n"
    },
    {
      "commit": "84e1e99f112dead8f9ba036c02d24a9f5ce7f544",
      "tree": "e903589be98c05b45586908171d795a1a466357d",
      "parents": [
        "641c56fbfeae85d5ec87fee90a752f7b7224f236"
      ],
      "author": {
        "name": "David Chinner",
        "email": "dgc@sgi.com",
        "time": "Mon Jun 18 16:50:27 2007 +1000"
      },
      "committer": {
        "name": "Tim Shimmin",
        "email": "tes@chook.melbourne.sgi.com",
        "time": "Sat Jul 14 15:35:19 2007 +1000"
      },
      "message": "[XFS] Prevent ENOSPC from aborting transactions that need to succeed\n\nDuring delayed allocation extent conversion or unwritten extent\nconversion, we need to reserve some blocks for transactions reservations.\nWe need to reserve these blocks in case a btree split occurs and we need\nto allocate some blocks.\n\nUnfortunately, we\u0027ve only ever reserved the number of data blocks we are\nallocating, so in both the unwritten and delalloc case we can get ENOSPC\nto the transaction reservation. This is bad because in both cases we\ncannot report the failure to the writing application.\n\nThe fix is two-fold:\n\n1 - leverage the reserved block infrastructure XFS already\nhas to reserve a small pool of blocks by default to allow\nspecially marked transactions to dip into when we are at\nENOSPC.\nDefault setting is min(5%, 1024 blocks).\n\n2 - convert critical transaction reservations to be allowed\nto dip into this pool. Spots changed are delalloc\nconversion, unwritten extent conversion and growing a\nfilesystem at ENOSPC.\nThis also allows growing the filesytsem to succeed at ENOSPC.\n\nSGI-PV: 964468\nSGI-Modid: xfs-linux-melb:xfs-kern:28865a\n\nSigned-off-by: David Chinner \u003cdgc@sgi.com\u003e\nSigned-off-by: Tim Shimmin \u003ctes@sgi.com\u003e\n"
    },
    {
      "commit": "641c56fbfeae85d5ec87fee90a752f7b7224f236",
      "tree": "c626d0f48ef54031f3af502e75308c9087e4592f",
      "parents": [
        "0164af51cedf46e1d58fd53854373f544150c597"
      ],
      "author": {
        "name": "David Chinner",
        "email": "dgc@sgi.com",
        "time": "Mon Jun 18 16:50:17 2007 +1000"
      },
      "committer": {
        "name": "Tim Shimmin",
        "email": "tes@chook.melbourne.sgi.com",
        "time": "Sat Jul 14 15:33:38 2007 +1000"
      },
      "message": "[XFS] Prevent deadlock when flushing inodes on unmount\n\nWhen we are unmounting the filesystem, we flush all the inodes to disk.\nUnfortunately, if we have an inode cluster that has just been freed and\nmarked stale sitting in an incore log buffer (i.e. hasn\u0027t been flushed to\ndisk), it will be holding all the flush locks on the inodes in that\ncluster.\n\nxfs_iflush_all() which is called during unmount walks all the inodes\ntrying to reclaim them, and it doing so calls xfs_finish_reclaim() on each\ninode. If the inode is dirty, if grabs the flush lock and flushes it.\nUnfortunately, find dirty inodes that already have their flush lock held\nand so we sleep.\n\nAt this point in the unmount process, we are running single-threaded.\nThere is nothing more that can push on the log to force the transaction\nholding the inode flush locks to disk and hence we deadlock.\n\nThe fix is to issue a log force before flushing the inodes on unmount so\nthat all the flush locks will be released before we start flushing the\ninodes.\n\nSGI-PV: 964538\nSGI-Modid: xfs-linux-melb:xfs-kern:28862a\n\nSigned-off-by: David Chinner \u003cdgc@sgi.com\u003e\nSigned-off-by: Tim Shimmin \u003ctes@sgi.com\u003e\n"
    },
    {
      "commit": "0164af51cedf46e1d58fd53854373f544150c597",
      "tree": "f52692b23866ce03fdf5752b26ec5415ee82a59d",
      "parents": [
        "effd120edb7609069cca9f3d1cb4bfae464b2f85"
      ],
      "author": {
        "name": "Tim Shimmin",
        "email": "tes@sgi.com",
        "time": "Mon Jun 18 16:50:08 2007 +1000"
      },
      "committer": {
        "name": "Tim Shimmin",
        "email": "tes@chook.melbourne.sgi.com",
        "time": "Sat Jul 14 15:32:59 2007 +1000"
      },
      "message": "[XFS] Log the agf_length change in xfs_growfs_data_private().\n\nSGI-PV: 963528\nSGI-Modid: xfs-linux-melb:xfs-kern:28856a\n\nSigned-off-by: Tim Shimmin \u003ctes@sgi.com\u003e\nSigned-off-by: David Chinner \u003cdgc@sgi.com\u003e\nSigned-off-by: Christoph Hellwig \u003chch@infradead.org\u003e\n"
    },
    {
      "commit": "effd120edb7609069cca9f3d1cb4bfae464b2f85",
      "tree": "3183077b16d0af765bce44a4a3df5e6d37f78fc8",
      "parents": [
        "45c34141126a89da07197d5b89c04c6847f1171a"
      ],
      "author": {
        "name": "David Chinner",
        "email": "dgc@sgi.com",
        "time": "Mon Jun 18 16:49:58 2007 +1000"
      },
      "committer": {
        "name": "Tim Shimmin",
        "email": "tes@chook.melbourne.sgi.com",
        "time": "Sat Jul 14 15:32:49 2007 +1000"
      },
      "message": "[XFS] Map unwritten extents correctly for I/o completion processing\n\nIf we have multiple unwritten extents within a single page, we fail to\ntell the I/o completion construction handlers we need a new handle for the\nsecond and subsequent blocks in the page. While we still issue the I/O\ncorrectly, we do not have the correct ranges recorded in the ioend\nstructures and hence when we go to convert the unwritten extents we screw\nit up.\n\nMake sure we start a new ioend every time the mapping changes so that we\nconvert the correct ranges on I/O completion.\n\nSGI-PV: 964647\nSGI-Modid: xfs-linux-melb:xfs-kern:28797a\n\nSigned-off-by: David Chinner \u003cdgc@sgi.com\u003e\nSigned-off-by: Christoph Hellwig \u003chch@infradead.org\u003e\nSigned-off-by: Tim Shimmin \u003ctes@sgi.com\u003e\n"
    },
    {
      "commit": "45c34141126a89da07197d5b89c04c6847f1171a",
      "tree": "b5418b397602fc0ab131ed4a56a90f215628d776",
      "parents": [
        "b2826136a1fc3ea451bcbb73a75ca50b3231aa8f"
      ],
      "author": {
        "name": "David Chinner",
        "email": "dgc@sgi.com",
        "time": "Mon Jun 18 16:49:44 2007 +1000"
      },
      "committer": {
        "name": "Tim Shimmin",
        "email": "tes@chook.melbourne.sgi.com",
        "time": "Sat Jul 14 15:32:09 2007 +1000"
      },
      "message": "[XFS] Apply transaction delta counts atomically to incore counters\n\nWith the per-cpu superblock counters, batch updates are no longer atomic\nacross the entire batch of changes. This is not an issue if each\nindividual change in the batch is applied atomically. Unfortunately, free\nblock count changes are not applied atomically, and they are applied in a\nmanner guaranteed to cause problems.\n\nEssentially, the free block count reservation that the transaction took\ninitially is returned to the in core counters before a second delta takes\naway what is used. because these two operations are not atomic, we can\nrace with another thread that can use the returned transaction reservation\nbefore the transaction takes the space away again and we can then get\nENOSPC being reported in a spot where we don\u0027t have an ENOSPC condition,\nnor should we ever see one there.\n\nFix it up by rolling the two deltas into the one so it can be applied\nsafely (i.e. atomically) to the incore counters.\n\nSGI-PV: 964465\nSGI-Modid: xfs-linux-melb:xfs-kern:28796a\n\nSigned-off-by: David Chinner \u003cdgc@sgi.com\u003e\nSigned-off-by: Christoph Hellwig \u003chch@infradead.org\u003e\nSigned-off-by: Tim Shimmin \u003ctes@sgi.com\u003e\n"
    },
    {
      "commit": "b2826136a1fc3ea451bcbb73a75ca50b3231aa8f",
      "tree": "32cd3b0a8d1ec64d0b752162581dfff89f71ab95",
      "parents": [
        "e927af90aaa7d75543edbbd9c2810e6963d0443f"
      ],
      "author": {
        "name": "David Chinner",
        "email": "dgc@sgi.com",
        "time": "Tue Jun 05 16:24:44 2007 +1000"
      },
      "committer": {
        "name": "Tim Shimmin",
        "email": "tes@chook.melbourne.sgi.com",
        "time": "Sat Jul 14 15:31:03 2007 +1000"
      },
      "message": "[XFS] Handle null returned from xfs_vtoi() in xfs_setfilesize().\n\nSGI-PV: 965636\nSGI-Modid: xfs-linux-melb:xfs-kern:28777a\n\nSigned-off-by: David Chinner \u003cdgc@sgi.com\u003e\nSigned-off-by: Olaf Weber \u003colaf@sgi.com\u003e\nSigned-off-by: Tim Shimmin \u003ctes@sgi.com\u003e\n"
    },
    {
      "commit": "e927af90aaa7d75543edbbd9c2810e6963d0443f",
      "tree": "56da842111210cd39bd45365a42f52f3c50eaf14",
      "parents": [
        "f4a9f28a909debe97cd3f6ca30e82e5811125bff"
      ],
      "author": {
        "name": "David Chinner",
        "email": "dgc@sgi.com",
        "time": "Tue Jun 05 16:24:36 2007 +1000"
      },
      "committer": {
        "name": "Tim Shimmin",
        "email": "tes@chook.melbourne.sgi.com",
        "time": "Sat Jul 14 15:30:52 2007 +1000"
      },
      "message": "[XFS] Block on unwritten extent conversion during synchronous direct I/O.\n\nCurrently we do not wait on extent conversion to occur, and hence we can\nreturn to userspace from a synchronous direct I/O write without having\ncompleted all the actions in the write. Hence a read after the write may\nsee zeroes (unwritten extent) rather than the data that was written.\n\nBlock the I/O completion by triggering a synchronous workqueue flush to\nensure that the conversion has occurred before we return to userspace.\n\nSGI-PV: 964092\nSGI-Modid: xfs-linux-melb:xfs-kern:28775a\n\nSigned-off-by: David Chinner \u003cdgc@sgi.com\u003e\nSigned-off-by: Tim Shimmin \u003ctes@sgi.com\u003e\n"
    },
    {
      "commit": "f4a9f28a909debe97cd3f6ca30e82e5811125bff",
      "tree": "5c82c929cca07ad3df692ca11c6ac4871fa840b1",
      "parents": [
        "4e5ae8386b55677bde05bbd38b8fc82c67ad4564"
      ],
      "author": {
        "name": "David Chinner",
        "email": "dgc@sgi.com",
        "time": "Tue Jun 05 16:24:27 2007 +1000"
      },
      "committer": {
        "name": "Tim Shimmin",
        "email": "tes@chook.melbourne.sgi.com",
        "time": "Sat Jul 14 15:30:05 2007 +1000"
      },
      "message": "[XFS] Flush the block device before closing it on unmount.\n\nSGI-PV: 965630\nSGI-Modid: xfs-linux-melb:xfs-kern:28774a\n\nSigned-off-by: David Chinner \u003cdgc@sgi.com\u003e\nSigned-off-by: Christoph Hellwig \u003chch@infradead.org\u003e\nSigned-off-by: Tim Shimmin \u003ctes@sgi.com\u003e\n"
    },
    {
      "commit": "4e5ae8386b55677bde05bbd38b8fc82c67ad4564",
      "tree": "eb28b9003453d55c21b81da63ce1fb4a897023ed",
      "parents": [
        "210c6f1caa451623e14a7cd71000d2c2e0d9cc43"
      ],
      "author": {
        "name": "David Chinner",
        "email": "dgc@sgi.com",
        "time": "Tue Jun 05 16:24:15 2007 +1000"
      },
      "committer": {
        "name": "Tim Shimmin",
        "email": "tes@chook.melbourne.sgi.com",
        "time": "Sat Jul 14 15:29:37 2007 +1000"
      },
      "message": "[XFS] xfs_bmapi fails to update the previous extent pointer\n\nWhen processing multiple extent maps, xfs_bmapi needs to keep track of the\nextent behind the one it is currently working on to be able to trim extent\nranges correctly. Failing to update the previous pointer can result in\ncorrupted extent lists in memory and this will result in panics or assert\nfailures.\n\nUpdate the previous pointer correctly when we move to the next extent to\nprocess.\n\nSGI-PV: 965631\nSGI-Modid: xfs-linux-melb:xfs-kern:28773a\n\nSigned-off-by: David Chinner \u003cdgc@sgi.com\u003e\nSigned-off-by: Vlad Apostolov \u003cvapo@sgi.com\u003e\nSigned-off-by: Tim Shimmin \u003ctes@sgi.com\u003e\n"
    },
    {
      "commit": "210c6f1caa451623e14a7cd71000d2c2e0d9cc43",
      "tree": "ec4ac003d854adabf1db2f9c4fcbd7b5b3813033",
      "parents": [
        "92821e2ba4ae26887223326fb0b95cdab963b768"
      ],
      "author": {
        "name": "David Chinner",
        "email": "dgc@sgi.com",
        "time": "Thu May 24 15:26:51 2007 +1000"
      },
      "committer": {
        "name": "Tim Shimmin",
        "email": "tes@chook.melbourne.sgi.com",
        "time": "Sat Jul 14 15:29:02 2007 +1000"
      },
      "message": "[XFS] Fix the transaction flags to make lazy superblock counters work.\n\nSGI-PV: 964999\nSGI-Modid: xfs-linux-melb:xfs-kern:28653a\n\nSigned-off-by: David Chinner \u003cdgc@sgi.com\u003e\nSigned-off-by: Christoph Hellwig \u003chch@infradead.org\u003e\nSigned-off-by: Tim Shimmin \u003ctes@sgi.com\u003e\n"
    },
    {
      "commit": "92821e2ba4ae26887223326fb0b95cdab963b768",
      "tree": "a40a2ef10e5b0791df3e522f3139193d39bf2454",
      "parents": [
        "3260f78ad6d5b788e78ea709d377f58e569bee41"
      ],
      "author": {
        "name": "David Chinner",
        "email": "dgc@sgi.com",
        "time": "Thu May 24 15:26:31 2007 +1000"
      },
      "committer": {
        "name": "Tim Shimmin",
        "email": "tes@chook.melbourne.sgi.com",
        "time": "Sat Jul 14 15:28:50 2007 +1000"
      },
      "message": "[XFS] Lazy Superblock Counters\n\nWhen we have a couple of hundred transactions on the fly at once, they all\ntypically modify the on disk superblock in some way.\ncreate/unclink/mkdir/rmdir modify inode counts, allocation/freeing modify\nfree block counts.\n\nWhen these counts are modified in a transaction, they must eventually lock\nthe superblock buffer and apply the mods. The buffer then remains locked\nuntil the transaction is committed into the incore log buffer. The result\nof this is that with enough transactions on the fly the incore superblock\nbuffer becomes a bottleneck.\n\nThe result of contention on the incore superblock buffer is that\ntransaction rates fall - the more pressure that is put on the superblock\nbuffer, the slower things go.\n\nThe key to removing the contention is to not require the superblock fields\nin question to be locked. We do that by not marking the superblock dirty\nin the transaction. IOWs, we modify the incore superblock but do not\nmodify the cached superblock buffer. In short, we do not log superblock\nmodifications to critical fields in the superblock on every transaction.\nIn fact we only do it just before we write the superblock to disk every\nsync period or just before unmount.\n\nThis creates an interesting problem - if we don\u0027t log or write out the\nfields in every transaction, then how do the values get recovered after a\ncrash? the answer is simple - we keep enough duplicate, logged information\nin other structures that we can reconstruct the correct count after log\nrecovery has been performed.\n\nIt is the AGF and AGI structures that contain the duplicate information;\nafter recovery, we walk every AGI and AGF and sum their individual\ncounters to get the correct value, and we do a transaction into the log to\ncorrect them. An optimisation of this is that if we have a clean unmount\nrecord, we know the value in the superblock is correct, so we can avoid\nthe summation walk under normal conditions and so mount/recovery times do\nnot change under normal operation.\n\nOne wrinkle that was discovered during development was that the blocks\nused in the freespace btrees are never accounted for in the AGF counters.\nThis was once a valid optimisation to make; when the filesystem is full,\nthe free space btrees are empty and consume no space. Hence when it\nmatters, the \"accounting\" is correct. But that means the when we do the\nAGF summations, we would not have a correct count and xfs_check would\ncomplain. Hence a new counter was added to track the number of blocks used\nby the free space btrees. This is an *on-disk format change*.\n\nAs a result of this, lazy superblock counters are a mkfs option and at the\nmoment on linux there is no way to convert an old filesystem. This is\npossible - xfs_db can be used to twiddle the right bits and then\nxfs_repair will do the format conversion for you. Similarly, you can\nconvert backwards as well. At some point we\u0027ll add functionality to\nxfs_admin to do the bit twiddling easily....\n\nSGI-PV: 964999\nSGI-Modid: xfs-linux-melb:xfs-kern:28652a\n\nSigned-off-by: David Chinner \u003cdgc@sgi.com\u003e\nSigned-off-by: Christoph Hellwig \u003chch@infradead.org\u003e\nSigned-off-by: Tim Shimmin \u003ctes@sgi.com\u003e\n"
    },
    {
      "commit": "3260f78ad6d5b788e78ea709d377f58e569bee41",
      "tree": "9ba46ac087769061b0cc3f0fec67be863c4a28b7",
      "parents": [
        "92dfe8d266eaf35a50607a0e0dcf525e1d367c80"
      ],
      "author": {
        "name": "Andrew Morton",
        "email": "akpm@linux-foundation.org",
        "time": "Thu May 24 15:25:42 2007 +1000"
      },
      "committer": {
        "name": "Tim Shimmin",
        "email": "tes@chook.melbourne.sgi.com",
        "time": "Sat Jul 14 15:23:53 2007 +1000"
      },
      "message": "[XFS] Use generic shrinker interfaces in XFS.\n\nSGI-PV: 964986\nSGI-Modid: xfs-linux-melb:xfs-kern:28642a\n\nSigned-Off-By: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: David Chinner \u003cdgc@sgi.com\u003e\nSigned-off-by: Tim Shimmin \u003ctes@sgi.com\u003e\n"
    },
    {
      "commit": "92dfe8d266eaf35a50607a0e0dcf525e1d367c80",
      "tree": "a9149b1bcad2142b14b8b25c06c64a0ae7399f64",
      "parents": [
        "511105b3d7c2440ee84fc3f90d200569aac88162"
      ],
      "author": {
        "name": "David Chinner",
        "email": "dgc@sgi.com",
        "time": "Thu May 24 15:22:19 2007 +1000"
      },
      "committer": {
        "name": "Tim Shimmin",
        "email": "tes@chook.melbourne.sgi.com",
        "time": "Sat Jul 14 15:23:40 2007 +1000"
      },
      "message": "[XFS] Make hole punching at EOF atomic.\n\nIf hole punching at EOF is done as two steps (i.e. truncate then extend)\nthe file is in a transient state between the two steps where an\napplication can see the incorrect file size. Punching a hole to EOF needs\nto be treated in teh same way as all other hole punching cases so that the\nfile size is never seen to change.\n\nSGI-PV: 962012\nSGI-Modid: xfs-linux-melb:xfs-kern:28641a\n\nSigned-off-by: David Chinner \u003cdgc@sgi.com\u003e\nSigned-off-by: Vlad Apostolov \u003cvapo@sgi.com\u003e\nSigned-off-by: Tim Shimmin \u003ctes@sgi.com\u003e\n"
    },
    {
      "commit": "511105b3d7c2440ee84fc3f90d200569aac88162",
      "tree": "cca4cec4d200931a7f7d3e9701c1d651d1208255",
      "parents": [
        "ca165b88927e41ad18908d7b37f08ef81eae0bf8"
      ],
      "author": {
        "name": "David Chinner",
        "email": "dgc@sgi.com",
        "time": "Thu May 24 15:21:57 2007 +1000"
      },
      "committer": {
        "name": "Tim Shimmin",
        "email": "tes@chook.melbourne.sgi.com",
        "time": "Sat Jul 14 15:23:23 2007 +1000"
      },
      "message": "[XFS] Fix vmalloc leak on mount/unmount.\n\nWhen setting the length of the iclogbuf to write out we should just be\nchanging the desired byte count rather completely reassociating the buffer\nmemory with the buffer. Reassociating the buffer memory changes the\napparent length of the buffer and hence when we free the buffer, we don\u0027t\nfree all the vmap()d space we originally allocated.\n\nSGI-PV: 964983\nSGI-Modid: xfs-linux-melb:xfs-kern:28640a\n\nSigned-off-by: David Chinner \u003cdgc@sgi.com\u003e\nSigned-off-by: Christoph Hellwig \u003chch@infradead.org\u003e\nSigned-off-by: Tim Shimmin \u003ctes@sgi.com\u003e\n"
    },
    {
      "commit": "ca165b88927e41ad18908d7b37f08ef81eae0bf8",
      "tree": "dbe4595d1e14fef288d321cd4137bc402a4ce334",
      "parents": [
        "3db296f341b5902c4f9317022ae5d4da2d59d598"
      ],
      "author": {
        "name": "Christoph Hellwig",
        "email": "hch@lst.de",
        "time": "Thu May 24 15:21:11 2007 +1000"
      },
      "committer": {
        "name": "Tim Shimmin",
        "email": "tes@chook.melbourne.sgi.com",
        "time": "Sat Jul 14 15:22:50 2007 +1000"
      },
      "message": "[XFS] Fix double free in xfs_buf_get_noaddr error handling path\n\nSGI-PV: 964983\nSGI-Modid: xfs-linux-melb:xfs-kern:28639a\n\nSigned-off-by: Christoph Hellwig \u003chch@lst.de\u003e\nSigned-off-by: David Chinner \u003cdgc@sgi.com\u003e\nSigned-off-by: Tim Shimmin \u003ctes@sgi.com\u003e\n"
    },
    {
      "commit": "3db296f341b5902c4f9317022ae5d4da2d59d598",
      "tree": "f351eb33c6bac70d82d9f3adf0836d4c424bad92",
      "parents": [
        "40095b64f5da601a8ab61fbe4b40feb46830052e"
      ],
      "author": {
        "name": "David Chinner",
        "email": "dgc@sgi.com",
        "time": "Mon May 14 18:24:16 2007 +1000"
      },
      "committer": {
        "name": "Tim Shimmin",
        "email": "tes@chook.melbourne.sgi.com",
        "time": "Sat Jul 14 15:22:34 2007 +1000"
      },
      "message": "[XFS] Fix use-after-free during log unmount.\n\nDon\u0027t reference the log buffer after running the callbacks as the callback\ncan trigger the log buffers to be freed during unmount.\n\nSGI-PV: 964545\nSGI-Modid: xfs-linux-melb:xfs-kern:28567a\n\nSigned-off-by: David Chinner \u003cdgc@sgi.com\u003e\nSigned-off-by: Christoph Hellwig \u003chch@infradead.org\u003e\nSigned-off-by: Tim Shimmin \u003ctes@sgi.com\u003e\n"
    },
    {
      "commit": "40095b64f5da601a8ab61fbe4b40feb46830052e",
      "tree": "114402c9280f5677bf1d47f4a933847912e3c314",
      "parents": [
        "4cc929ee305c69573cb842aade059dbe2a93940c"
      ],
      "author": {
        "name": "David Chinner",
        "email": "dgc@sgi.com",
        "time": "Mon May 14 18:24:09 2007 +1000"
      },
      "committer": {
        "name": "Tim Shimmin",
        "email": "tes@chook.melbourne.sgi.com",
        "time": "Sat Jul 14 15:22:18 2007 +1000"
      },
      "message": "[XFS] Sleeping with the ilock waiting for I/O completion is Bad.\n\nRecent fixes to the filesystem freezing code introduced a vn_iowait call\nin the middle of the sync code. Unfortunately, at the point where this\ncall was added we are holding the ilock. The ilock is needed by I/O\ncompletion for unwritten extent conversion and now updating the file size.\nHence I/o cannot complete if we hold the ilock while waiting for I/O\ncompletion.\n\nFix up the bug and clean the code up around it.\n\nSGI-PV: 963674\nSGI-Modid: xfs-linux-melb:xfs-kern:28566a\n\nSigned-off-by: David Chinner \u003cdgc@sgi.com\u003e\nSigned-off-by: Christoph Hellwig \u003chch@infradead.org\u003e\nSigned-off-by: Tim Shimmin \u003ctes@sgi.com\u003e\n"
    },
    {
      "commit": "4cc929ee305c69573cb842aade059dbe2a93940c",
      "tree": "bf6cee68d7ca81296864576f27e68900e122d04f",
      "parents": [
        "1fa40b01ae4d1b00e366d4949edcc230f5cd6d99"
      ],
      "author": {
        "name": "Nathan Scott",
        "email": "nscott@aconex.com",
        "time": "Mon May 14 18:24:02 2007 +1000"
      },
      "committer": {
        "name": "Tim Shimmin",
        "email": "tes@chook.melbourne.sgi.com",
        "time": "Sat Jul 14 15:21:29 2007 +1000"
      },
      "message": "[XFS] Don\u0027t grow filesystems past the size they can index.\n\nWhen growing a filesystem we don\u0027t check to see if the new size overflows\nthe page cache index range, so we can do silly things like grow a\nfilesystem page 16TB on a 32bit. Check new filesystem sizes against the\nlimits the kernel can support.\n\nSGI-PV: 957886\nSGI-Modid: xfs-linux-melb:xfs-kern:28563a\n\nSigned-Off-By: Nathan Scott \u003cnscott@aconex.com\u003e\nSigned-off-by: David Chinner \u003cdgc@sgi.com\u003e\nSigned-off-by: Tim Shimmin \u003ctes@sgi.com\u003e\n"
    },
    {
      "commit": "1fa40b01ae4d1b00e366d4949edcc230f5cd6d99",
      "tree": "66059d8f37bfafc6cce57509829ee253b3269252",
      "parents": [
        "4eb6bf6bfb580afaf1e1a1d30cba17a078530cf4"
      ],
      "author": {
        "name": "Christoph Hellwig",
        "email": "hch@infradead.org",
        "time": "Mon May 14 18:23:50 2007 +1000"
      },
      "committer": {
        "name": "Tim Shimmin",
        "email": "tes@chook.melbourne.sgi.com",
        "time": "Sat Jul 14 15:21:14 2007 +1000"
      },
      "message": "[XFS] Only use refcounted pages for I/O\n\nMany block drivers (aoe, iscsi) really want refcountable pages in bios,\nwhich is what almost everyone send down. XFS unfortunately has a few\nplaces where it sends down buffers that may come from kmalloc, which\nbreaks them.\n\nFix the places that use kmalloc()d buffers.\n\nSGI-PV: 964546\nSGI-Modid: xfs-linux-melb:xfs-kern:28562a\n\nSigned-Off-By: Christoph Hellwig \u003chch@infradead.org\u003e\nSigned-off-by: David Chinner \u003cdgc@sgi.com\u003e\nSigned-off-by: Tim Shimmin \u003ctes@sgi.com\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": "700716c8468d95ec6d03566a4e4fb576c3223cbc",
      "tree": "da8159ab87922f041bd17e6250ed4d6eea84c7a3",
      "parents": [
        "6a91d25c0243bf20356e51cc5dbb821cc8cc129b"
      ],
      "author": {
        "name": "Christoph Hellwig",
        "email": "hch@lst.de",
        "time": "Thu May 24 15:27:17 2007 +1000"
      },
      "committer": {
        "name": "Tim Shimmin",
        "email": "tes@chook.melbourne.sgi.com",
        "time": "Tue Jun 19 15:20:31 2007 +1000"
      },
      "message": "[XFS] s/memclear_highpage_flush/zero_user_page/\n\nSGI-PV: 957103\nSGI-Modid: xfs-linux-melb:xfs-kern:28678a\n\nSigned-off-by: Christoph Hellwig \u003chch@infradead.org\u003e\nSigned-off-by: Tim Shimmin \u003ctes@sgi.com\u003e\n"
    },
    {
      "commit": "df3c7244264f1d12562413aa32d56be802486516",
      "tree": "99570b393dc5890fc1751c56aad3deffb0d1c95b",
      "parents": [
        "c420bc9f09a0926b708c3edb27eacba434a4f4ba"
      ],
      "author": {
        "name": "David Chinner",
        "email": "dgc@sgi.com",
        "time": "Thu May 24 15:27:03 2007 +1000"
      },
      "committer": {
        "name": "Tim Shimmin",
        "email": "tes@chook.melbourne.sgi.com",
        "time": "Tue May 29 18:15:17 2007 +1000"
      },
      "message": "[XFS] Write at EOF may not update filesize correctly.\n\nThe recent fix for preventing NULL files from being left around does not\nupdate the file size corectly in all cases. The missing case is a write\nextending the file that does not need to allocate a block.\n\nIn that case we used a read mapping of the extent which forced the use of\nthe read I/O completion handler instead of the write I/O completion\nhandle. Hence the file size was not updated on I/O completion.\n\nSGI-PV: 965068\nSGI-Modid: xfs-linux-melb:xfs-kern:28657a\n\nSigned-off-by: David Chinner \u003cdgc@sgi.com\u003e\nSigned-off-by: Nathan Scott \u003cnscott@aconex.com\u003e\nSigned-off-by: Tim Shimmin \u003ctes@sgi.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": "9a9136e270af14da506f66bcafcc506b86a86498",
      "tree": "b4d0a6877d92635134b7a944d0032fbc43227fd2",
      "parents": [
        "3960208f9ca0cf6bdb31c21c59ac0526303f8b34",
        "7bb2acb76e8168ca5d0bde5a5a56585a11b3525a"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Wed May 09 12:54:17 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Wed May 09 12:54:17 2007 -0700"
      },
      "message": "Merge git://git.kernel.org/pub/scm/linux/kernel/git/bunk/trivial\n\n* git://git.kernel.org/pub/scm/linux/kernel/git/bunk/trivial: (25 commits)\n  sound: convert \"sound\" subdirectory to UTF-8\n  MAINTAINERS: Add cxacru website/mailing list\n  include files: convert \"include\" subdirectory to UTF-8\n  general: convert \"kernel\" subdirectory to UTF-8\n  documentation: convert the Documentation directory to UTF-8\n  Convert the toplevel files CREDITS and MAINTAINERS to UTF-8.\n  remove broken URLs from net drivers\u0027 output\n  Magic number prefix consistency change to Documentation/magic-number.txt\n  trivial: s/i_sem /i_mutex/\n  fix file specification in comments\n  drivers/base/platform.c: fix small typo in doc\n  misc doc and kconfig typos\n  Remove obsolete fat_cvf help text\n  Fix occurrences of \"the the \"\n  Fix minor typoes in kernel/module.c\n  Kconfig: Remove reference to external mqueue library\n  Kconfig: A couple of grammatical fixes in arch/i386/Kconfig\n  Correct comments in genrtc.c to refer to correct /proc file.\n  Fix more \"deprecated\" spellos.\n  Fix \"deprecated\" typoes.\n  ...\n\nFix trivial comment conflict in kernel/relay.c.\n"
    },
    {
      "commit": "8bb7844286fb8c9fce6f65d8288aeb09d03a5e0d",
      "tree": "f4e305edaedbde05774bb1e4acd89a9475661d2e",
      "parents": [
        "f37bc2712b54ec641e0c0c8634f1a4b61d9956c0"
      ],
      "author": {
        "name": "Rafael J. Wysocki",
        "email": "rjw@sisk.pl",
        "time": "Wed May 09 02:35:10 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Wed May 09 12:30:56 2007 -0700"
      },
      "message": "Add suspend-related notifications for CPU hotplug\n\nSince nonboot CPUs are now disabled after tasks and devices have been\nfrozen and the CPU hotplug infrastructure is used for this purpose, we need\nspecial CPU hotplug notifications that will help the CPU-hotplug-aware\nsubsystems distinguish normal CPU hotplug events from CPU hotplug events\nrelated to a system-wide suspend or resume operation in progress.  This\npatch introduces such notifications and causes them to be used during\nsuspend and resume transitions.  It also changes all of the\nCPU-hotplug-aware subsystems to take these notifications into consideration\n(for now they are handled in the same way as the corresponding \"normal\"\nones).\n\n[oleg@tv-sign.ru: cleanups]\nSigned-off-by: Rafael J. Wysocki \u003crjw@sisk.pl\u003e\nCc: Gautham R Shenoy \u003cego@in.ibm.com\u003e\nCc: Pavel Machek \u003cpavel@ucw.cz\u003e\nSigned-off-by: Oleg Nesterov \u003coleg@tv-sign.ru\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "59c51591a0ac7568824f541f57de967e88adaa07",
      "tree": "243d20eb0a26b76d5d312f39ec5a1ff60e036711",
      "parents": [
        "02a3e59a088749c08b0293ee1535f5bf48f5926c"
      ],
      "author": {
        "name": "Michael Opdenacker",
        "email": "michael@free-electrons.com",
        "time": "Wed May 09 08:57:56 2007 +0200"
      },
      "committer": {
        "name": "Adrian Bunk",
        "email": "bunk@stusta.de",
        "time": "Wed May 09 08:57:56 2007 +0200"
      },
      "message": "Fix occurrences of \"the the \"\n\nSigned-off-by: Michael Opdenacker \u003cmichael@free-electrons.com\u003e\nSigned-off-by: Adrian Bunk \u003cbunk@stusta.de\u003e\n"
    },
    {
      "commit": "60c9b2746f589b0b809582b0471cf30ad3ae439f",
      "tree": "deb0169acb7f7b5b5ef721650de1e0c6f139823c",
      "parents": [
        "4750def52cb2c21732dda9aa1d43a07db37b0186",
        "f7c66ce3f70d8417de0cfb481ca4e5430382ec5d"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Tue May 08 11:59:33 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Tue May 08 11:59:33 2007 -0700"
      },
      "message": "Merge git://oss.sgi.com:8090/xfs/xfs-2.6\n\n* git://oss.sgi.com:8090/xfs/xfs-2.6:\n  [XFS] Add lockdep support for XFS\n  [XFS] Fix race in xfs_write() b/w dmapi callout and direct I/O checks.\n  [XFS] Get rid of redundant \"required\" in msg.\n  [XFS] Export via a function xfs_buftarg_list for use by kdb/xfsidbg.\n  [XFS] Remove unused ilen variable and references.\n  [XFS] Fix to prevent the notorious \u0027NULL files\u0027 problem after a crash.\n  [XFS] Fix race condition in xfs_write().\n  [XFS] Fix uquota and oquota enforcement problems.\n  [XFS] propogate return codes from flush routines\n  [XFS] Fix quotaon syscall failures for group enforcement requests.\n  [XFS] Invalidate quotacheck when mounting without a quota type.\n  [XFS] reducing the number of random number functions.\n  [XFS] remove more misc. unused args\n  [XFS] the \"aendp\" arg to xfs_dir2_data_freescan is always NULL, remove it.\n  [XFS] The last argument \"lsn\" of xfs_trans_commit() is always called with\n"
    },
    {
      "commit": "0ceb331433e8aad9c5f441a965d7c681f8b9046f",
      "tree": "fd3d679a4015242dd65f0721f52242ad47619910",
      "parents": [
        "b46b8f19c9cd435ecac4d9d12b39d78c137ecd66"
      ],
      "author": {
        "name": "Dmitriy Monakhov",
        "email": "dmonakhov@openvz.org",
        "time": "Tue May 08 00:23:02 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Tue May 08 11:14:57 2007 -0700"
      },
      "message": "mm: move common segment checks to separate helper function\n\n[akpm@linux-foundation.org: cleanup]\nSigned-off-by: Monakhov Dmitriy \u003cdmonakhov@openvz.org\u003e\nCc: Christoph Hellwig \u003chch@lst.de\u003e\nAcked-by: Anton Altaparmakov \u003caia21@cam.ac.uk\u003e\nAcked-by: David Chinner \u003cdgc@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": "f7c66ce3f70d8417de0cfb481ca4e5430382ec5d",
      "tree": "c9b4d5cb09a9241cb305532edfbd703cd181530d",
      "parents": [
        "71dfd5a396d11512aa6c8ed0d35b268bc084bb9b"
      ],
      "author": {
        "name": "Lachlan McIlroy",
        "email": "lachlan@sgi.com",
        "time": "Tue May 08 13:50:19 2007 +1000"
      },
      "committer": {
        "name": "Tim Shimmin",
        "email": "tes@sgi.com",
        "time": "Tue May 08 13:50:19 2007 +1000"
      },
      "message": "[XFS] Add lockdep support for XFS\n\nSGI-PV: 963965\nSGI-Modid: xfs-linux-melb:xfs-kern:28485a\n\nSigned-off-by: Lachlan McIlroy \u003clachlan@sgi.com\u003e\nSigned-off-by: David Chinner \u003cdgc@sgi.com\u003e\nSigned-off-by: Tim Shimmin \u003ctes@sgi.com\u003e\n"
    },
    {
      "commit": "71dfd5a396d11512aa6c8ed0d35b268bc084bb9b",
      "tree": "843b46b1e42df50707c160650695e074f1e8d7f6",
      "parents": [
        "3a02ee1828915d6540b415a160344775e2a4f918"
      ],
      "author": {
        "name": "Lachlan McIlroy",
        "email": "lachlan@sgi.com",
        "time": "Tue May 08 13:50:12 2007 +1000"
      },
      "committer": {
        "name": "Tim Shimmin",
        "email": "tes@sgi.com",
        "time": "Tue May 08 13:50:12 2007 +1000"
      },
      "message": "[XFS] Fix race in xfs_write() b/w dmapi callout and direct I/O checks.\n\nIn xfs_write() the iolock is dropped and reacquired in XFS_SEND_DATA()\nwhich means that the file could change from not-cached to cached and we\nneed to redo the direct I/O checks. We should also redo the direct I/O\nchecks when the file size changes regardless if O_APPEND is set or not.\n\nSGI-PV: 963483\nSGI-Modid: xfs-linux-melb:xfs-kern:28440a\n\nSigned-off-by: Lachlan McIlroy \u003clachlan@sgi.com\u003e\nSigned-off-by: David Chinner \u003cdgc@sgi.com\u003e\nSigned-off-by: Tim Shimmin \u003ctes@sgi.com\u003e\n"
    },
    {
      "commit": "3a02ee1828915d6540b415a160344775e2a4f918",
      "tree": "3830522593ea26542447ec1a18ea361af02f8704",
      "parents": [
        "e6a0e9cdff79e1406e5653f759aaf9f59b7ce4c8"
      ],
      "author": {
        "name": "Utako Kusaka",
        "email": "utako@tnes.nec.co.jp",
        "time": "Tue May 08 13:50:06 2007 +1000"
      },
      "committer": {
        "name": "Tim Shimmin",
        "email": "tes@sgi.com",
        "time": "Tue May 08 13:50:06 2007 +1000"
      },
      "message": "[XFS] Get rid of redundant \"required\" in msg.\n\nSGI-PV: 963466\nSGI-Modid: xfs-linux-melb:xfs-kern:28416a\n\nSigned-off-by: Utako Kusaka \u003cutako@tnes.nec.co.jp\u003e\nSigned-off-by: Tim Shimmin \u003ctes@sgi.com\u003e\nSigned-off-by: Christoph Hellwig \u003chch@infradead.org\u003e\n"
    },
    {
      "commit": "e6a0e9cdff79e1406e5653f759aaf9f59b7ce4c8",
      "tree": "8ed29f012d7eb40ea7f4f1d2f89bbd58c5f51f04",
      "parents": [
        "f10bb2dad02a846966064a531ba6eec301bbb9e0"
      ],
      "author": {
        "name": "Tim Shimmin",
        "email": "tes@sgi.com",
        "time": "Tue May 08 13:49:59 2007 +1000"
      },
      "committer": {
        "name": "Tim Shimmin",
        "email": "tes@sgi.com",
        "time": "Tue May 08 13:49:59 2007 +1000"
      },
      "message": "[XFS] Export via a function xfs_buftarg_list for use by kdb/xfsidbg.\n\nSGI-PV: 963465\nSGI-Modid: xfs-linux-melb:xfs-kern:28414a\n\nSigned-off-by: Tim Shimmin \u003ctes@sgi.com\u003e\nSigned-off-by: Lachlan McIlroy \u003clachlan@sgi.com\u003e\n"
    },
    {
      "commit": "f10bb2dad02a846966064a531ba6eec301bbb9e0",
      "tree": "dc485e34258bccedc996536c7b50b0b2ecea5f3d",
      "parents": [
        "ba87ea699ebd9dd577bf055ebc4a98200e337542"
      ],
      "author": {
        "name": "Tim Shimmin",
        "email": "tes@sgi.com",
        "time": "Tue May 08 13:49:53 2007 +1000"
      },
      "committer": {
        "name": "Tim Shimmin",
        "email": "tes@sgi.com",
        "time": "Tue May 08 13:49:53 2007 +1000"
      },
      "message": "[XFS] Remove unused ilen variable and references.\n\nSGI-PV: 907752\nSGI-Modid: xfs-linux-melb:xfs-kern:28344a\n\nSigned-off-by: Tim Shimmin \u003ctes@sgi.com\u003e\nSigned-off-by: Lachlan McIlroy \u003clachlan@sgi.com\u003e\nSigned-off-by: Eric Sandeen \u003csandeen@sandeen.net\u003e\n"
    },
    {
      "commit": "ba87ea699ebd9dd577bf055ebc4a98200e337542",
      "tree": "713b7d32937372fd7c5b8647f14d0e7262fc7075",
      "parents": [
        "2a32963130aec5e157b58ff7dfa3dfa1afdf7ca1"
      ],
      "author": {
        "name": "Lachlan McIlroy",
        "email": "lachlan@sgi.com",
        "time": "Tue May 08 13:49:46 2007 +1000"
      },
      "committer": {
        "name": "Tim Shimmin",
        "email": "tes@sgi.com",
        "time": "Tue May 08 13:49:46 2007 +1000"
      },
      "message": "[XFS] Fix to prevent the notorious \u0027NULL files\u0027 problem after a crash.\n\nThe problem that has been addressed is that of synchronising updates of\nthe file size with writes that extend a file. Without the fix the update\nof a file\u0027s size, as a result of a write beyond eof, is independent of\nwhen the cached data is flushed to disk. Often the file size update would\nbe written to the filesystem log before the data is flushed to disk. When\na system crashes between these two events and the filesystem log is\nreplayed on mount the file\u0027s size will be set but since the contents never\nmade it to disk the file is full of holes. If some of the cached data was\nflushed to disk then it may just be a section of the file at the end that\nhas holes.\n\nThere are existing fixes to help alleviate this problem, particularly in\nthe case where a file has been truncated, that force cached data to be\nflushed to disk when the file is closed. If the system crashes while the\nfile(s) are still open then this flushing will never occur.\n\nThe fix that we have implemented is to introduce a second file size,\ncalled the in-memory file size, that represents the current file size as\nviewed by the user. The existing file size, called the on-disk file size,\nis the one that get\u0027s written to the filesystem log and we only update it\nwhen it is safe to do so. When we write to a file beyond eof we only\nupdate the in- memory file size in the write operation. Later when the I/O\noperation, that flushes the cached data to disk completes, an I/O\ncompletion routine will update the on-disk file size. The on-disk file\nsize will be updated to the maximum offset of the I/O or to the value of\nthe in-memory file size if the I/O includes eof.\n\nSGI-PV: 958522\nSGI-Modid: xfs-linux-melb:xfs-kern:28322a\n\nSigned-off-by: Lachlan McIlroy \u003clachlan@sgi.com\u003e\nSigned-off-by: David Chinner \u003cdgc@sgi.com\u003e\nSigned-off-by: Tim Shimmin \u003ctes@sgi.com\u003e\n"
    },
    {
      "commit": "2a32963130aec5e157b58ff7dfa3dfa1afdf7ca1",
      "tree": "97b38a1d7c69bad94fafeee75102a0701c44f27e",
      "parents": [
        "e6d29426bc8a5d07d0eebd0842fe0cf6ecc862cd"
      ],
      "author": {
        "name": "Lachlan McIlroy",
        "email": "lachlan@sgi.com",
        "time": "Tue May 08 13:49:39 2007 +1000"
      },
      "committer": {
        "name": "Tim Shimmin",
        "email": "tes@sgi.com",
        "time": "Tue May 08 13:49:39 2007 +1000"
      },
      "message": "[XFS] Fix race condition in xfs_write().\n\nThis change addresses a race in xfs_write() where, for direct I/O, the\nflags need_i_mutex and need_flush are setup before the iolock is acquired.\nThe logic used to setup the flags may change between setting the flags and\nacquiring the iolock resulting in these flags having incorrect values. For\nexample, if a file is not currently cached then need_i_mutex is set to\nzero and then if the file is cached before the iolock is acquired we will\nfail to do the flushinval before the direct write.\n\nThe flush (and also the call to xfs_zero_eof()) need to be done with the\niolock held exclusive so we need to acquire the iolock before checking for\ncached data (or if the write begins after eof) to prevent this state from\nchanging. For direct I/O I\u0027ve chosen to always acquire the iolock in\nshared mode initially and if there is a need to promote it then drop it\nand reacquire it.\n\nThere\u0027s also some other tidy-ups including removing the O_APPEND offset\nadjustment since that work is done in generic_write_checks() (and we don\u0027t\nuse offset as an input parameter anywhere).\n\nSGI-PV: 962170\nSGI-Modid: xfs-linux-melb:xfs-kern:28319a\n\nSigned-off-by: Lachlan McIlroy \u003clachlan@sgi.com\u003e\nSigned-off-by: David Chinner \u003cdgc@sgi.com\u003e\nSigned-off-by: Tim Shimmin \u003ctes@sgi.com\u003e\n"
    },
    {
      "commit": "e6d29426bc8a5d07d0eebd0842fe0cf6ecc862cd",
      "tree": "f1b8e35adbd87230913d8a40ddb1b228f18ce323",
      "parents": [
        "d3cf209476b72c83907a412b6708c5e498410aa7"
      ],
      "author": {
        "name": "Kouta Ooizumi",
        "email": "k-ooizumi@tnes.nec.co.jp",
        "time": "Tue May 08 13:49:33 2007 +1000"
      },
      "committer": {
        "name": "Tim Shimmin",
        "email": "tes@sgi.com",
        "time": "Tue May 08 13:49:33 2007 +1000"
      },
      "message": "[XFS] Fix uquota and oquota enforcement problems.\n\nWhen uquota and oquota (gquota/pquota) are enabled for accounting both are\nenforced if ether has enforcement active.\n\nConditions:\n\n- Both XFS_UQUOTA_ACCT and XFS_GQUOTA_ACCT are enabled.\n\n- Either XFS_UQUOTA_ENFD or XFS_OQUOTA_ENFD is enabled.\n\n- The usage without enforce is reached at the soft limit.\n\nProblems:\n\n1. \"repquota\" shows all grace time even if no enforcement.\n\n2. we cannot make a file over a hard limits even if no enforcement.\n\nSGI-PV: 962291\nSGI-Modid: xfs-linux-melb:xfs-kern:28272a\n\nSigned-off-by: Kouta Ooizumi \u003ck-ooizumi@tnes.nec.co.jp\u003e\nSigned-off-by: Donald Douwsma \u003cdonaldd@sgi.com\u003e\nSigned-off-by: Tim Shimmin \u003ctes@sgi.com\u003e\n"
    },
    {
      "commit": "d3cf209476b72c83907a412b6708c5e498410aa7",
      "tree": "5e7a85751ae03b9eb3110e1cfc147b3492ae0fa5",
      "parents": [
        "424ea91ba61c1cdc2dac68576c97030cbf47d84f"
      ],
      "author": {
        "name": "Lachlan McIlroy",
        "email": "lachlan@sgi.com",
        "time": "Tue May 08 13:49:27 2007 +1000"
      },
      "committer": {
        "name": "Tim Shimmin",
        "email": "tes@sgi.com",
        "time": "Tue May 08 13:49:27 2007 +1000"
      },
      "message": "[XFS] propogate return codes from flush routines\n\nThis patch handles error return values in fs_flush_pages and\nfs_flushinval_pages. It changes the prototype of fs_flushinval_pages so we\ncan propogate the errors and handle them at higher layers. I also modified\nxfs_itruncate_start so that it could propogate the error further.\n\nSGI-PV: 961990\nSGI-Modid: xfs-linux-melb:xfs-kern:28231a\n\nSigned-off-by: Lachlan McIlroy \u003clachlan@sgi.com\u003e\nSigned-off-by: Stewart Smith \u003cstewart@flamingspork.com\u003e\nSigned-off-by: Tim Shimmin \u003ctes@sgi.com\u003e\n"
    },
    {
      "commit": "424ea91ba61c1cdc2dac68576c97030cbf47d84f",
      "tree": "5114d766bbb4728ccbb18d6aec3a95952a3d4b9f",
      "parents": [
        "646d5bdab38c88f4b9088d4e517986a3f3b0edb9"
      ],
      "author": {
        "name": "Donald Douwsma",
        "email": "donaldd@sgi.com",
        "time": "Tue May 08 13:49:15 2007 +1000"
      },
      "committer": {
        "name": "Tim Shimmin",
        "email": "tes@sgi.com",
        "time": "Tue May 08 13:49:15 2007 +1000"
      },
      "message": "[XFS] Fix quotaon syscall failures for group enforcement requests.\n\nxfs_qm_scall_quotaon was incorrectly failing requests to enable group\nquota enforcement. Fixes logic error in OQUOTA handling.\n\nSGI-PV: 961964\nSGI-Modid: xfs-linux-melb:xfs-kern:28227a\n\nSigned-off-by: Donald Douwsma \u003cdonaldd@sgi.com\u003e\nSigned-off-by: Tim Shimmin \u003ctes@sgi.com\u003e\n"
    },
    {
      "commit": "646d5bdab38c88f4b9088d4e517986a3f3b0edb9",
      "tree": "a04479394ed446f94ffc7e712205d8c76f686a57",
      "parents": [
        "e7a23a9b37c395a153a541d4c50e166eef6abe49"
      ],
      "author": {
        "name": "Donald Douwsma",
        "email": "donaldd@sgi.com",
        "time": "Tue May 08 13:49:09 2007 +1000"
      },
      "committer": {
        "name": "Tim Shimmin",
        "email": "tes@sgi.com",
        "time": "Tue May 08 13:49:09 2007 +1000"
      },
      "message": "[XFS] Invalidate quotacheck when mounting without a quota type.\n\nWhen quotas are mounted or remounted without a particular quota type the\nquota accounting for that type becomes invalid. Previously we were\nignoring this leading to accounting errors.\n\nSGI-PV: 961964\nSGI-Modid: xfs-linux-melb:xfs-kern:28225a\n\nSigned-off-by: Donald Douwsma \u003cdonaldd@sgi.com\u003e\nSigned-off-by: Utako Kusaka \u003cutako@tnes.nec.co.jp\u003e\nSigned-off-by: Vlad Apostolov \u003cvapo@sgi.com\u003e\nSigned-off-by: Tim Shimmin \u003ctes@sgi.com\u003e\n"
    },
    {
      "commit": "e7a23a9b37c395a153a541d4c50e166eef6abe49",
      "tree": "11afa34a0a6d10c482f6b07f1d6d6788bd71ba11",
      "parents": [
        "e9ed9d2240c71014a84043095af4465ffce61367"
      ],
      "author": {
        "name": "Joe Perches",
        "email": "joe@perches.com",
        "time": "Tue May 08 13:49:03 2007 +1000"
      },
      "committer": {
        "name": "Tim Shimmin",
        "email": "tes@sgi.com",
        "time": "Tue May 08 13:49:03 2007 +1000"
      },
      "message": "[XFS] reducing the number of random number functions.\n\nPatch provided by Joe Perches\n\nSGI-PV: 961696\nSGI-Modid: xfs-linux-melb:xfs-kern:28209a\n\nSigned-off-by: Joe Perches \u003cjoe@perches.com\u003e\nSigned-off-by: Lachlan McIlroy \u003clachlan@sgi.com\u003e\nSigned-off-by: Tim Shimmin \u003ctes@sgi.com\u003e\n"
    },
    {
      "commit": "e9ed9d2240c71014a84043095af4465ffce61367",
      "tree": "0db4de9938846d2cb68a2d49944303288cc291e0",
      "parents": [
        "ef497f8a1eafe0447f0473940ff2e0f6c8519a14"
      ],
      "author": {
        "name": "Eric Sandeen",
        "email": "sandeen@sandeen.net",
        "time": "Tue May 08 13:48:56 2007 +1000"
      },
      "committer": {
        "name": "Tim Shimmin",
        "email": "tes@sgi.com",
        "time": "Tue May 08 13:48:56 2007 +1000"
      },
      "message": "[XFS] remove more misc. unused args\n\nPatch provided by Eric Sandeen.\n\nSGI-PV: 961695\nSGI-Modid: xfs-linux-melb:xfs-kern:28205a\n\nSigned-off-by: Eric Sandeen \u003csandeen@sandeen.net\u003e\nSigned-off-by: Lachlan McIlroy \u003clachlan@sgi.com\u003e\nSigned-off-by: Tim Shimmin \u003ctes@sgi.com\u003e\n"
    },
    {
      "commit": "ef497f8a1eafe0447f0473940ff2e0f6c8519a14",
      "tree": "94969156273605e4ab09345b0d8995653c941140",
      "parents": [
        "1c72bf90037f32fc2b10e0a05dff2640abce8ee2"
      ],
      "author": {
        "name": "Eric Sandeen",
        "email": "sandeen@sandeen.net",
        "time": "Tue May 08 13:48:49 2007 +1000"
      },
      "committer": {
        "name": "Tim Shimmin",
        "email": "tes@sgi.com",
        "time": "Tue May 08 13:48:49 2007 +1000"
      },
      "message": "[XFS] the \"aendp\" arg to xfs_dir2_data_freescan is always NULL, remove it.\n\nPatch provided by Eric Sandeen.\n\nSGI-PV: 961694\nSGI-Modid: xfs-linux-melb:xfs-kern:28204a\n\nSigned-off-by: Eric Sandeen \u003csandeen@sandeen.net\u003e\nSigned-off-by: Lachlan McIlroy \u003clachlan@sgi.com\u003e\nSigned-off-by: Tim Shimmin \u003ctes@sgi.com\u003e\n"
    },
    {
      "commit": "1c72bf90037f32fc2b10e0a05dff2640abce8ee2",
      "tree": "3903e287eed6b6e942340d01bec360edebff594e",
      "parents": [
        "5b94f675f57e4ff16c8fda09088d7480a84dcd91"
      ],
      "author": {
        "name": "Eric Sandeen",
        "email": "sandeen@sandeen.net",
        "time": "Tue May 08 13:48:42 2007 +1000"
      },
      "committer": {
        "name": "Tim Shimmin",
        "email": "tes@sgi.com",
        "time": "Tue May 08 13:48:42 2007 +1000"
      },
      "message": "[XFS] The last argument \"lsn\" of xfs_trans_commit() is always called with\nNULL.\n\nPatch provided by Eric Sandeen.\n\nSGI-PV: 961693\nSGI-Modid: xfs-linux-melb:xfs-kern:28199a\n\nSigned-off-by: Eric Sandeen \u003csandeen@sandeen.net\u003e\nSigned-off-by: Lachlan McIlroy \u003clachlan@sgi.com\u003e\nSigned-off-by: Tim Shimmin \u003ctes@sgi.com\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": "b43376927ab0f7b64c4fb304568ecfaea10446e2",
      "tree": "40bf9d0790d651c4a19c730e571dd0b74692133e",
      "parents": [
        "e3a55fd18deab758a2970e0dfcd60a677a920426"
      ],
      "author": {
        "name": "Rafael J. Wysocki",
        "email": "rjw@sisk.pl",
        "time": "Thu Mar 22 00:11:27 2007 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Thu Mar 22 19:39:06 2007 -0700"
      },
      "message": "[PATCH] Make XFS workqueues nonfreezable\n\nSince freezable workqueues are broken in 2.6.21-rc\n(cf. http://marc.theaimsgroup.com/?l\u003dlinux-kernel\u0026m\u003d116855740612755,\nhttp://marc.theaimsgroup.com/?l\u003dlinux-kernel\u0026m\u003d117261312523921\u0026w\u003d2)\nit\u0027s better to change the only user of them, which is XFS, to use \"normal\"\nnonfreezable workqueues.\n\nSigned-off-by: Rafael J. Wysocki \u003crjw@sisk.pl\u003e\nCc: Pavel Machek \u003cpavel@ucw.cz\u003e\nCc: David Chinner \u003cdgc@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": "5085b607fb6c03d7668126b55cb54f20969c203c",
      "tree": "8a787c46a7f5198dfc1154de7b122ae0e2c7c2b2",
      "parents": [
        "7b8f850bebe093e37d283ed791039b39fa241e6d"
      ],
      "author": {
        "name": "Andrew Morton",
        "email": "akpm@linux-foundation.org",
        "time": "Tue Feb 20 13:57:47 2007 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Tue Feb 20 17:10:13 2007 -0800"
      },
      "message": "[PATCH] xfs warning fix\n\nfs/xfs/linux-2.6/xfs_super.c:903: warning: \u0027noinline\u0027 attribute ignored\n\nCc: David Chinner \u003cdgc@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": "0b4d414714f0d2f922d39424b0c5c82ad900a381",
      "tree": "5079ec59a5622c9cacfe0fce484ba2c4626c406f",
      "parents": [
        "ae836810263509ff7a3c2c021754ce6f66b3fab6"
      ],
      "author": {
        "name": "Eric W. Biederman",
        "email": "ebiederm@xmission.com",
        "time": "Wed Feb 14 00:34:09 2007 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Wed Feb 14 08:09:59 2007 -0800"
      },
      "message": "[PATCH] sysctl: remove insert_at_head from register_sysctl\n\nThe semantic effect of insert_at_head is that it would allow new registered\nsysctl entries to override existing sysctl entries of the same name.  Which is\npain for caching and the proc interface never implemented.\n\nI have done an audit and discovered that none of the current users of\nregister_sysctl care as (excpet for directories) they do not register\nduplicate sysctl entries.\n\nSo this patch simply removes the support for overriding existing entries in\nthe sys_sysctl interface since no one uses it or cares and it makes future\nenhancments harder.\n\nSigned-off-by: Eric W. Biederman \u003cebiederm@xmission.com\u003e\nAcked-by: Ralf Baechle \u003cralf@linux-mips.org\u003e\nAcked-by: Martin Schwidefsky \u003cschwidefsky@de.ibm.com\u003e\nCc: Russell King \u003crmk@arm.linux.org.uk\u003e\nCc: David Howells \u003cdhowells@redhat.com\u003e\nCc: \"Luck, Tony\" \u003ctony.luck@intel.com\u003e\nCc: Ralf Baechle \u003cralf@linux-mips.org\u003e\nCc: Paul Mackerras \u003cpaulus@samba.org\u003e\nCc: Martin Schwidefsky \u003cschwidefsky@de.ibm.com\u003e\nCc: Andi Kleen \u003cak@muc.de\u003e\nCc: Jens Axboe \u003caxboe@kernel.dk\u003e\nCc: Corey Minyard \u003cminyard@acm.org\u003e\nCc: Neil Brown \u003cneilb@suse.de\u003e\nCc: \"John W. Linville\" \u003clinville@tuxdriver.com\u003e\nCc: James Bottomley \u003cJames.Bottomley@steeleye.com\u003e\nCc: Jan Kara \u003cjack@ucw.cz\u003e\nCc: Trond Myklebust \u003ctrond.myklebust@fys.uio.no\u003e\nCc: Mark Fasheh \u003cmark.fasheh@oracle.com\u003e\nCc: David Chinner \u003cdgc@sgi.com\u003e\nCc: \"David S. Miller\" \u003cdavem@davemloft.net\u003e\nCc: Patrick McHardy \u003ckaber@trash.net\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": "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": "6ab8eb1cffcc5640ca5b07c2a0ddfaa8fbbcc754",
      "tree": "aa4fdc3943a6649bb33835e43b3e5787d0f19c54",
      "parents": [
        "33a266dda9fbbe72dd978a451a8ee33c59da5e9c"
      ],
      "author": {
        "name": "David Chinner",
        "email": "dgc@sgi.com",
        "time": "Mon Feb 12 00:51:42 2007 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Mon Feb 12 09:48:27 2007 -0800"
      },
      "message": "[PATCH] Make XFS use BH_Unwritten and BH_Delay correctly\n\nDon\u0027t hide buffer_unwritten behind buffer_delay() and remove the hack that\nclears unexpected buffer_unwritten() states now that it can\u0027t happen.\n\nSigned-off-by: Dave Chinner \u003cdgc@sgi.com\u003e\nAcked-by: Christoph Hellwig \u003chch@lst.de\u003e\nCc: Timothy Shimmin \u003ctes@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": "33a266dda9fbbe72dd978a451a8ee33c59da5e9c",
      "tree": "7e3fa4100e436f12b4c0ed562dd1f6dc9ec84fd4",
      "parents": [
        "42da9cbd3eedde33a42acc2cb06f454814cf5de0"
      ],
      "author": {
        "name": "David Chinner",
        "email": "dgc@sgi.com",
        "time": "Mon Feb 12 00:51:41 2007 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Mon Feb 12 09:48:27 2007 -0800"
      },
      "message": "[PATCH] Make BH_Unwritten a first class bufferhead flag V2\n\nCurrently, XFS uses BH_PrivateStart for flagging unwritten extent state in a\nbufferhead.  Recently, I found the long standing mmap/unwritten extent\nconversion bug, and it was to do with partial page invalidation not clearing\nthe unwritten flag from bufferheads attached to the page but beyond EOF.  See\nhere for a full explaination:\n\nhttp://oss.sgi.com/archives/xfs/2006-12/msg00196.html\n\nThe solution I have checked into the XFS dev tree involves duplicating code\nfrom block_invalidatepage to clear the unwritten flag from the bufferhead(s),\nand then calling block_invalidatepage() to do the rest.\n\nChristoph suggested that this would be better solved by pushing the unwritten\nflag into the common buffer head flags and just adding the call to\ndiscard_buffer():\n\nhttp://oss.sgi.com/archives/xfs/2006-12/msg00239.html\n\nThe following patch makes BH_Unwritten a first class citizen.\n\nSigned-off-by: Dave Chinner \u003cdgc@sgi.com\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": "e7ff6aed8761b2c86cd9ab7083e512de2b8cfa48",
      "tree": "7a3e7e8ba879bbd72f55cbada44ebe542b179087",
      "parents": [
        "6be145bfb1ce93b2dbb854fee66fbb8d04916339"
      ],
      "author": {
        "name": "David Chinner",
        "email": "dgc@sgi.com",
        "time": "Sat Feb 10 18:37:46 2007 +1100"
      },
      "committer": {
        "name": "Tim Shimmin",
        "email": "tes@sgi.com",
        "time": "Sat Feb 10 18:37:46 2007 +1100"
      },
      "message": "[XFS] Don\u0027t use kmap in xfs_iozero.\n\nkmap() is inefficient and does not scale well. kmap_atomic() is a better\nchoice. Use the generic wrapper function instead of open coding the\nkmap-memset-dcache flush-kunmap stuff.\n\nSGI-PV: 960904\nSGI-Modid: xfs-linux-melb:xfs-kern:28041a\n\nSigned-off-by: David Chinner \u003cdgc@sgi.com\u003e\nSigned-off-by: Christoph Hellwig \u003chch@infradead.org\u003e\nSigned-off-by: Tim Shimmin \u003ctes@sgi.com\u003e\n"
    },
    {
      "commit": "6be145bfb1ce93b2dbb854fee66fbb8d04916339",
      "tree": "e723cab2dbc3a067a9d154070ad98b51b3a7fca7",
      "parents": [
        "2c36ddeda7f04c085d9a612cf8dab5f0a1cd5224"
      ],
      "author": {
        "name": "Eric Sandeen",
        "email": "sandeen@sandeen.net",
        "time": "Sat Feb 10 18:37:40 2007 +1100"
      },
      "committer": {
        "name": "Tim Shimmin",
        "email": "tes@sgi.com",
        "time": "Sat Feb 10 18:37:40 2007 +1100"
      },
      "message": "[XFS] Remove a bunch of unused functions from XFS.\n\nPatch provided by Eric Sandeen (sandeen@sandeen.net).\n\nSGI-PV: 960897\nSGI-Modid: xfs-linux-melb:xfs-kern:28038a\n\nSigned-off-by: Eric Sandeen \u003csandeen@sandeen.net\u003e\nSigned-off-by: David Chinner \u003cdgc@sgi.com\u003e\nSigned-off-by: Tim Shimmin \u003ctes@sgi.com\u003e\n"
    },
    {
      "commit": "2c36ddeda7f04c085d9a612cf8dab5f0a1cd5224",
      "tree": "2609264dd04c10d6c448ec0fafa2cc1c480ad980",
      "parents": [
        "7bc5306d74922d9b14f507e1164d8dd852a98ad3"
      ],
      "author": {
        "name": "Eric Sandeen",
        "email": "sandeen@sandeen.net",
        "time": "Sat Feb 10 18:37:33 2007 +1100"
      },
      "committer": {
        "name": "Tim Shimmin",
        "email": "tes@sgi.com",
        "time": "Sat Feb 10 18:37:33 2007 +1100"
      },
      "message": "[XFS] Remove unused arguments from the XFS_BTREE_*_ADDR macros.\n\nIt makes it incrementally clearer to read the code when the top of a macro\nspaghetti-pile only receives the 3 arguments it uses, rather than 2 extra\nones which are not used. Also when you start pulling this thread out of\nthe sweater (i.e. remove unused args from XFS_BTREE_*_ADDR), a couple\nother third arms etc fall off too. If they\u0027re not used in the macro, then\nthey sometimes don\u0027t need to be passed to the function calling the macro\neither, etc....\n\nPatch provided by Eric Sandeen (sandeen@sandeen.net).\n\nSGI-PV: 960197\nSGI-Modid: xfs-linux-melb:xfs-kern:28037a\n\nSigned-off-by: Eric Sandeen \u003csandeen@sandeen.net\u003e\nSigned-off-by: David Chinner \u003cdgc@sgi.com\u003e\nSigned-off-by: Tim Shimmin \u003ctes@sgi.com\u003e\n"
    },
    {
      "commit": "7bc5306d74922d9b14f507e1164d8dd852a98ad3",
      "tree": "9028618eefaf7510f220525e9b57ba20cd804aaa",
      "parents": [
        "3c0dc77b42cee99c71e913765073888620d442fa"
      ],
      "author": {
        "name": "Eric Sandeen",
        "email": "sandeen@sandeen.net",
        "time": "Sat Feb 10 18:37:28 2007 +1100"
      },
      "committer": {
        "name": "Tim Shimmin",
        "email": "tes@sgi.com",
        "time": "Sat Feb 10 18:37:28 2007 +1100"
      },
      "message": "[XFS] Remove unused header files for MAC and CAP checking functionality.\n\nxfs_mac.h and xfs_cap.h provide definitions and macros that aren\u0027t used\nanywhere in XFS at all. They are left-overs from \"to be implement at some\npoint in the future\" functionality that Irix XFS has. If this\nfunctionality ever goes into Linux, it will be provided at a different\nlayer, most likely through the security hooks in the kernel so we will\nnever need this functionality in XFS.\n\nPatch provided by Eric Sandeen (sandeen@sandeen.net).\n\nSGI-PV: 960895\nSGI-Modid: xfs-linux-melb:xfs-kern:28036a\n\nSigned-off-by: Eric Sandeen \u003csandeen@sandeen.net\u003e\nSigned-off-by: David Chinner \u003cdgc@sgi.com\u003e\nSigned-off-by: Tim Shimmin \u003ctes@sgi.com\u003e\n"
    },
    {
      "commit": "3c0dc77b42cee99c71e913765073888620d442fa",
      "tree": "bb11f93ab00e83b3b020e51d4ddf2e47f6ed8aa0",
      "parents": [
        "f7c99b6fc7b3791cd24e0763cd4967d744c164a3"
      ],
      "author": {
        "name": "David Chinner",
        "email": "dgc@sgi.com",
        "time": "Sat Feb 10 18:37:22 2007 +1100"
      },
      "committer": {
        "name": "Tim Shimmin",
        "email": "tes@sgi.com",
        "time": "Sat Feb 10 18:37:22 2007 +1100"
      },
      "message": "[XFS] Make freeze code a little cleaner.\n\nFixes a few small issues (mostly cosmetic) that were picked up during the\nreview cycle for the last set of freeze path changes.\n\nSGI-PV: 959267\nSGI-Modid: xfs-linux-melb:xfs-kern:28035a\n\nSigned-off-by: David Chinner \u003cdgc@sgi.com\u003e\nSigned-off-by: Christoph Hellwig \u003chch@infradead.org\u003e\nSigned-off-by: Tim Shimmin \u003ctes@sgi.com\u003e\n"
    },
    {
      "commit": "f7c99b6fc7b3791cd24e0763cd4967d744c164a3",
      "tree": "543581c6ebe8987ff83b6d8b3425e5c2723bbf3d",
      "parents": [
        "39058a0e12a8b2dcb8f9345ecad52dbcfc120ef7"
      ],
      "author": {
        "name": "Eric Sandeen",
        "email": "sandeen@sandeen.net",
        "time": "Sat Feb 10 18:37:16 2007 +1100"
      },
      "committer": {
        "name": "Tim Shimmin",
        "email": "tes@sgi.com",
        "time": "Sat Feb 10 18:37:16 2007 +1100"
      },
      "message": "[XFS] Remove unused argument to xfs_bmap_finish\n\nThe firstblock argument to xfs_bmap_finish is not used by that function.\nRemove it and cleanup the code a bit.\n\nPatch provided by Eric Sandeen.\n\nSGI-PV: 960196\nSGI-Modid: xfs-linux-melb:xfs-kern:28034a\n\nSigned-off-by: Eric Sandeen \u003csandeen@sandeen.net\u003e\nSigned-off-by: David Chinner \u003cdgc@sgi.com\u003e\nSigned-off-by: Tim Shimmin \u003ctes@sgi.com\u003e\n"
    }
  ],
  "next": "39058a0e12a8b2dcb8f9345ecad52dbcfc120ef7"
}
