)]}'
{
  "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": "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": "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": "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": "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": "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": "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": "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": "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": "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": "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": "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": "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": "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": "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": "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": "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": "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": "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": "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": "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": "39058a0e12a8b2dcb8f9345ecad52dbcfc120ef7",
      "tree": "11efd300866375527fb139b6baac42c195566fd1",
      "parents": [
        "4cf3b52080b3d354b10b8b1c9147bf88118b8eef"
      ],
      "author": {
        "name": "Eric Sandeen",
        "email": "sandeen@sandeen.net",
        "time": "Sat Feb 10 18:37:10 2007 +1100"
      },
      "committer": {
        "name": "Tim Shimmin",
        "email": "tes@sgi.com",
        "time": "Sat Feb 10 18:37:10 2007 +1100"
      },
      "message": "[XFS] Clean up use of VFS attr flags\n\nUse the the generic VFS attr flags where appropriate instead of open\ncoding them to the same values.\n\nPatch provided by Eric Sandeen.\n\nSGI-PV: 960868\nSGI-Modid: xfs-linux-melb:xfs-kern:28033a\n\nSigned-off-by: Eric Sandeen \u003csandeen@sandeen.net\u003e\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": "4cf3b52080b3d354b10b8b1c9147bf88118b8eef",
      "tree": "33cccabfd20633580c3d84c736e3cbe23f74f023",
      "parents": [
        "3a68cbfe0277fb73d5f0c2a433884745fb500c38"
      ],
      "author": {
        "name": "Ralf Baechle",
        "email": "ralf@linux-mips.org",
        "time": "Sat Feb 10 18:37:04 2007 +1100"
      },
      "committer": {
        "name": "Tim Shimmin",
        "email": "tes@sgi.com",
        "time": "Sat Feb 10 18:37:04 2007 +1100"
      },
      "message": "[XFS] Remove useless memory barrier\n\nwake_up\u0027s implementation does an implicit memory barrier so the explicit\nmemory barrier is not needed in vfs_sync_worker.\n\nPatch provided by Ralf Baechle.\n\nSGI-PV: 960867\nSGI-Modid: xfs-linux-melb:xfs-kern:28032a\n\nSigned-off-by: Ralf Baechle \u003cralf@linux-mips.org\u003e\nSigned-off-by: David Chinner \u003cdgc@sgi.com\u003e\nSigned-off-by: Tim Shimmin \u003ctes@sgi.com\u003e\n"
    },
    {
      "commit": "3a68cbfe0277fb73d5f0c2a433884745fb500c38",
      "tree": "2644f3273a0da495e9fec4db06bd4a58550b8e32",
      "parents": [
        "c167b77d5e172a2deb058be442ca652ad3a417f9"
      ],
      "author": {
        "name": "Eric W. Biederman",
        "email": "ebiederm@xmission.com",
        "time": "Sat Feb 10 18:36:59 2007 +1100"
      },
      "committer": {
        "name": "Tim Shimmin",
        "email": "tes@sgi.com",
        "time": "Sat Feb 10 18:36:59 2007 +1100"
      },
      "message": "[XFS] XFS sysctl cleanups\n\nRemoves unneeded sysctl insert at head behaviour. Cleans up sysctl\ndefinitions to use C99 initialisers. Patch provided by Eric W. Biederman.\n\nSGI-PV: 960192\nSGI-Modid: xfs-linux-melb:xfs-kern:28031a\n\nSigned-off-by: Eric W. Biederman \u003cebiederm@xmission.com\u003e\nSigned-off-by: David Chinner \u003cdgc@sgi.com\u003e\nSigned-off-by: Tim Shimmin \u003ctes@sgi.com\u003e\n"
    },
    {
      "commit": "681601613759accffd8e8ddbc6f942eba7ecbfe5",
      "tree": "8495ec3a648ca6ea2dce55ed7baf0127fb2ea486",
      "parents": [
        "2823945fda94e0636be573a037c45cb7b6495af2"
      ],
      "author": {
        "name": "Lachlan McIlroy",
        "email": "lachlan@sgi.com",
        "time": "Sat Feb 10 18:36:47 2007 +1100"
      },
      "committer": {
        "name": "Tim Shimmin",
        "email": "tes@sgi.com",
        "time": "Sat Feb 10 18:36:47 2007 +1100"
      },
      "message": "[XFS] Fix callers of xfs_iozero() to zero the correct range.\n\nThe problem is the two callers of xfs_iozero() are rounding out the range\nto be zeroed to the end of a fsb and in some cases this extends past the\nnew eof. The call to commit_write() in xfs_iozero() will cause the Linux\ninode\u0027s file size to be set too high.\n\nSGI-PV: 960788\nSGI-Modid: xfs-linux-melb:xfs-kern:28013a\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": "2823945fda94e0636be573a037c45cb7b6495af2",
      "tree": "b06f13e327978cb4e44710cec46839539c394cf5",
      "parents": [
        "549054afadae44889c0b40d4c3bfb0207b98d5a0"
      ],
      "author": {
        "name": "David Chinner",
        "email": "dgc@sgi.com",
        "time": "Sat Feb 10 18:36:40 2007 +1100"
      },
      "committer": {
        "name": "Tim Shimmin",
        "email": "tes@sgi.com",
        "time": "Sat Feb 10 18:36:40 2007 +1100"
      },
      "message": "[XFS] Ensure a frozen filesystem has a clean log before writing the dummy\nrecord.\n\nThe current Linux XFS freeze code is a mess. We flush the metadata buffers\nout while we are still allowing new transactions to start and then fail to\nflush the dirty buffers back out before writing the unmount and dummy\nrecords to the log.\n\nThis leads to problems when the frozen filesystem is used for snapshots -\nwe do log recovery on a readonly image and often it appears that the log\nimage in the snapshot is not correct. Hence we end up with hangs, oops and\nmount failures when trying to mount a snapshot image that has been created\nwhen the filesystem has not been correctly frozen.\n\nTo fix this, we need to move th metadata flush to after we wait for all\ncurrent transactions to complete in teh second stage of the freeze. This\nmeans that when we write the final log records, the log should be clean\nand recovery should never occur on a snapshot image created from a frozen\nfilesystem.\n\nSGI-PV: 959267\nSGI-Modid: xfs-linux-melb:xfs-kern:28010a\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": "549054afadae44889c0b40d4c3bfb0207b98d5a0",
      "tree": "fe82d3c74b4ac1412746e29300df9ca725603d2f",
      "parents": [
        "5478eead8528f6cb5ebe3015fb88b68b175e1093"
      ],
      "author": {
        "name": "David Chinner",
        "email": "dgc@sgi.com",
        "time": "Sat Feb 10 18:36:35 2007 +1100"
      },
      "committer": {
        "name": "Tim Shimmin",
        "email": "tes@sgi.com",
        "time": "Sat Feb 10 18:36:35 2007 +1100"
      },
      "message": "[XFS] Fix sub-block zeroing for buffered writes into unwritten extents.\n\nWhen writing less than a filesystem block of data into an unwritten extent\nvia buffered I/O, __xfs_get_blocks fails to set the buffer new flag. As a\nresult, the generic code will not zero either edge of the block resulting\nin garbage being written to disk either side of the real data. Set the\nbuffer new state on bufferd writes to unwritten extents to ensure that\nzeroing occurs.\n\nSGI-PV: 960328\nSGI-Modid: xfs-linux-melb:xfs-kern:28000a\n\nSigned-off-by: David Chinner \u003cdgc@sgi.com\u003e\nSigned-off-by: Lachlan McIlroy \u003clachlan@sgi.com\u003e\nSigned-off-by: Tim Shimmin \u003ctes@sgi.com\u003e\n"
    },
    {
      "commit": "5180602e6fd6f7d221e51670567f3809ecfe968f",
      "tree": "a250178a94d013348084127e01e28cbfbb986ae5",
      "parents": [
        "a3227fb99675ebcdbe89e6954a85742c0dd11f0a"
      ],
      "author": {
        "name": "Lachlan McIlroy",
        "email": "lachlan@sgi.com",
        "time": "Sat Feb 10 18:35:46 2007 +1100"
      },
      "committer": {
        "name": "Tim Shimmin",
        "email": "tes@sgi.com",
        "time": "Sat Feb 10 18:35:46 2007 +1100"
      },
      "message": "[XFS] remove unused filp from ioctl functions\n\nSGI-PV: 959140\nSGI-Modid: xfs-linux-melb:xfs-kern:27712a\n\nSigned-off-by: Lachlan McIlroy \u003clachlan@sgi.com\u003e\nSigned-off-by: Eric Sandeen \u003csandeen@sandeen.net\u003e\nSigned-off-by: Tim Shimmin \u003ctes@sgi.com\u003e\n"
    },
    {
      "commit": "a3227fb99675ebcdbe89e6954a85742c0dd11f0a",
      "tree": "f29ff52fec725a2bcdd4578c7cadf4bbf31fe7f7",
      "parents": [
        "1f9b3b64d417a714eb79d9a4cd4927ab304b0fc0"
      ],
      "author": {
        "name": "Lachlan McIlroy",
        "email": "lachlan@sgi.com",
        "time": "Sat Feb 10 18:35:40 2007 +1100"
      },
      "committer": {
        "name": "Tim Shimmin",
        "email": "tes@sgi.com",
        "time": "Sat Feb 10 18:35:40 2007 +1100"
      },
      "message": "[XFS] mraccessf \u0026 mrupdatef are supposed to be the \"flags\" versions of the\nfunctions, but they\n\na) ignore the flags parameter completely, and b) are never called\ndirectly, only via the flag-less defines anyway\n\nSo, drop the #define indirection, and rename mraccessf to mraccess, etc.\n\nSGI-PV: 959138\nSGI-Modid: xfs-linux-melb:xfs-kern:27711a\n\nSigned-off-by: Lachlan McIlroy \u003clachlan@sgi.com\u003e\nSigned-off-by: Eric Sandeen \u003csandeen@sandeen.net\u003e\nSigned-off-by: Tim Shimmin \u003ctes@sgi.com\u003e\n"
    },
    {
      "commit": "e5eb7f202b7a1a2d20a0b9866805314bf6464fd0",
      "tree": "d5446be344d99ad74080504a664ac548c69d870a",
      "parents": [
        "03135cf72621fccab57728f0ba3ab5a551df1cc1"
      ],
      "author": {
        "name": "Lachlan McIlroy",
        "email": "lachlan@sgi.com",
        "time": "Sat Feb 10 18:35:21 2007 +1100"
      },
      "committer": {
        "name": "Tim Shimmin",
        "email": "tes@sgi.com",
        "time": "Sat Feb 10 18:35:21 2007 +1100"
      },
      "message": "[XFS] use struct kvec in struct uio\n\nSGI-PV: 954580\nSGI-Modid: xfs-linux-melb:xfs-kern:27701a\n\nSigned-off-by: Lachlan McIlroy \u003clachlan@sgi.com\u003e\nSigned-off-by: Christoph Hellwig \u003chch@infradead.org\u003e\nSigned-off-by: Tim Shimmin \u003ctes@sgi.com\u003e\n"
    },
    {
      "commit": "7989cb8ef5dbc1411d3be48218c7b25ef6e71699",
      "tree": "607efa745911951a30712de44a837c1df952bd3a",
      "parents": [
        "5e6a07dfe404cd4d8494d842b54706cb007fa04b"
      ],
      "author": {
        "name": "David Chinner",
        "email": "dgc@sgi.com",
        "time": "Sat Feb 10 18:34:56 2007 +1100"
      },
      "committer": {
        "name": "Tim Shimmin",
        "email": "tes@sgi.com",
        "time": "Sat Feb 10 18:34:56 2007 +1100"
      },
      "message": "[XFS] Keep stack usage down for 4k stacks by using noinline.\n\ngcc-4.1 and more recent aggressively inline static functions which\nincreases XFS stack usage by ~15% in critical paths. Prevent this from\noccurring by adding noinline to the STATIC definition.\n\nAlso uninline some functions that are too large to be inlined and were\ncausing problems with CONFIG_FORCED_INLINING\u003dy.\n\nFinally, clean up all the different users of inline, __inline and\n__inline__ and put them under one STATIC_INLINE macro. For debug kernels\nthe STATIC_INLINE macro uninlines those functions.\n\nSGI-PV: 957159\nSGI-Modid: xfs-linux-melb:xfs-kern:27585a\n\nSigned-off-by: David Chinner \u003cdgc@sgi.com\u003e\nSigned-off-by: David Chatterton \u003cchatz@sgi.com\u003e\nSigned-off-by: Tim Shimmin \u003ctes@sgi.com\u003e\n"
    },
    {
      "commit": "5e6a07dfe404cd4d8494d842b54706cb007fa04b",
      "tree": "46cb354cfaedf75afb956036b5238a12f6c75f1d",
      "parents": [
        "dc74eaad8cda9f12a885639b4f2513c99e9b483a"
      ],
      "author": {
        "name": "David Chinner",
        "email": "dgc@sgi.com",
        "time": "Sat Feb 10 18:34:49 2007 +1100"
      },
      "committer": {
        "name": "Tim Shimmin",
        "email": "tes@sgi.com",
        "time": "Sat Feb 10 18:34:49 2007 +1100"
      },
      "message": "[XFS] Current usage of buftarg flags is incorrect.\n\nThe {test,set,clear}_bit() operations take a bit index for the bit to\noperate on. The XBT_* flags are defined as bit fields which is incorrect,\nnot to mention the way the bit fields are enumerated is broken too. This\nwas only working by chance.\n\nFix the definitions of the flags and make the code using them use the\n{test,set,clear}_bit() operations correctly.\n\nSGI-PV: 958639\nSGI-Modid: xfs-linux-melb:xfs-kern:27565a\n\nSigned-off-by: David Chinner \u003cdgc@sgi.com\u003e\nSigned-off-by: Tim Shimmin \u003ctes@sgi.com\u003e\n"
    },
    {
      "commit": "585e6d8856526a846b90b485abf37ec40e5da1cf",
      "tree": "8ecae5c3e10a1753fc178877ab11deadcf9625f3",
      "parents": [
        "dac61f521b1e4d2c6c48023f2f2743c6096b48ca"
      ],
      "author": {
        "name": "David Chinner",
        "email": "dgc@sgi.com",
        "time": "Sat Feb 10 18:32:29 2007 +1100"
      },
      "committer": {
        "name": "Tim Shimmin",
        "email": "tes@sgi.com",
        "time": "Sat Feb 10 18:32:29 2007 +1100"
      },
      "message": "[XFS] Fix a synchronous buftarg flush deadlock when freezing.\n\nAt the last stage of a freeze, we flush the buftarg synchronously over and\nover again until it succeeds twice without skipping any buffers.\n\nThe delwri list flush skips pinned buffers, but tries to flush all others.\nIt removes the buffers from the delwri list, then tries to lock them one\nat a time as it traverses the list to issue the I/O. It holds them locked\nuntil we issue all of the I/O and then unlocks them once we\u0027ve waited for\nit to complete.\n\nThe problem is that during a freeze, the filesystem may still be doing\nstuff - like flushing delalloc data buffers - in the background and hence\nwe can be trying to lock buffers that were on the delwri list at the same\ntime. Hence we can get ABBA deadlocks between threads doing allocation and\nthe buftarg flush (freeze) thread.\n\nFix it by skipping locked (and pinned) buffers as we traverse the delwri\nbuffer list.\n\nSGI-PV: 957195\nSGI-Modid: xfs-linux-melb:xfs-kern:27535a\n\nSigned-off-by: David Chinner \u003cdgc@sgi.com\u003e\nSigned-off-by: Tim Shimmin \u003ctes@sgi.com\u003e\n"
    },
    {
      "commit": "921320210bd2ec4f17053d283355b73048ac0e56",
      "tree": "d2a0b5d60d2f3518e717038dd1eec5eaf4fab13b",
      "parents": [
        "9280f6822c2d7112b47107251fce307aefb31f35"
      ],
      "author": {
        "name": "David Chinner",
        "email": "dgc@sgi.com",
        "time": "Thu Dec 21 10:24:01 2006 +1100"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.osdl.org",
        "time": "Thu Dec 21 10:01:08 2006 -0800"
      },
      "message": "[PATCH] Fix XFS after clear_page_dirty() removal\n\nXFS appears to call clear_page_dirty to get the mapping tree dirty tag\nset correctly at the same time the page dirty flag is cleared.  I note\nthat this can be done by set_page_writeback() if we clear the dirty flag\non the page first when we are writing back the entire page.\n\nHence it seems to me that the XFS call to clear_page_dirty() could\neasily be substituted by clear_page_dirty_for_io() followed by a call to\nset_page_writeback() to get the mapping tree tags set correctly after\nthe page has been marked clean.\n\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "8459d86aff04fa53c2ab6a6b9f355b3063cc8014",
      "tree": "c0584c4907f0d63a18998b7cbffdf7900609606b",
      "parents": [
        "20258b2b397031649e4a41922fe803d57017df84"
      ],
      "author": {
        "name": "Zach Brown",
        "email": "zach.brown@oracle.com",
        "time": "Sun Dec 10 02:21:05 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.osdl.org",
        "time": "Sun Dec 10 09:57:21 2006 -0800"
      },
      "message": "[PATCH] dio: only call aio_complete() after returning -EIOCBQUEUED\n\nThe only time it is safe to call aio_complete() is when the -\u003eki_retry\nfunction returns -EIOCBQUEUED to the AIO core.  direct_io_worker() has\nhistorically done this by relying on its caller to translate positive return\ncodes into -EIOCBQUEUED for the aio case.  It did this by trying to keep\nconditionals in sync.  direct_io_worker() knew when finished_one_bio() was\ngoing to call aio_complete().  It would reverse the test and wait and free the\ndio in the cases it thought that finished_one_bio() wasn\u0027t going to.\n\nNot surprisingly, it ended up getting it wrong.  \u0027ret\u0027 could be a negative\nerrno from the submission path but it failed to communicate this to\nfinished_one_bio().  direct_io_worker() would return \u003c 0, it\u0027s callers\nwouldn\u0027t raise -EIOCBQUEUED, and aio_complete() would be called.  In the\nfuture finished_one_bio()\u0027s tests wouldn\u0027t reflect this and aio_complete()\nwould be called for a second time which can manifest as an oops.\n\nThe previous cleanups have whittled the sync and async completion paths down\nto the point where we can collapse them and clearly reassert the invariant\nthat we must only call aio_complete() after returning -EIOCBQUEUED.\ndirect_io_worker() will only return -EIOCBQUEUED when it is not the last to\ndrop the dio refcount and the aio bio completion path will only call\naio_complete() when it is the last to drop the dio refcount.\ndirect_io_worker() can ensure that it is the last to drop the reference count\nby waiting for bios to drain.  It does this for sync ops, of course, and for\npartial dio writes that must fall back to buffered and for aio ops that saw\nerrors during submission.\n\nThis means that operations that end up waiting, even if they were issued as\naio ops, will not call aio_complete() from dio.  Instead we return the return\ncode of the operation and let the aio core call aio_complete().  This is\npurposely done to fix a bug where AIO DIO file extensions would call\naio_complete() before their callers have a chance to update i_size.\n\nNow that direct_io_worker() is explicitly returning -EIOCBQUEUED its callers\nno longer have to translate for it.  XFS needs to be careful not to free\nresources that will be used during AIO completion if -EIOCBQUEUED is returned.\n We maintain the previous behaviour of trying to write fs metadata for O_SYNC\naio+dio writes.\n\nSigned-off-by: Zach Brown \u003czach.brown@oracle.com\u003e\nCc: Badari Pulavarty \u003cpbadari@us.ibm.com\u003e\nCc: Suparna Bhattacharya \u003csuparna@in.ibm.com\u003e\nAcked-by: Jeff Moyer \u003cjmoyer@redhat.com\u003e\nCc: \u003cxfs-masters@oss.sgi.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "e678fb0d523c118fc2f903d62cb54c89b6b68185",
      "tree": "11ba523e5c9b4eeb7b96a9cb4b13800df87cd53c",
      "parents": [
        "bd243a4b4b028d65a8178db5b57f8ed2cfc9707d"
      ],
      "author": {
        "name": "Josef \"Jeff\" Sipek",
        "email": "jsipek@cs.sunysb.edu",
        "time": "Fri Dec 08 02:36:49 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.osdl.org",
        "time": "Fri Dec 08 08:28:43 2006 -0800"
      },
      "message": "[PATCH] xfs: change uses of f_{dentry,vfsmnt} to use f_path\n\nChange all the uses of f_{dentry,vfsmnt} to f_path.{dentry,mnt} in the xfs\nfilesystem.\n\nSigned-off-by: Josef \"Jeff\" Sipek \u003cjsipek@cs.sunysb.edu\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "58e14b148ddb56f0bf999965d6279932ed4a00bc",
      "tree": "3e7225a03d740da0bb10fbfbbd1f9c8920f2e0f1",
      "parents": [
        "341a595850dac1b0503df34260257d71b4fdf72c"
      ],
      "author": {
        "name": "Rafael J. Wysocki",
        "email": "rjw@sisk.pl",
        "time": "Wed Dec 06 20:34:50 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.osdl.org",
        "time": "Thu Dec 07 08:39:29 2006 -0800"
      },
      "message": "[PATCH] Use freezeable workqueues in XFS\n\nMake the workqueues used by XFS freezeable, so their worker threads don\u0027t\nsubmit any I/O after the suspend image has been created.\n\nSigned-off-by: Rafael J. Wysocki \u003crjw@sisk.pl\u003e\nAcked-by: Pavel Machek \u003cpavel@ucw.cz\u003e\nCc: Nigel Cunningham \u003cnigel@suspend2.net\u003e\nCc: David Chinner \u003cdgc@sgi.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "7dfb71030f7636a0d65200158113c37764552f93",
      "tree": "276b812903d377b16d8828e888552fd256f48aab",
      "parents": [
        "8a05aac2631aa0e6494d9dc990f8c68ed8b8fde7"
      ],
      "author": {
        "name": "Nigel Cunningham",
        "email": "ncunningham@linuxmail.org",
        "time": "Wed Dec 06 20:34:23 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.osdl.org",
        "time": "Thu Dec 07 08:39:27 2006 -0800"
      },
      "message": "[PATCH] Add include/linux/freezer.h and move definitions from sched.h\n\nMove process freezing functions from include/linux/sched.h to freezer.h, so\nthat modifications to the freezer or the kernel configuration don\u0027t require\nrecompiling just about everything.\n\n[akpm@osdl.org: fix ueagle driver]\nSigned-off-by: Nigel Cunningham \u003cnigel@suspend2.net\u003e\nCc: \"Rafael J. Wysocki\" \u003crjw@sisk.pl\u003e\nCc: Pavel Machek \u003cpavel@ucw.cz\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "c4028958b6ecad064b1a6303a6a5906d4fe48d73",
      "tree": "1c4c89652c62a75da09f9b9442012007e4ac6250",
      "parents": [
        "65f27f38446e1976cc98fd3004b110fedcddd189"
      ],
      "author": {
        "name": "David Howells",
        "email": "dhowells@redhat.com",
        "time": "Wed Nov 22 14:57:56 2006 +0000"
      },
      "committer": {
        "name": "David Howells",
        "email": "dhowells@redhat.com",
        "time": "Wed Nov 22 14:57:56 2006 +0000"
      },
      "message": "WorkStruct: make allyesconfig\n\nFix up for make allyesconfig.\n\nSigned-Off-By: David Howells \u003cdhowells@redhat.com\u003e\n"
    },
    {
      "commit": "050e714eb2bc662e9df6bf048ce86b4fbdd9bcd3",
      "tree": "d5254ddd53565ad53aab9bdb62f541beebe201d2",
      "parents": [
        "4c60658e0f4e253cf275f12b7c76bf128515a774"
      ],
      "author": {
        "name": "David Chinner",
        "email": "dgc@sgi.com",
        "time": "Sat Nov 11 18:05:06 2006 +1100"
      },
      "committer": {
        "name": "Tim Shimmin",
        "email": "tes@sgi.com",
        "time": "Sat Nov 11 18:05:06 2006 +1100"
      },
      "message": "[XFS] Remove KERNEL_VERSION macros from xfs_dmapi.h\n\nSGI-PV: 957005\nSGI-Modid: xfs-linux-melb:xfs-kern:27398a\n\nSigned-off-by: David Chinner \u003cdgc@sgi.com\u003e\nSigned-off-by: Michal Piotrowski \u003cmichal.k.k.piotrowski@gmail.com\u003e\nSigned-off-by: Tim Shimmin \u003ctes@sgi.com\u003e\n"
    },
    {
      "commit": "7a18c386078eaf17ae54595f66c0d64d9c1cb29c",
      "tree": "d3194ced5802969f78cbd21c9d99dc01c622bb51",
      "parents": [
        "2e2e7bb1fd857b9fc83b0cd77b6b647ebb423301"
      ],
      "author": {
        "name": "David Chinner",
        "email": "dgc@sgi.com",
        "time": "Sat Nov 11 18:04:54 2006 +1100"
      },
      "committer": {
        "name": "Tim Shimmin",
        "email": "tes@sgi.com",
        "time": "Sat Nov 11 18:04:54 2006 +1100"
      },
      "message": "[XFS] Clean up i_flags and i_flags_lock handling.\n\nSGI-PV: 956832\nSGI-Modid: xfs-linux-melb:xfs-kern:27358a\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": "2e2e7bb1fd857b9fc83b0cd77b6b647ebb423301",
      "tree": "7394ea035cc0ee1528a9b701a497e28858427479",
      "parents": [
        "70a505285f9859f77e07f7c12371b0d29ecf3d82"
      ],
      "author": {
        "name": "Vlad Apostolov",
        "email": "vapo@sgi.com",
        "time": "Sat Nov 11 18:04:47 2006 +1100"
      },
      "committer": {
        "name": "Tim Shimmin",
        "email": "tes@sgi.com",
        "time": "Sat Nov 11 18:04:47 2006 +1100"
      },
      "message": "[XFS] 956664: dm_read_invis() changes i_atime\n\nSGI-PV: 956664\nSGI-Modid: xfs-linux-melb:xfs-kern:27315a\n\nSigned-off-by: Vlad Apostolov \u003cvapo@sgi.com\u003e\nSigned-off-by: Sam Vaughan \u003csjv@sgi.com\u003e\nSigned-off-by: Tim Shimmin \u003ctes@sgi.com\u003e\n"
    },
    {
      "commit": "93c189c1148a5e39bcc8f62568f42a77f93477c5",
      "tree": "e24d578c608b167bec1b18f625adc67772210b62",
      "parents": [
        "088406bcf66d6c7fd8a5c04c00aa410ae9077403"
      ],
      "author": {
        "name": "Vlad Apostolov",
        "email": "vapo@sgi.com",
        "time": "Sat Nov 11 18:03:49 2006 +1100"
      },
      "committer": {
        "name": "Tim Shimmin",
        "email": "tes@sgi.com",
        "time": "Sat Nov 11 18:03:49 2006 +1100"
      },
      "message": "[XFS] 956618: Linux crashes on boot with XFS-DMAPI filesystem when\nCONFIG_XFS_TRACE is on\n\nSGI-PV: 956618\nSGI-Modid: xfs-linux-melb:xfs-kern:27196a\n\nSigned-off-by: Vlad Apostolov \u003cvapo@sgi.com\u003e\nSigned-off-by: Tim Shimmin \u003ctes@sgi.com\u003e\n"
    },
    {
      "commit": "3fcfab16c5b86eaa3db3a9a31adba550c5b67141",
      "tree": "bd348fa081b8fbec2c79fbf8f173a306d70b2b2c",
      "parents": [
        "79e2de4bc53d7ca2a8eedee49e4a92479b4b530e"
      ],
      "author": {
        "name": "Andrew Morton",
        "email": "akpm@osdl.org",
        "time": "Thu Oct 19 23:28:16 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Fri Oct 20 10:26:35 2006 -0700"
      },
      "message": "[PATCH] separate bdi congestion functions from queue congestion functions\n\nSeparate out the concept of \"queue congestion\" from \"backing-dev congestion\".\nCongestion is a backing-dev concept, not a queue concept.\n\nThe blk_* congestion functions are retained, as wrappers around the core\nbacking-dev congestion functions.\n\nThis proper layering is needed so that NFS can cleanly use the congestion\nfunctions, and so that CONFIG_BLOCK\u003dn actually links.\n\nCc: \"Thomas Maier\" \u003cbalagi@justmail.de\u003e\nCc: \"Jens Axboe\" \u003cjens.axboe@oracle.com\u003e\nCc: Trond Myklebust \u003ctrond.myklebust@fys.uio.no\u003e\nCc: David Howells \u003cdhowells@redhat.com\u003e\nCc: Peter Osterlund \u003cpetero2@telia.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "543ade1fc901db4c3dbe9fb27241fb977f1f3eea",
      "tree": "cdd1a1f67a718adf71e92fe08e4b3d33bf3dbadc",
      "parents": [
        "ee0b3e671baff681d69fbf0db33b47603c0a8280"
      ],
      "author": {
        "name": "Badari Pulavarty",
        "email": "pbadari@us.ibm.com",
        "time": "Sat Sep 30 23:28:48 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Sun Oct 01 00:39:28 2006 -0700"
      },
      "message": "[PATCH] Streamline generic_file_* interfaces and filemap cleanups\n\nThis patch cleans up generic_file_*_read/write() interfaces.  Christoph\nHellwig gave me the idea for this clean ups.\n\nIn a nutshell, all filesystems should set .aio_read/.aio_write methods and use\ndo_sync_read/ do_sync_write() as their .read/.write methods.  This allows us\nto cleanup all variants of generic_file_* routines.\n\nFinal available interfaces:\n\ngeneric_file_aio_read() - read handler\ngeneric_file_aio_write() - write handler\ngeneric_file_aio_write_nolock() - no lock write handler\n\n__generic_file_aio_write_nolock() - internal worker routine\n\nSigned-off-by: Badari Pulavarty \u003cpbadari@us.ibm.com\u003e\nSigned-off-by: Christoph Hellwig \u003chch@lst.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "ee0b3e671baff681d69fbf0db33b47603c0a8280",
      "tree": "3202ff815b2196c6c353bc5b28d7a2800df273ec",
      "parents": [
        "027445c37282bc1ed26add45e573ad2d3e4860a5"
      ],
      "author": {
        "name": "Badari Pulavarty",
        "email": "pbadari@us.ibm.com",
        "time": "Sat Sep 30 23:28:47 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Sun Oct 01 00:39:28 2006 -0700"
      },
      "message": "[PATCH] Remove readv/writev methods and use aio_read/aio_write instead\n\nThis patch removes readv() and writev() methods and replaces them with\naio_read()/aio_write() methods.\n\nSigned-off-by: Badari Pulavarty \u003cpbadari@us.ibm.com\u003e\nSigned-off-by: Christoph Hellwig \u003chch@lst.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "027445c37282bc1ed26add45e573ad2d3e4860a5",
      "tree": "93eab101a938ffebaea64703033c8649df4d73f0",
      "parents": [
        "9ea0f9499d15c49df23e7aac4332d830c40e12d0"
      ],
      "author": {
        "name": "Badari Pulavarty",
        "email": "pbadari@us.ibm.com",
        "time": "Sat Sep 30 23:28:46 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Sun Oct 01 00:39:28 2006 -0700"
      },
      "message": "[PATCH] Vectorize aio_read/aio_write fileop methods\n\nThis patch vectorizes aio_read() and aio_write() methods to prepare for\ncollapsing all aio \u0026 vectored operations into one interface - which is\naio_read()/aio_write().\n\nSigned-off-by: Badari Pulavarty \u003cpbadari@us.ibm.com\u003e\nSigned-off-by: Christoph Hellwig \u003chch@lst.de\u003e\nCc: Michael Holzheu \u003cHOLZHEU@de.ibm.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "6216ff18839bf302805f67c93e8bc344387c513b",
      "tree": "3b94cb694ef8277ab0006cb2363dadfe7c348124",
      "parents": [
        "f273ab848b7cbc0088b0ac7457b3769e6566074e"
      ],
      "author": {
        "name": "Vlad Apostolov",
        "email": "vapo@sgi.com",
        "time": "Thu Sep 28 11:06:10 2006 +1000"
      },
      "committer": {
        "name": "Tim Shimmin",
        "email": "tes@sgi.com",
        "time": "Thu Sep 28 11:06:10 2006 +1000"
      },
      "message": "[XFS] pv 956240, author: nathans, rv: vapo - Minor fixes in\nkmem_zalloc_greedy()\n\nSGI-PV: 956240\nSGI-Modid: xfs-linux-melb:xfs-kern:26983a\n\nSigned-off-by: Vlad Apostolov \u003cvapo@sgi.com\u003e\nSigned-off-by: Tim Shimmin \u003ctes@sgi.com\u003e\n"
    },
    {
      "commit": "f273ab848b7cbc0088b0ac7457b3769e6566074e",
      "tree": "27f1b0ce7b056f77e7105284524cbdb658943ae5",
      "parents": [
        "01106eae97b70399ce5a273a3cceb5246e8d9cc8"
      ],
      "author": {
        "name": "David Chinner",
        "email": "dgc@sgi.com",
        "time": "Thu Sep 28 11:06:03 2006 +1000"
      },
      "committer": {
        "name": "Tim Shimmin",
        "email": "tes@sgi.com",
        "time": "Thu Sep 28 11:06:03 2006 +1000"
      },
      "message": "[XFS] Really fix use after free in xfs_iunpin.\n\nThe previous attempts to fix the linux inode use-after-free in xfs_iunpin\nsimply made the problem harder to hit. We actually need complete exclusion\nbetween xfs_reclaim and xfs_iunpin, as well as ensuring that the i_flags\nare consistent during both of these functions. Introduce a new spinlock\nfor exclusion and the i_flags, and fix up xfs_iunpin to use igrab before\nmarking the inode dirty.\n\nSGI-PV: 952967\nSGI-Modid: xfs-linux-melb:xfs-kern:26964a\n\nSigned-off-by: David Chinner \u003cdgc@sgi.com\u003e\nSigned-off-by: Tim Shimmin \u003ctes@sgi.com\u003e\n"
    },
    {
      "commit": "01106eae97b70399ce5a273a3cceb5246e8d9cc8",
      "tree": "b2a318f9bfaea1a31e586782854e5c8c0a25b8b7",
      "parents": [
        "7ae67d78e7518fba89e5f3a74bdcb68e48ae8858"
      ],
      "author": {
        "name": "Eric Sandeen",
        "email": "sandeen@sandeen.net",
        "time": "Thu Sep 28 11:05:52 2006 +1000"
      },
      "committer": {
        "name": "Tim Shimmin",
        "email": "tes@sgi.com",
        "time": "Thu Sep 28 11:05:52 2006 +1000"
      },
      "message": "[XFS] Collapse sv_init and init_sv into just the one interface.\n\nSGI-PV: 907752\nSGI-Modid: xfs-linux-melb:xfs-kern:26925a\n\nSigned-off-by: Eric Sandeen \u003csandeen@sandeen.net\u003e\nSigned-off-by: Nathan Scott \u003cnathans@sgi.com\u003e\nSigned-off-by: Tim Shimmin \u003ctes@sgi.com\u003e\n"
    },
    {
      "commit": "7ae67d78e7518fba89e5f3a74bdcb68e48ae8858",
      "tree": "6582b0968c4c8554eeb16efb8d9b7018877671f1",
      "parents": [
        "91d87232044c1ceb8371625c27479e982984a848"
      ],
      "author": {
        "name": "Eric Sandeen",
        "email": "sandeen@sandeen.net",
        "time": "Thu Sep 28 11:05:46 2006 +1000"
      },
      "committer": {
        "name": "Tim Shimmin",
        "email": "tes@sgi.com",
        "time": "Thu Sep 28 11:05:46 2006 +1000"
      },
      "message": "[XFS] standardize on one sema init macro\n\nOne sema to rule them all, one sema to find them...\n\nSGI-PV: 907752\nSGI-Modid: xfs-linux-melb:xfs-kern:26911a\n\nSigned-off-by: Eric Sandeen \u003csandeen@sandeen.net\u003e\nSigned-off-by: Nathan Scott \u003cnathans@sgi.com\u003e\nSigned-off-by: Tim Shimmin \u003ctes@sgi.com\u003e\n"
    },
    {
      "commit": "edcd4bce5e58987c8c039bdf7705a22cd229fe96",
      "tree": "208d7420365a9a6f6a0f33a19ae92db205c966b3",
      "parents": [
        "215101c36012399cf2eaee849de54eeefc9f618c"
      ],
      "author": {
        "name": "Nathan Scott",
        "email": "nathans@sgi.com",
        "time": "Thu Sep 28 11:05:33 2006 +1000"
      },
      "committer": {
        "name": "Tim Shimmin",
        "email": "tes@sgi.com",
        "time": "Thu Sep 28 11:05:33 2006 +1000"
      },
      "message": "[XFS] Minor cleanup from dio locking fix, remove an extra conditional.\n\nSGI-PV: 955696\nSGI-Modid: xfs-linux-melb:xfs-kern:26908a\n\nSigned-off-by: Nathan Scott \u003cnathans@sgi.com\u003e\nSigned-off-by: Tim Shimmin \u003ctes@sgi.com\u003e\n"
    },
    {
      "commit": "68c3271515f11f6665dc8732e53aaab3d3fdd7d3",
      "tree": "18d8c9996da0666efbf8bb1edbb7ad5b1011f491",
      "parents": [
        "d432c80e68e3c283fc9a85021f5b65e0aabf254e"
      ],
      "author": {
        "name": "Nathan Scott",
        "email": "nathans@sgi.com",
        "time": "Thu Sep 28 11:03:53 2006 +1000"
      },
      "committer": {
        "name": "Tim Shimmin",
        "email": "tes@sgi.com",
        "time": "Thu Sep 28 11:03:53 2006 +1000"
      },
      "message": "[XFS] Fix a porting botch on the realtime subvol growfs code path.\n\nSGI-PV: 955515\nSGI-Modid: xfs-linux-melb:xfs-kern:26806a\n\nSigned-off-by: Nathan Scott \u003cnathans@sgi.com\u003e\nSigned-off-by: Tim Shimmin \u003ctes@sgi.com\u003e\n"
    },
    {
      "commit": "b627259c602f3f1b995d09aad2b57bed889430b9",
      "tree": "8bd0c3d34fed9e3874eb8891273b85efab9d0653",
      "parents": [
        "77e4635ae191774526ed695482a151ac986f3806"
      ],
      "author": {
        "name": "Nathan Scott",
        "email": "nathans@sgi.com",
        "time": "Thu Sep 28 11:03:33 2006 +1000"
      },
      "committer": {
        "name": "Tim Shimmin",
        "email": "tes@sgi.com",
        "time": "Thu Sep 28 11:03:33 2006 +1000"
      },
      "message": "[XFS] Remove a no-longer-correct debug assert from dio completion\nhandling.\n\nSGI-PV: 955302\nSGI-Modid: xfs-linux-melb:xfs-kern:26804a\n\nSigned-off-by: Nathan Scott \u003cnathans@sgi.com\u003e\nSigned-off-by: Tim Shimmin \u003ctes@sgi.com\u003e\n"
    },
    {
      "commit": "77e4635ae191774526ed695482a151ac986f3806",
      "tree": "42cfa03f913883cd7f3d53be19b7e8c25258ee2c",
      "parents": [
        "572d95f49f3652fffe8242c4498b85f4083e52ab"
      ],
      "author": {
        "name": "Nathan Scott",
        "email": "nathans@sgi.com",
        "time": "Thu Sep 28 11:03:27 2006 +1000"
      },
      "committer": {
        "name": "Tim Shimmin",
        "email": "tes@sgi.com",
        "time": "Thu Sep 28 11:03:27 2006 +1000"
      },
      "message": "[XFS] Add a greedy allocation interface, allocating within a min/max size\nrange.\n\nSGI-PV: 955302\nSGI-Modid: xfs-linux-melb:xfs-kern:26803a\n\nSigned-off-by: Nathan Scott \u003cnathans@sgi.com\u003e\nSigned-off-by: Tim Shimmin \u003ctes@sgi.com\u003e\n"
    },
    {
      "commit": "572d95f49f3652fffe8242c4498b85f4083e52ab",
      "tree": "5c452a69a005a6a18dc80e4ab7090d6d8e230fc6",
      "parents": [
        "948ecdb4c118293d2f3e267eec642c30c5d3a056"
      ],
      "author": {
        "name": "Nathan Scott",
        "email": "nathans@sgi.com",
        "time": "Thu Sep 28 11:03:20 2006 +1000"
      },
      "committer": {
        "name": "Tim Shimmin",
        "email": "tes@sgi.com",
        "time": "Thu Sep 28 11:03:20 2006 +1000"
      },
      "message": "[XFS] Improve error handling for the zero-fsblock extent detection code.\n\nSGI-PV: 955302\nSGI-Modid: xfs-linux-melb:xfs-kern:26802a\n\nSigned-off-by: Nathan Scott \u003cnathans@sgi.com\u003e\nSigned-off-by: Tim Shimmin \u003ctes@sgi.com\u003e\n"
    },
    {
      "commit": "948ecdb4c118293d2f3e267eec642c30c5d3a056",
      "tree": "73675cc22ba239f49c479acae0fed447270b5d06",
      "parents": [
        "efb8ad7e9431a430a75d44288614cf6047ff4baa"
      ],
      "author": {
        "name": "Nathan Scott",
        "email": "nathans@sgi.com",
        "time": "Thu Sep 28 11:03:13 2006 +1000"
      },
      "committer": {
        "name": "Tim Shimmin",
        "email": "tes@sgi.com",
        "time": "Thu Sep 28 11:03:13 2006 +1000"
      },
      "message": "[XFS] Be more defensive with page flags (error/private) for metadata\nbuffers.\n\nSGI-PV: 955302\nSGI-Modid: xfs-linux-melb:xfs-kern:26801a\n\nSigned-off-by: Nathan Scott \u003cnathans@sgi.com\u003e\nSigned-off-by: Tim Shimmin \u003ctes@sgi.com\u003e\n"
    },
    {
      "commit": "efb8ad7e9431a430a75d44288614cf6047ff4baa",
      "tree": "cbebf7d8bf1b5f25235756c0aa7ff610d4cb4055",
      "parents": [
        "3f89243c5b987dd55f8eec6fd54be05887d69bc6"
      ],
      "author": {
        "name": "Nathan Scott",
        "email": "nathans@sgi.com",
        "time": "Thu Sep 28 11:03:05 2006 +1000"
      },
      "committer": {
        "name": "Tim Shimmin",
        "email": "tes@sgi.com",
        "time": "Thu Sep 28 11:03:05 2006 +1000"
      },
      "message": "[XFS] Add a debug flag for allocations which are known to be larger than\none page.\n\nSGI-PV: 955302\nSGI-Modid: xfs-linux-melb:xfs-kern:26800a\n\nSigned-off-by: Nathan Scott \u003cnathans@sgi.com\u003e\nSigned-off-by: Tim Shimmin \u003ctes@sgi.com\u003e\n"
    },
    {
      "commit": "3f89243c5b987dd55f8eec6fd54be05887d69bc6",
      "tree": "a642932049eadf9c9eb94bd16f3b1594c11a466b",
      "parents": [
        "065d312e15902976d256ddaf396a7950ec0350a8"
      ],
      "author": {
        "name": "Eric Sandeen",
        "email": "sandeen@sandeen.net",
        "time": "Thu Sep 28 11:02:57 2006 +1000"
      },
      "committer": {
        "name": "Tim Shimmin",
        "email": "tes@sgi.com",
        "time": "Thu Sep 28 11:02:57 2006 +1000"
      },
      "message": "[XFS] Remove several macros that are no longer used anywhere\n\nSGI-PV: 955302\nSGI-Modid: xfs-linux-melb:xfs-kern:26749a\n\nSigned-off-by: Eric Sandeen \u003csandeen@sandeen.net\u003e\nSigned-off-by: Nathan Scott \u003cnathans@sgi.com\u003e\nSigned-off-by: Tim Shimmin \u003ctes@sgi.com\u003e\n"
    },
    {
      "commit": "43129c16e85119355d352e10ff4b30a08053228c",
      "tree": "3da4c2bedb8b4b46e74493d305f3adcff5399907",
      "parents": [
        "17370097dace78c93d6fa32110983e74b981d192"
      ],
      "author": {
        "name": "Eric Sandeen",
        "email": "sandeen@sandeen.net",
        "time": "Thu Sep 28 11:02:37 2006 +1000"
      },
      "committer": {
        "name": "Tim Shimmin",
        "email": "tes@sgi.com",
        "time": "Thu Sep 28 11:02:37 2006 +1000"
      },
      "message": "[XFS] Remove a couple of unused BUF macros\n\nSGI-PV: 955302\nSGI-Modid: xfs-linux-melb:xfs-kern:26746a\n\nSigned-off-by: Eric Sandeen \u003csandeen@sandeen.net\u003e\nSigned-off-by: Nathan Scott \u003cnathans@sgi.com\u003e\nSigned-off-by: Tim Shimmin \u003ctes@sgi.com\u003e\n"
    },
    {
      "commit": "51bdd70681e247184b81c2de61dbc26154511155",
      "tree": "5ed741ebfb03e5e9ba6a9234a20808df28a1b186",
      "parents": [
        "8b56f083c2a6bd0a88271225f0bcf1d81db20d3c"
      ],
      "author": {
        "name": "Nathan Scott",
        "email": "nathans@sgi.com",
        "time": "Thu Sep 28 11:01:57 2006 +1000"
      },
      "committer": {
        "name": "Tim Shimmin",
        "email": "tes@sgi.com",
        "time": "Thu Sep 28 11:01:57 2006 +1000"
      },
      "message": "[XFS] When issuing metadata readahead, submit bio with READA not READ.\n\nSGI-PV: 944409\nSGI-Modid: xfs-linux-melb:xfs-kern:26603a\n\nSigned-off-by: Nathan Scott \u003cnathans@sgi.com\u003e\nSigned-off-by: Tim Shimmin \u003ctes@sgi.com\u003e\n"
    },
    {
      "commit": "69e23b9a5e7430ced667d8b699330e370c202f28",
      "tree": "9a3cf3d783adf98b9f76c354e7da6de1bfbb70b3",
      "parents": [
        "29b6d22b011d83dac8ca5b7d26f766ae598abbbd"
      ],
      "author": {
        "name": "Nathan Scott",
        "email": "nathans@sgi.com",
        "time": "Thu Sep 28 11:01:22 2006 +1000"
      },
      "committer": {
        "name": "Tim Shimmin",
        "email": "tes@sgi.com",
        "time": "Thu Sep 28 11:01:22 2006 +1000"
      },
      "message": "[XFS] Update XFS for i_blksize removal from generic inode structure\n\nSGI-PV: 954366\nSGI-Modid: xfs-linux-melb:xfs-kern:26565a\n\nSigned-off-by: Nathan Scott \u003cnathans@sgi.com\u003e\nSigned-off-by: Tim Shimmin \u003ctes@sgi.com\u003e\n"
    },
    {
      "commit": "29b6d22b011d83dac8ca5b7d26f766ae598abbbd",
      "tree": "eba7a7e096efa082fbfe8715a2fa2c3d976cab87",
      "parents": [
        "fe48cae9ed979d2ac14080c837d793c4f6bfaa82"
      ],
      "author": {
        "name": "Nathan Scott",
        "email": "nathans@sgi.com",
        "time": "Thu Sep 28 10:59:06 2006 +1000"
      },
      "committer": {
        "name": "Tim Shimmin",
        "email": "tes@sgi.com",
        "time": "Thu Sep 28 10:59:06 2006 +1000"
      },
      "message": "[XFS] remove accidentally reintroduced vfs unmount flag, unneeded in\ncurrent kernels\n\nSGI-PV: 954580\nSGI-Modid: xfs-linux-melb:xfs-kern:26564a\n\nSigned-off-by: Nathan Scott \u003cnathans@sgi.com\u003e\nSigned-off-by: Tim Shimmin \u003ctes@sgi.com\u003e\n"
    },
    {
      "commit": "fe48cae9ed979d2ac14080c837d793c4f6bfaa82",
      "tree": "8e130619553b5415952b2184a83c6fabc7c062f8",
      "parents": [
        "1121b219bf3fe6d1bd1d1f7618cc5e0c409fabb4"
      ],
      "author": {
        "name": "Christoph Hellwig",
        "email": "hch@lst.de",
        "time": "Thu Sep 28 10:58:52 2006 +1000"
      },
      "committer": {
        "name": "Tim Shimmin",
        "email": "tes@sgi.com",
        "time": "Thu Sep 28 10:58:52 2006 +1000"
      },
      "message": "[XFS] remove bhv_lookup, _range version works aswell and has more useful\nsemantics.\n\nSGI-PV: 954580\nSGI-Modid: xfs-linux-melb:xfs-kern:26563a\n\nSigned-off-by: Christoph Hellwig \u003chch@lst.de\u003e\nSigned-off-by: Nathan Scott \u003cnathans@sgi.com\u003e\nSigned-off-by: Tim Shimmin \u003ctes@sgi.com\u003e\n"
    },
    {
      "commit": "ed9d88f7b7e6feba457b87ff30249e6c1e139005",
      "tree": "8711035c066fd9c4c934c5e622c672a4fb280f0b",
      "parents": [
        "673cdf5c72ff9551df08a71f2ac1a8fe02888e8d"
      ],
      "author": {
        "name": "Nathan Scott",
        "email": "nathans@sgi.com",
        "time": "Thu Sep 28 10:56:43 2006 +1000"
      },
      "committer": {
        "name": "Tim Shimmin",
        "email": "tes@sgi.com",
        "time": "Thu Sep 28 10:56:43 2006 +1000"
      },
      "message": "[XFS] Fix sparse warning found when page tracing enabled, due to\noverloaded gfp_t param.\n\nSGI-PV: 954580\nSGI-Modid: xfs-linux-melb:xfs-kern:26552a\n\nSigned-off-by: Nathan Scott \u003cnathans@sgi.com\u003e\nSigned-off-by: Tim Shimmin \u003ctes@sgi.com\u003e\n"
    },
    {
      "commit": "87395deb0b3d174ffcc7f66569764f0715ac5174",
      "tree": "40a3f1372fd2df70a7033ee10efa33f76d0a7aff",
      "parents": [
        "128dabc5e9aa13dfebcad84e6b4ab31078555131"
      ],
      "author": {
        "name": "Alexey Dobriyan",
        "email": "adobriyan@gmail.com",
        "time": "Thu Sep 28 10:56:01 2006 +1000"
      },
      "committer": {
        "name": "Tim Shimmin",
        "email": "tes@sgi.com",
        "time": "Thu Sep 28 10:56:01 2006 +1000"
      },
      "message": "[XFS] move XFS_IOC_GETVERSION to main multiplexer\n\nAvoids doing an unnecessary inode to vnode conversion and avoids a memory\nallocation.\n\nSGI-PV: 904196\nSGI-Modid: xfs-linux-melb:xfs-kern:26492a\n\nSigned-off-by: Alexey Dobriyan \u003cadobriyan@gmail.com\u003e\nSigned-off-by: Nathan Scott \u003cnathans@sgi.com\u003e\nSigned-off-by: Tim Shimmin \u003ctes@sgi.com\u003e\n"
    },
    {
      "commit": "f07c225036358038bf8a64f75351f10cdca2fb22",
      "tree": "b64bb87fa152240d77ae749c3b4a95af9190d583",
      "parents": [
        "f37ea14969bf85633d3bd29ddf008171a5618855"
      ],
      "author": {
        "name": "Nathan Scott",
        "email": "nathans@sgi.com",
        "time": "Thu Sep 28 10:52:15 2006 +1000"
      },
      "committer": {
        "name": "Tim Shimmin",
        "email": "tes@sgi.com",
        "time": "Thu Sep 28 10:52:15 2006 +1000"
      },
      "message": "[XFS] Improve xfsbufd delayed write submission patterns, after blktrace\nanalysis.\n\nUnder a sequential create+allocate workload, blktrace reported backward\nwrites being issued by xfsbufd, and frequent inappropriate queue unplugs.\nWe now insert at the tail when moving from the delwri lists to the temp\nlists, which maintains correct ordering, and we avoid unplugging queues\ndeep in the submit paths when we\u0027d shortly do it at a higher level anyway.\nblktrace now reports much healthier write patterns from xfsbufd for this\nworkload (and likely many others).\n\nSGI-PV: 954310\nSGI-Modid: xfs-linux-melb:xfs-kern:26396a\n\nSigned-off-by: Nathan Scott \u003cnathans@sgi.com\u003e\nSigned-off-by: Tim Shimmin \u003ctes@sgi.com\u003e\n"
    },
    {
      "commit": "f37ea14969bf85633d3bd29ddf008171a5618855",
      "tree": "cba4e7f2de1a24ebf97edae50e264b25b0f64892",
      "parents": [
        "a77c64c1a641950626181b4857abb701d8f38ccc"
      ],
      "author": {
        "name": "Alexey Dobriyan",
        "email": "adobriyan@gmail.com",
        "time": "Thu Sep 28 10:52:04 2006 +1000"
      },
      "committer": {
        "name": "Tim Shimmin",
        "email": "tes@sgi.com",
        "time": "Thu Sep 28 10:52:04 2006 +1000"
      },
      "message": "[XFS] pass inode to xfs_ioc_space(), simplify some code. There is trivial\n\"inode \u003d\u003e vnode \u003d\u003e inode\" conversion, but only flags and mode of final\ninode are looked at. Pass original inode instead.\n\nSGI-PV: 904196\nSGI-Modid: xfs-linux-melb:xfs-kern:26395a\n\nSigned-off-by: Alexey Dobriyan \u003cadobriyan@gmail.com\u003e\nSigned-off-by: Nathan Scott \u003cnathans@sgi.com\u003e\nSigned-off-by: Tim Shimmin \u003ctes@sgi.com\u003e\n"
    }
  ],
  "next": "ba52de123d454b57369f291348266d86f4b35070"
}
