)]}'
{
  "log": [
    {
      "commit": "39655164405940d4818224a085e35420e2f97aed",
      "tree": "6b019b3bc77eecac1731fe64e5c031790c2b5223",
      "parents": [
        "cfaea787c05822acbb4d8963baee5edd1cc0258f"
      ],
      "author": {
        "name": "Christoph Hellwig",
        "email": "hch@lst.de",
        "time": "Sun Oct 21 16:42:17 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Mon Oct 22 08:13:21 2007 -0700"
      },
      "message": "exportfs: make struct export_operations const\n\nNow that nfsd has stopped writing to the find_exported_dentry member we an\nmark the export_operations const\n\nSigned-off-by: Christoph Hellwig \u003chch@lst.de\u003e\nCc: Neil Brown \u003cneilb@suse.de\u003e\nCc: \"J. Bruce Fields\" \u003cbfields@fieldses.org\u003e\nCc: \u003clinux-ext4@vger.kernel.org\u003e\nCc: Dave Kleikamp \u003cshaggy@austin.ibm.com\u003e\nCc: Anton Altaparmakov \u003caia21@cantab.net\u003e\nCc: David Chinner \u003cdgc@sgi.com\u003e\nCc: Timothy Shimmin \u003ctes@sgi.com\u003e\nCc: OGAWA Hirofumi \u003chirofumi@mail.parknet.co.jp\u003e\nCc: Hugh Dickins \u003chugh@veritas.com\u003e\nCc: Chris Mason \u003cmason@suse.com\u003e\nCc: Jeff Mahoney \u003cjeffm@suse.com\u003e\nCc: \"Vladimir V. Saveliev\" \u003cvs@namesys.com\u003e\nCc: Steven Whitehouse \u003cswhiteho@redhat.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": "c38344fe9e73c99d546cc15a2bb97c7a09942aad",
      "tree": "83d3cb3f57367ef934fd751e01ff0e11a21bf5e5",
      "parents": [
        "a35132068a91907c29328abc3156d31e50673412"
      ],
      "author": {
        "name": "Christoph Hellwig",
        "email": "hch@lst.de",
        "time": "Sun Oct 21 16:42:11 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Mon Oct 22 08:13:20 2007 -0700"
      },
      "message": "xfs: new export ops\n\nThis one is a lot more complicated than the previous ones.  XFS already had a\nvery clever scheme for supporting 64bit inode numbers in filehandles, and I\u0027ve\nreworked this to be some kind of a prototype for the generic 64bit inode\nfilehandle support.\n\nSigned-off-by: Christoph Hellwig \u003chch@lst.de\u003e\nCc: Neil Brown \u003cneilb@suse.de\u003e\nCc: \"J. Bruce Fields\" \u003cbfields@fieldses.org\u003e\nCc: David Chinner \u003cdgc@sgi.com\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": "c6143911a7e0f8abef0319c801eb36718f57dfde",
      "tree": "86138962b153b617b5c117797394e23337f979c7",
      "parents": [
        "c8fcfac5a257f8a04f7ba3d397dedccffef19be2"
      ],
      "author": {
        "name": "Christoph Hellwig",
        "email": "hch@infradead.org",
        "time": "Fri Sep 14 15:22:37 2007 +1000"
      },
      "committer": {
        "name": "Tim Shimmin",
        "email": "tes@chook.melbourne.sgi.com",
        "time": "Fri Oct 19 18:02:55 2007 +1000"
      },
      "message": "[XFS] cleanup fid types mess\n\nCurrently XFs has three different fid types: struct fid, struct xfs_fid\nand struct xfs_fid2 with hte latter two beeing identicaly and the first\none beeing the same size but an unstructured array with the same size.\n\nThis patch consolidates all this to alway uuse struct xfs_fid.\n\nThis patch is required for an upcoming patch series from me that revamps\nthe nfs exporting code and introduces a Linux-wide struct fid.\n\nSGI-PV: 970336\nSGI-Modid: xfs-linux-melb:xfs-kern:29651a\n\nSigned-off-by: Christoph Hellwig \u003chch@infradead.org\u003e\nSigned-off-by: Lachlan McIlroy \u003clachlan@sgi.com\u003e\nSigned-off-by: Tim Shimmin \u003ctes@sgi.com\u003e\n"
    },
    {
      "commit": "c8fcfac5a257f8a04f7ba3d397dedccffef19be2",
      "tree": "38dba94d1b3a81f56ee93dbf35b2cf1408f58620",
      "parents": [
        "4fa4d23fa20de67df919030c1216295664866ad7"
      ],
      "author": {
        "name": "Christoph Hellwig",
        "email": "hch@lst.de",
        "time": "Fri Oct 19 16:57:01 2007 +1000"
      },
      "committer": {
        "name": "Tim Shimmin",
        "email": "tes@sgi.com",
        "time": "Fri Oct 19 17:14:45 2007 +1000"
      },
      "message": "[XFS] fixups after behavior removal merge into mainline git\n\nFixup for lack of dmapi support and no quota module support.\n\nSGI-PV: 969985\n\nSigned-off-by: Christoph Hellwig \u003chch@infradead.org\u003e\nSigned-off-by: Tim Shimmin \u003ctes@sgi.com\u003e\n"
    },
    {
      "commit": "347c53dca73fca317d57781f510f5ff4f6c0d0d7",
      "tree": "cdc405ac049751da4d76085ce58750b6b2a22326",
      "parents": [
        "5c8e191e8437616a498a8e1cc0af3dd0d32bbff2",
        "7f015072348a14f16d548be557ee58c5c55df0aa"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Wed Oct 17 09:04:11 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Wed Oct 17 09:04:11 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: (59 commits)\n  [XFS] eagerly remove vmap mappings to avoid upsetting Xen\n  [XFS] simplify validata_fields\n  [XFS] no longer using io_vnode, as was remaining from 23 cherrypick\n  [XFS] Remove STATIC which was missing from prior manual merge\n  [XFS] Put back the QUEUE_ORDERED_NONE test in the barrier check.\n  [XFS] Turn off XBF_ASYNC flag before re-reading superblock.\n  [XFS] avoid race in sync_inodes() that can fail to write out all dirty data\n  [XFS] This fix prevents bulkstat from spinning in an infinite loop.\n  [XFS] simplify xfs_create/mknod/symlink prototype\n  [XFS] avoid xfs_getattr in XFS_IOC_FSGETXATTR ioctl\n  [XFS] get_bulkall() could return incorrect inode state\n  [XFS] Kill unused IOMAP_EOF flag\n  [XFS] fix when DMAPI mount option processing happens\n  [XFS] ensure file size is logged on synchronous writes\n  [XFS] growlock should be a mutex\n  [XFS] replace some large xfs_log_priv.h macros by proper functions\n  [XFS] kill struct bhv_vfs\n  [XFS] move syncing related members from struct bhv_vfs to struct xfs_mount\n  [XFS] kill the vfs_flags member in struct bhv_vfs\n  [XFS] kill the vfs_fsid and vfs_altfsid members in struct bhv_vfs\n  ...\n"
    },
    {
      "commit": "1c0eeaf5698597146ed9b873e2f9e0961edcf0f9",
      "tree": "5265eac8437e8ce517a62db8fe2bd99db5b7019b",
      "parents": [
        "2e6883bdf49abd0e7f0d9b6297fc3be7ebb2250b"
      ],
      "author": {
        "name": "Joern Engel",
        "email": "joern@wohnheim.fh-wedel.de",
        "time": "Tue Oct 16 23:30:44 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Wed Oct 17 08:43:02 2007 -0700"
      },
      "message": "introduce I_SYNC\n\nI_LOCK was used for several unrelated purposes, which caused deadlock\nsituations in certain filesystems as a side effect.  One of the purposes\nnow uses the new I_SYNC bit.\n\nAlso document the various bits and change their order from historical to\nlogical.\n\n[bunk@stusta.de: make fs/inode.c:wake_up_inode() static]\nSigned-off-by: Joern Engel \u003cjoern@wohnheim.fh-wedel.de\u003e\nCc: Dave Kleikamp \u003cshaggy@linux.vnet.ibm.com\u003e\nCc: David Chinner \u003cdgc@sgi.com\u003e\nCc: Anton Altaparmakov \u003caia21@cam.ac.uk\u003e\nCc: Al Viro \u003cviro@ftp.linux.org.uk\u003e\nCc: Christoph Hellwig \u003chch@infradead.org\u003e\nSigned-off-by: Adrian Bunk \u003cbunk@stusta.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "1f7decf6d9f06dac008b8d66935c0c3b18e564f9",
      "tree": "e0f8430bd4e3ed5425aa55b7fa28483341bbfe87",
      "parents": [
        "08d8e9749e7f0435ba4683b620e8d30d59276b4c"
      ],
      "author": {
        "name": "Fengguang Wu",
        "email": "wfg@mail.ustc.edu.cn",
        "time": "Tue Oct 16 23:30:42 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Wed Oct 17 08:43:02 2007 -0700"
      },
      "message": "writeback: remove pages_skipped accounting in __block_write_full_page()\n\nMiklos Szeredi \u003cmiklos@szeredi.hu\u003e and me identified a writeback bug:\n\n\u003e The following strange behavior can be observed:\n\u003e\n\u003e 1. large file is written\n\u003e 2. after 30 seconds, nr_dirty goes down by 1024\n\u003e 3. then for some time (\u003c 30 sec) nothing happens (disk idle)\n\u003e 4. then nr_dirty again goes down by 1024\n\u003e 5. repeat from 3. until whole file is written\n\u003e\n\u003e So basically a 4Mbyte chunk of the file is written every 30 seconds.\n\u003e I\u0027m quite sure this is not the intended behavior.\n\nIt can be produced by the following test scheme:\n\n# cat bin/test-writeback.sh\ngrep nr_dirty /proc/vmstat\necho 1 \u003e /proc/sys/fs/inode_debug\ndd if\u003d/dev/zero of\u003d/var/x bs\u003d1K count\u003d204800\u0026\nwhile true; do grep nr_dirty /proc/vmstat; sleep 1; done\n\n# bin/test-writeback.sh\nnr_dirty 19207\nnr_dirty 19207\nnr_dirty 30924\n204800+0 records in\n204800+0 records out\n209715200 bytes (210 MB) copied, 1.58363 seconds, 132 MB/s\nnr_dirty 47150\nnr_dirty 47141\nnr_dirty 47142\nnr_dirty 47142\nnr_dirty 47142\nnr_dirty 47142\nnr_dirty 47205\nnr_dirty 47214\nnr_dirty 47214\nnr_dirty 47214\nnr_dirty 47214\nnr_dirty 47214\nnr_dirty 47215\nnr_dirty 47216\nnr_dirty 47216\nnr_dirty 47216\nnr_dirty 47154\nnr_dirty 47143\nnr_dirty 47143\nnr_dirty 47143\nnr_dirty 47143\nnr_dirty 47143\nnr_dirty 47142\nnr_dirty 47142\nnr_dirty 47142\nnr_dirty 47142\nnr_dirty 47134\nnr_dirty 47134\nnr_dirty 47135\nnr_dirty 47135\nnr_dirty 47135\nnr_dirty 46097 \u003c\u003d\u003d -1038\nnr_dirty 46098\nnr_dirty 46098\nnr_dirty 46098\n[...]\nnr_dirty 46091\nnr_dirty 46092\nnr_dirty 46092\nnr_dirty 45069 \u003c\u003d\u003d -1023\nnr_dirty 45056\nnr_dirty 45056\nnr_dirty 45056\n[...]\nnr_dirty 37822\nnr_dirty 36799 \u003c\u003d\u003d -1023\n[...]\nnr_dirty 36781\nnr_dirty 35758 \u003c\u003d\u003d -1023\n[...]\nnr_dirty 34708\nnr_dirty 33672 \u003c\u003d\u003d -1024\n[...]\nnr_dirty 33692\nnr_dirty 32669 \u003c\u003d\u003d -1023\n\n% ls -li /var/x\n847824 -rw-r--r-- 1 root root 200M 2007-08-12 04:12 /var/x\n\n% dmesg|grep 847824  # generated by a debug printk\n[  529.263184] redirtied inode 847824 line 548\n[  564.250872] redirtied inode 847824 line 548\n[  594.272797] redirtied inode 847824 line 548\n[  629.231330] redirtied inode 847824 line 548\n[  659.224674] redirtied inode 847824 line 548\n[  689.219890] redirtied inode 847824 line 548\n[  724.226655] redirtied inode 847824 line 548\n[  759.198568] redirtied inode 847824 line 548\n\n# line 548 in fs/fs-writeback.c:\n543                 if (wbc-\u003epages_skipped !\u003d pages_skipped) {\n544                         /*\n545                          * writeback is not making progress due to locked\n546                          * buffers.  Skip this inode for now.\n547                          */\n548                         redirty_tail(inode);\n549                 }\n\nMore debug efforts show that __block_write_full_page()\nnever has the chance to call submit_bh() for that big dirty file:\nthe buffer head is *clean*. So basicly no page io is issued by\n__block_write_full_page(), hence pages_skipped goes up.\n\nAlso the comment in generic_sync_sb_inodes():\n\n544                         /*\n545                          * writeback is not making progress due to locked\n546                          * buffers.  Skip this inode for now.\n547                          */\n\nand the comment in __block_write_full_page():\n\n1713                 /*\n1714                  * The page was marked dirty, but the buffers were\n1715                  * clean.  Someone wrote them back by hand with\n1716                  * ll_rw_block/submit_bh.  A rare case.\n1717                  */\n\ndo not quite agree with each other. The page writeback should be skipped for\n\u0027locked buffer\u0027, but here it is \u0027clean buffer\u0027!\n\nThis patch fixes this bug. Though I\u0027m not sure why __block_write_full_page()\nis called only to do nothing and who actually issued the writeback for us.\n\nThis is the two possible new behaviors after the patch:\n\n1) pretty nice: wait 30s and write ALL:)\n2) not so good:\n\t- during the dd: ~16M\n\t- after 30s:      ~4M\n\t- after 5s:       ~4M\n\t- after 5s:     ~176M\n\nThe next patch will fix case (2).\n\nCc: David Chinner \u003cdgc@sgi.com\u003e\nCc: Ken Chen \u003ckenchen@google.com\u003e\nSigned-off-by: Fengguang Wu \u003cwfg@mail.ustc.edu.cn\u003e\nSigned-off-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": "4ba9b9d0ba0a49d91fa6417c7510ee36f48cf957",
      "tree": "191b4f45f926e44b882b1e87a9a85dc12230b892",
      "parents": [
        "b811c202a0edadaac7242ab834fe7ba409978ae7"
      ],
      "author": {
        "name": "Christoph Lameter",
        "email": "clameter@sgi.com",
        "time": "Tue Oct 16 23:25:51 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Wed Oct 17 08:42:45 2007 -0700"
      },
      "message": "Slab API: remove useless ctor parameter and reorder parameters\n\nSlab constructors currently have a flags parameter that is never used.  And\nthe order of the arguments is opposite to other slab functions.  The object\npointer is placed before the kmem_cache pointer.\n\nConvert\n\n        ctor(void *object, struct kmem_cache *s, unsigned long flags)\n\nto\n\n        ctor(struct kmem_cache *s, void *object)\n\nthroughout the kernel\n\n[akpm@linux-foundation.org: coupla fixes]\nSigned-off-by: Christoph Lameter \u003cclameter@sgi.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "7f015072348a14f16d548be557ee58c5c55df0aa",
      "tree": "957c0ddf2bddd976269f707ef8043e588baf1c5f",
      "parents": [
        "6572bc28de150aaa6ca182eaf3e60c199ba48630"
      ],
      "author": {
        "name": "Jeremy Fitzhardinge",
        "email": "jeremy@xensource.com",
        "time": "Wed Oct 17 13:55:03 2007 +1000"
      },
      "committer": {
        "name": "Tim Shimmin",
        "email": "tes@chook.melbourne.sgi.com",
        "time": "Wed Oct 17 14:14:35 2007 +1000"
      },
      "message": "[XFS] eagerly remove vmap mappings to avoid upsetting Xen\n\nXFS leaves stray mappings around when it vmaps memory to make it virtually\ncontigious. This upsets Xen if one of those pages is being recycled into a\npagetable, since it finds an extra writable mapping of the page.\n\nThis patch solves the problem in a brute force way, by making XFS always\neagerly unmap its mappings.\n\nSGI-PV: 971902\nSGI-Modid: xfs-linux-melb:xfs-kern:29886a\n\nSigned-off-by: Jeremy Fitzhardinge \u003cjeremy@xensource.com\u003e\nSigned-off-by: David Chinner \u003cdgc@sgi.com\u003e\nSigned-off-by: Tim Shimmin \u003ctes@sgi.com\u003e\n"
    },
    {
      "commit": "6572bc28de150aaa6ca182eaf3e60c199ba48630",
      "tree": "ad1be400b0648e91b021289c60c578735e7d225a",
      "parents": [
        "150f29ef2e96392c6ddf24d49289dd40df2783f0"
      ],
      "author": {
        "name": "Christoph Hellwig",
        "email": "hch@infradead.org",
        "time": "Wed Sep 19 15:27:39 2007 +1000"
      },
      "committer": {
        "name": "Tim Shimmin",
        "email": "tes@chook.melbourne.sgi.com",
        "time": "Wed Oct 17 11:10:14 2007 +1000"
      },
      "message": "[XFS] simplify validata_fields\n\nStop using xfs_getattr and a onstack bhv_vattr_t just to get three fields\nfrom the underlying inode and opencode copying from the inode fields\ninstead.\n\nSGI-PV: 970662\nSGI-Modid: xfs-linux-melb:xfs-kern:29711a\n\nSigned-off-by: Christoph Hellwig \u003chch@infradead.org\u003e\nSigned-off-by: Lachlan McIlroy \u003clachlan@sgi.com\u003e\nSigned-off-by: Tim Shimmin \u003ctes@sgi.com\u003e\n"
    },
    {
      "commit": "d79689c7038ea07182e8d7340786f7fcf8c77780",
      "tree": "8275c8ab209a8ecd03838f41e42228b053de00af",
      "parents": [
        "bfc1af650a8f36feba6b90a6c398325f885c00bc"
      ],
      "author": {
        "name": "Nick Piggin",
        "email": "npiggin@suse.de",
        "time": "Tue Oct 16 01:25:06 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Tue Oct 16 09:42:55 2007 -0700"
      },
      "message": "xfs: convert to new aops\n\nSigned-off-by: Nick Piggin \u003cnpiggin@suse.de\u003e\nCc: David Chinner \u003cdgc@sgi.com\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": "150f29ef2e96392c6ddf24d49289dd40df2783f0",
      "tree": "d827da7032b35c78b475b1d037230194933176d9",
      "parents": [
        "479ba36bbb322a21aa65cc89223c50adf78f4a56"
      ],
      "author": {
        "name": "Tim Shimmin",
        "email": "tes@chook.melbourne.sgi.com",
        "time": "Tue Oct 16 16:20:12 2007 +1000"
      },
      "committer": {
        "name": "Tim Shimmin",
        "email": "tes@chook.melbourne.sgi.com",
        "time": "Tue Oct 16 16:20:12 2007 +1000"
      },
      "message": "[XFS] no longer using io_vnode, as was remaining from 23 cherrypick\n\nBecause we cherrypicked SGI-Modid xfs-linux-melb:xfs-kern:29675a\nand it depended on the sgi mod which removed io_vnode (which was\nnot cherrypicked in 23) it was hand modified.\nThis fixes things back up (to the originial mod) now we have moved\non again.\n\nReviewed-by: Lachlan McIlroy \u003clachlan@sgi.com\u003e\nSigned-off-by: Tim Shimmin \u003ctes@sgi.com\u003e\n"
    },
    {
      "commit": "479ba36bbb322a21aa65cc89223c50adf78f4a56",
      "tree": "20d43a3913680bd7dd77fb83d83824bb6c90d23d",
      "parents": [
        "cd514bdaa87e48b52d4074390043f19ce43ea2c4"
      ],
      "author": {
        "name": "Tim Shimmin",
        "email": "tes@chook.melbourne.sgi.com",
        "time": "Tue Oct 16 15:32:57 2007 +1000"
      },
      "committer": {
        "name": "Tim Shimmin",
        "email": "tes@chook.melbourne.sgi.com",
        "time": "Tue Oct 16 15:32:57 2007 +1000"
      },
      "message": "[XFS] Remove STATIC which was missing from prior manual merge\n\nRemoves STATIC on xfs_freeze function which was not manually\napplied for SGI-Modid: xfs-linux-melb:xfs-kern:29504a.\n\nReviewed-by: Lachlan McIlroy \u003clachlan@sgi.com\u003e\nSigned-off-by: Tim Shimmin \u003ctes@sgi.com\u003e\n"
    },
    {
      "commit": "cd514bdaa87e48b52d4074390043f19ce43ea2c4",
      "tree": "e481409645bc53921eaef606b85798bdb257e1c6",
      "parents": [
        "bebf963fec2f319d162c18d06b6592f572c9c101"
      ],
      "author": {
        "name": "Tim Shimmin",
        "email": "tes@sgi.com",
        "time": "Mon Oct 15 13:18:59 2007 +1000"
      },
      "committer": {
        "name": "Tim Shimmin",
        "email": "tes@chook.melbourne.sgi.com",
        "time": "Tue Oct 16 14:23:21 2007 +1000"
      },
      "message": "[XFS] Put back the QUEUE_ORDERED_NONE test in the barrier check.\n\nPut back the QUEUE_ORDERED_NONE test which caused us grief in sles when it\nwas taken out as, IIRC, it allowed md/lvm to be thought of as supporting\nbarriers when they weren\u0027t in some configurations. This patch will be\nreverting what went in as part of a change for the SGI-pv 964544\n(SGI-Modid: xfs-linux-melb:xfs-kern:28568a).\n\nSGI-PV: 971783\nSGI-Modid: xfs-linux-melb:xfs-kern:29882a\n\nSigned-off-by: Tim Shimmin \u003ctes@sgi.com\u003e\nSigned-off-by: David Chinner \u003cdgc@sgi.com\u003e\n"
    },
    {
      "commit": "bebf963fec2f319d162c18d06b6592f572c9c101",
      "tree": "71abaab06023eb581f9fa059da119da553532493",
      "parents": [
        "e893bffd4cf2f000f3058319eea5abeeb1755969"
      ],
      "author": {
        "name": "Lachlan McIlroy",
        "email": "lachlan@sgi.com",
        "time": "Mon Oct 15 13:18:02 2007 +1000"
      },
      "committer": {
        "name": "Tim Shimmin",
        "email": "tes@chook.melbourne.sgi.com",
        "time": "Tue Oct 16 14:22:39 2007 +1000"
      },
      "message": "[XFS] Turn off XBF_ASYNC flag before re-reading superblock.\n\nSGI-PV: 971603\nSGI-Modid: xfs-linux-melb:xfs-kern:29871a\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": "e893bffd4cf2f000f3058319eea5abeeb1755969",
      "tree": "f72f91742c4e145df11168db118deb5ac2deb2b5",
      "parents": [
        "c2cba57e83dd7d2dda4ec425998b536669632c82"
      ],
      "author": {
        "name": "Lachlan McIlroy",
        "email": "lachlan@sgi.com",
        "time": "Fri Oct 12 11:13:35 2007 +1000"
      },
      "committer": {
        "name": "Tim Shimmin",
        "email": "tes@chook.melbourne.sgi.com",
        "time": "Tue Oct 16 14:22:28 2007 +1000"
      },
      "message": "[XFS] avoid race in sync_inodes() that can fail to write out all dirty data\n\nIn xfs_fs_sync_super() treat a sync the same as a filesystem freeze. This\nis needed to force the log to disk for inodes which are not marked dirty\nin the Linux inode (the inodes are marked dirty on completion of the log\nI/O) and so sync_inodes() will not flush them.\n\nIn xfs_fs_write_inode() a synchronous flush will not get an EAGAIN from\nxfs_inode_flush() and if an asynchronous flush returns EAGAIN we should\npass it on to the caller. If we get an error while flushing the inode then\nre-dirty it so we can try again later.\n\nSGI-PV: 971670\nSGI-Modid: xfs-linux-melb:xfs-kern:29860a\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": "c2cba57e83dd7d2dda4ec425998b536669632c82",
      "tree": "89ae704e5306d9b8eecdf13abba9eb335f2c82f4",
      "parents": [
        "3e5daf05a0c7cce36dc2db41933b14b36d2048dc"
      ],
      "author": {
        "name": "Lachlan McIlroy",
        "email": "lachlan@sgi.com",
        "time": "Fri Oct 12 11:12:20 2007 +1000"
      },
      "committer": {
        "name": "Tim Shimmin",
        "email": "tes@chook.melbourne.sgi.com",
        "time": "Tue Oct 16 14:21:56 2007 +1000"
      },
      "message": "[XFS] This fix prevents bulkstat from spinning in an infinite loop.\n\nHere \u0027agino\u0027 increments through the inodes in an allocation group. At the\nend of the innermost \u0027for\u0027 loop it will hold the value of the next inode\nto look at (ie the first inode in the next cluster/chunk). Assigning\n\u0027lastino\u0027 to \u0027agino\u0027 resets it to the last inode in the last inode cluster\nwe just looked at. This causes us to look up the very same cluster and\nexamine all the inodes all over again, and again, and again...\n\nWe also want to set \u0027lastino\u0027 for the cases when we\u0027re not interested in\nthe inode so that the next call to bulkstat won\u0027t re-examine the same\nuninteresting inodes.\n\nSGI-PV: 971064\nSGI-Modid: xfs-linux-melb:xfs-kern:29840a\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": "3e5daf05a0c7cce36dc2db41933b14b36d2048dc",
      "tree": "6116ce7e400b152594e867b9e4d67bdfe67a414c",
      "parents": [
        "c83bfab1faec9c32297d2079c06adaaaea2650d9"
      ],
      "author": {
        "name": "Christoph Hellwig",
        "email": "hch@infradead.org",
        "time": "Thu Oct 11 18:09:12 2007 +1000"
      },
      "committer": {
        "name": "Tim Shimmin",
        "email": "tes@chook.melbourne.sgi.com",
        "time": "Tue Oct 16 14:15:32 2007 +1000"
      },
      "message": "[XFS] simplify xfs_create/mknod/symlink prototype\n\nSimplify the prototype for xfs_create/xfs_mkdir/xfs_symlink by not passing\ndown a bhv_vattr_t that just hogs stack space. Instead pass down the mode\nin a mode_t and in case of xfs_create the rdev as a scalar type as well.\n\nSGI-PV: 968563\nSGI-Modid: xfs-linux-melb:xfs-kern:29794a\n\nSigned-off-by: Christoph Hellwig \u003chch@infradead.org\u003e\nSigned-off-by: Lachlan McIlroy \u003clachlan@sgi.com\u003e\nSigned-off-by: Tim Shimmin \u003ctes@sgi.com\u003e\n"
    },
    {
      "commit": "c83bfab1faec9c32297d2079c06adaaaea2650d9",
      "tree": "facee67eadcb9cee317f40a9cd421eafce376bbe",
      "parents": [
        "859d718279b6e1d6bc27a701db47c1be720b5907"
      ],
      "author": {
        "name": "Christoph Hellwig",
        "email": "hch@infradead.org",
        "time": "Thu Oct 11 17:47:00 2007 +1000"
      },
      "committer": {
        "name": "Tim Shimmin",
        "email": "tes@chook.melbourne.sgi.com",
        "time": "Tue Oct 16 12:21:48 2007 +1000"
      },
      "message": "[XFS] avoid xfs_getattr in XFS_IOC_FSGETXATTR ioctl\n\nNo need to call into xfs_getattr and put a big bhv_vattr_t on the stack\njust to get a little information from the XFS inode.\n\nAdd a helper called xfs_ioc_fsgetxattr instead that deals with retrieving\nthe information in a clean way.\n\nSGI-PV: 968563\nSGI-Modid: xfs-linux-melb:xfs-kern:29780a\n\nSigned-off-by: Christoph Hellwig \u003chch@infradead.org\u003e\nSigned-off-by: Lachlan McIlroy \u003clachlan@sgi.com\u003e\nSigned-off-by: Tim Shimmin \u003ctes@sgi.com\u003e\n"
    },
    {
      "commit": "859d718279b6e1d6bc27a701db47c1be720b5907",
      "tree": "a3b867865c5fcd44fdf5f1f1a0c960a2deb173d6",
      "parents": [
        "ba532a980b7dcccf5eebd2cd409a9cb37faa2bb4"
      ],
      "author": {
        "name": "Vlad Apostolov",
        "email": "vapo@sgi.com",
        "time": "Thu Oct 11 17:44:18 2007 +1000"
      },
      "committer": {
        "name": "Tim Shimmin",
        "email": "tes@chook.melbourne.sgi.com",
        "time": "Tue Oct 16 12:21:15 2007 +1000"
      },
      "message": "[XFS] get_bulkall() could return incorrect inode state\n\nIn the following scenario xfs_bulkstat() returns incorrect stale inode\nstate:\n\n1. File_A is created and its inode synced to disk. 2. File_A is unlinked\nand doesn\u0027t exist anymore. 3. Filesystem sync is invoked. 4. File_B is\ncreated. File_B happens to reclaim File_A\u0027s inode. 5. xfs_bulkstat() is\ncalled and detects File_B but reports the\n\nincorrect File_A inode state.\n\nExplanation for the incorrect inode state is that inodes are not\nimmediately synced on file create for performance reasons. This leaves the\non-disk inode buffer uninitialized (or with old state from a previous\ngeneration inode) and this is what xfs_bulkstat() would report.\n\nThe patch marks the on-disk inode buffer \"dirty\" on unlink. When the inode\nis reclaimed (by a new file create), xfs_bulkstat() would filter this\ninode by the \"dirty\" mark. Once the inode is flushed to disk, the on-disk\nbuffer \"dirty\" mark is automatically removed and a following\nxfs_bulkstat() would return the correct inode state.\n\nMarking the on-disk inode buffer \"dirty\" on unlink is achieved by setting\nthe on-disk di_nlink field to 0. Note that the in-core di_nlink has\nalready been set to 0 and a corresponding transaction logged by\nxfs_droplink(). This is an exception from the rule that any on-disk inode\nbuffer changes has to be followed by a disk write (inode flush).\nSynchronizing the in-core to on-disk di_nlink values in advance (before\nthe actual inode flush to disk) should be fine in this case because the\ninode is already unlinked and it would never change its di_nlink again for\nthis inode generation.\n\nSGI-PV: 970842\nSGI-Modid: xfs-linux-melb:xfs-kern:29757a\n\nSigned-off-by: Vlad Apostolov \u003cvapo@sgi.com\u003e\nSigned-off-by: Alex Elder \u003caelder@sgi.com\u003e\nSigned-off-by: David Chinner \u003cdgc@sgi.com\u003e\nSigned-off-by: Christoph Hellwig \u003chch@infradead.org\u003e\nSigned-off-by: Mark Goodwin \u003cmarkgw@sgi.com\u003e\nSigned-off-by: Tim Shimmin \u003ctes@sgi.com\u003e\n"
    },
    {
      "commit": "ba532a980b7dcccf5eebd2cd409a9cb37faa2bb4",
      "tree": "41022249233e5f189473c0ebb456f6c5c35d2871",
      "parents": [
        "574342f4ad450b33bc85ec53210b8aa8bfff2fcf"
      ],
      "author": {
        "name": "Christoph Hellwig",
        "email": "hch@infradead.org",
        "time": "Wed Sep 19 15:27:18 2007 +1000"
      },
      "committer": {
        "name": "Tim Shimmin",
        "email": "tes@chook.melbourne.sgi.com",
        "time": "Tue Oct 16 12:20:54 2007 +1000"
      },
      "message": "[XFS] Kill unused IOMAP_EOF flag\n\nSGI-PV: 968563\nSGI-Modid: xfs-linux-melb:xfs-kern:29705a\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": "574342f4ad450b33bc85ec53210b8aa8bfff2fcf",
      "tree": "d8e6cb9de0ccd485fc1d457a8d573f9f72099240",
      "parents": [
        "5903c4956f7b429f515ba107d9c04bbbe7ce8f9d"
      ],
      "author": {
        "name": "Vlad Apostolov",
        "email": "vapo@sgi.com",
        "time": "Fri Sep 14 15:23:44 2007 +1000"
      },
      "committer": {
        "name": "Tim Shimmin",
        "email": "tes@chook.melbourne.sgi.com",
        "time": "Tue Oct 16 12:20:39 2007 +1000"
      },
      "message": "[XFS] fix when DMAPI mount option processing happens\nFix for a regression caused by a recent patch\nthat moved the DMAPI mount option processing inside xfs_parseargs(). The\nDMAPI mount option used to be processed in the DMAPI module loaded before\nxfs_parseargs() was invoked.\n\nSGI-PV: 970451\nSGI-Modid: xfs-linux-melb:xfs-kern:29683a\n\nSigned-off-by: Vlad Apostolov \u003cvapo@sgi.com\u003e\nSigned-off-by: David Chinner \u003cdgc@sgi.com\u003e\nSigned-off-by: Tim Shimmin \u003ctes@sgi.com\u003e\n"
    },
    {
      "commit": "5903c4956f7b429f515ba107d9c04bbbe7ce8f9d",
      "tree": "4d7d4199632f43082fbf29525c3af8a7632bbb71",
      "parents": [
        "cc92e7ac8d96418d99f0c31a9a132e9fccc54553"
      ],
      "author": {
        "name": "Lachlan McIlroy",
        "email": "lachlan@sgi.com",
        "time": "Fri Sep 14 15:22:08 2007 +1000"
      },
      "committer": {
        "name": "Tim Shimmin",
        "email": "tes@chook.melbourne.sgi.com",
        "time": "Tue Oct 16 12:18:38 2007 +1000"
      },
      "message": "[XFS] ensure file size is logged on synchronous writes\n\nSynchronous writes currently log inode changes before syncing pages to\ndisk. Since the file size is updated on I/O completion we wont be writing\nout the updated file size and if we crash the file will have the wrong\nsize. This change moves the logging after the syncing of the pages to\nensure we log the correct file size.\n\nSGI-PV: 970334\nSGI-Modid: xfs-linux-melb:xfs-kern:29649a\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": "cc92e7ac8d96418d99f0c31a9a132e9fccc54553",
      "tree": "85ba32909af656d5b332657aa26179369f635a00",
      "parents": [
        "0adba5363ccbee073f127feb1d6942e64ee63ab3"
      ],
      "author": {
        "name": "Christoph Hellwig",
        "email": "hch@infradead.org",
        "time": "Thu Aug 30 17:21:54 2007 +1000"
      },
      "committer": {
        "name": "Tim Shimmin",
        "email": "tes@chook.melbourne.sgi.com",
        "time": "Tue Oct 16 12:18:09 2007 +1000"
      },
      "message": "[XFS] growlock should be a mutex\n\nm_growlock only needs plain binary mutex semantics, so use a struct mutex\ninstead of a semaphore for it.\n\nSGI-PV: 968563\nSGI-Modid: xfs-linux-melb:xfs-kern:29512a\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": "0adba5363ccbee073f127feb1d6942e64ee63ab3",
      "tree": "527ed5e21d637f07f02f37638d437f3b155fbf03",
      "parents": [
        "b267ce9952374c51099f21d6c3a59c78fa0d7586"
      ],
      "author": {
        "name": "Christoph Hellwig",
        "email": "hch@infradead.org",
        "time": "Thu Aug 30 17:21:46 2007 +1000"
      },
      "committer": {
        "name": "Tim Shimmin",
        "email": "tes@chook.melbourne.sgi.com",
        "time": "Tue Oct 16 12:17:56 2007 +1000"
      },
      "message": "[XFS] replace some large xfs_log_priv.h macros by proper functions\n\n... or in the case of XLOG_TIC_ADD_OPHDR remove a useless macro entirely.\n\nSGI-PV: 968563\nSGI-Modid: xfs-linux-melb:xfs-kern:29511a\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": "b267ce9952374c51099f21d6c3a59c78fa0d7586",
      "tree": "bb91ddce70fb9868217cb4f622e2c471ed4946b7",
      "parents": [
        "743944967021f3759d3540b0dfbc7ee7215bc4b0"
      ],
      "author": {
        "name": "Christoph Hellwig",
        "email": "hch@infradead.org",
        "time": "Thu Aug 30 17:21:30 2007 +1000"
      },
      "committer": {
        "name": "Tim Shimmin",
        "email": "tes@chook.melbourne.sgi.com",
        "time": "Tue Oct 16 12:17:27 2007 +1000"
      },
      "message": "[XFS] kill struct bhv_vfs\n\nNow that struct bhv_vfs doesn\u0027t have any members left we can kill it and\ngo directly from the super_block to the xfs_mount everywhere.\n\nSGI-PV: 969608\nSGI-Modid: xfs-linux-melb:xfs-kern:29509a\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": "743944967021f3759d3540b0dfbc7ee7215bc4b0",
      "tree": "6a7eed892bf6f6fd70d2072cd88cb536325cc4b8",
      "parents": [
        "bd186aa901c183d6e25257711b6c64b42a90dde0"
      ],
      "author": {
        "name": "Christoph Hellwig",
        "email": "hch@infradead.org",
        "time": "Thu Aug 30 17:21:22 2007 +1000"
      },
      "committer": {
        "name": "Tim Shimmin",
        "email": "tes@chook.melbourne.sgi.com",
        "time": "Tue Oct 16 12:16:35 2007 +1000"
      },
      "message": "[XFS] move syncing related members from struct bhv_vfs to struct xfs_mount\n\nSGI-PV: 969608\nSGI-Modid: xfs-linux-melb:xfs-kern:29508a\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": "bd186aa901c183d6e25257711b6c64b42a90dde0",
      "tree": "a84157145a249923a79276d7bc9170701b100c43",
      "parents": [
        "0ce4cfd4f7dde5891d5b3e3c1a28ff7a7b4d36b3"
      ],
      "author": {
        "name": "Christoph Hellwig",
        "email": "hch@infradead.org",
        "time": "Thu Aug 30 17:21:12 2007 +1000"
      },
      "committer": {
        "name": "Tim Shimmin",
        "email": "tes@chook.melbourne.sgi.com",
        "time": "Tue Oct 16 11:45:57 2007 +1000"
      },
      "message": "[XFS] kill the vfs_flags member in struct bhv_vfs\n\nAll flags are added to xfs_mount\u0027s m_flag instead. Note that the 32bit\ninode flag was duplicated in both of them, but only cleared in the mount\nwhen it was not nessecary due to the filesystem beeing small enough. Two\nflags are still required here - one to indicate the mount option setting,\nand one to indicate if it applies or not.\n\nSGI-PV: 969608\nSGI-Modid: xfs-linux-melb:xfs-kern:29507a\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": "0ce4cfd4f7dde5891d5b3e3c1a28ff7a7b4d36b3",
      "tree": "7ccb7197135e6705adcf51a40b1dea0a102ef213",
      "parents": [
        "745f691912b700ac98607b525f3c892204c7f12f"
      ],
      "author": {
        "name": "Christoph Hellwig",
        "email": "hch@infradead.org",
        "time": "Thu Aug 30 17:20:53 2007 +1000"
      },
      "committer": {
        "name": "Tim Shimmin",
        "email": "tes@chook.melbourne.sgi.com",
        "time": "Tue Oct 16 11:45:02 2007 +1000"
      },
      "message": "[XFS] kill the vfs_fsid and vfs_altfsid members in struct bhv_vfs\n\nvfs_altfsid was just a pointer to mp-\u003em_fixedfsid so we can trivially\nreplace it with the latter. vfs_fsid also was identical to m_fixedfsid\nthrough rather obfuscated ways so we can kill it as well and simply its\nonly user.\n\nSGI-PV: 969608\nSGI-Modid: xfs-linux-melb:xfs-kern:29506a\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": "745f691912b700ac98607b525f3c892204c7f12f",
      "tree": "4988bdf45dec4bc9bffd432fc3e521b73836172f",
      "parents": [
        "48c872a9f3ec4cdc37801aae9ef16c80026503ea"
      ],
      "author": {
        "name": "Christoph Hellwig",
        "email": "hch@infradead.org",
        "time": "Thu Aug 30 17:20:39 2007 +1000"
      },
      "committer": {
        "name": "Tim Shimmin",
        "email": "tes@chook.melbourne.sgi.com",
        "time": "Tue Oct 16 11:44:08 2007 +1000"
      },
      "message": "[XFS] call common xfs vfs-level helpers directly and remove vfs operations\n\nAlso remove the now dead behavior code.\n\nSGI-PV: 969608\nSGI-Modid: xfs-linux-melb:xfs-kern:29505a\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": "48c872a9f3ec4cdc37801aae9ef16c80026503ea",
      "tree": "51d377e7ced7298d96daf9008558e54177e47a30",
      "parents": [
        "b09cc77109dbf33463480952de10511a2b67bba6"
      ],
      "author": {
        "name": "Christoph Hellwig",
        "email": "hch@infradead.org",
        "time": "Thu Aug 30 17:20:31 2007 +1000"
      },
      "committer": {
        "name": "Tim Shimmin",
        "email": "tes@chook.melbourne.sgi.com",
        "time": "Tue Oct 16 11:43:55 2007 +1000"
      },
      "message": "[XFS] decontaminate vfs operations from behavior details\n\nAll vfs ops now take struct xfs_mount pointers and the behaviour related\nglue is split out into methods of its own.\n\nSGI-PV: 969608\nSGI-Modid: xfs-linux-melb:xfs-kern:29504a\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": "b09cc77109dbf33463480952de10511a2b67bba6",
      "tree": "722ed205af03de0f33b955aeb3a573565242497a",
      "parents": [
        "293688ec420f1160ed93ea4c7948ed5baf8bafa7"
      ],
      "author": {
        "name": "Christoph Hellwig",
        "email": "hch@infradead.org",
        "time": "Thu Aug 30 17:19:57 2007 +1000"
      },
      "committer": {
        "name": "Tim Shimmin",
        "email": "tes@chook.melbourne.sgi.com",
        "time": "Tue Oct 16 11:43:26 2007 +1000"
      },
      "message": "[XFS] remove dependency of the quota module on behaviors\n\nMount options are now parsed by the main XFS module and rejected if quota\nsupport is not available, and there are some new quota operation for the\nquotactl syscall and calls to quote in the mount, unmount and sync\ncallchains.\n\nSGI-PV: 969608\nSGI-Modid: xfs-linux-melb:xfs-kern:29503a\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": "293688ec420f1160ed93ea4c7948ed5baf8bafa7",
      "tree": "3e342f759b3ae0499eedcb8f050dd2c4c1b48e93",
      "parents": [
        "f541d270dbce375b7bd8cef466bdaf0cff945b45"
      ],
      "author": {
        "name": "Christoph Hellwig",
        "email": "hch@infradead.org",
        "time": "Wed Aug 29 11:59:36 2007 +1000"
      },
      "committer": {
        "name": "Tim Shimmin",
        "email": "tes@chook.melbourne.sgi.com",
        "time": "Tue Oct 16 11:41:15 2007 +1000"
      },
      "message": "[XFS] remove dependency of the dmapi module on behaviors\n\nMount options are now parsed by the main XFS module and rejected if dmapi\nsupport is not available, and there is a new dm operation to send the\nmount event.\n\nSGI-PV: 969608\nSGI-Modid: xfs-linux-melb:xfs-kern:29502a\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": "f541d270dbce375b7bd8cef466bdaf0cff945b45",
      "tree": "c0dbbf48f4b2dfd3c2740f251afd403deb5db2fa",
      "parents": [
        "0a74cd1964501fdb577176f14ed3d02b8e148127"
      ],
      "author": {
        "name": "Christoph Hellwig",
        "email": "hch@infradead.org",
        "time": "Wed Aug 29 11:53:22 2007 +1000"
      },
      "committer": {
        "name": "Tim Shimmin",
        "email": "tes@chook.melbourne.sgi.com",
        "time": "Tue Oct 16 11:40:52 2007 +1000"
      },
      "message": "[XFS] move freeing the mount structure from xfs_mount_free into the callers\n\nIn the next patch we need to look at the mount structure until just before\nit\u0027s freed, so we need to be able to free it as the very last thing in\nxfs_unmount.\n\nSGI-PV: 969608\nSGI-Modid: xfs-linux-melb:xfs-kern:29501a\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": "0a74cd1964501fdb577176f14ed3d02b8e148127",
      "tree": "ec4aa3dff46b141cd60734bb6c8a0c6b6a2e7111",
      "parents": [
        "2aeaa258c0527026228c43148ec6dffdc56bea1c"
      ],
      "author": {
        "name": "Christoph Hellwig",
        "email": "hch@infradead.org",
        "time": "Wed Aug 29 11:53:12 2007 +1000"
      },
      "committer": {
        "name": "Tim Shimmin",
        "email": "tes@chook.melbourne.sgi.com",
        "time": "Tue Oct 16 11:40:24 2007 +1000"
      },
      "message": "[XFS] kill struct bhv_vnode\n\nNow that struct bhv_vnode is empty we can just kill it. Retain bhv_vnode_t\nas a typedef for struct inode for the time being until all the fallout is\ncleaned up.\n\nSGI-PV: 969608\nSGI-Modid: xfs-linux-melb:xfs-kern:29500a\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": "2aeaa258c0527026228c43148ec6dffdc56bea1c",
      "tree": "1febdf1533ec42a61e90d7a0dedc82c7aa0367af",
      "parents": [
        "1543d79c45a374f934f95ca34d87e2eeeb2039b4"
      ],
      "author": {
        "name": "Christoph Hellwig",
        "email": "hch@infradead.org",
        "time": "Wed Aug 29 11:46:57 2007 +1000"
      },
      "committer": {
        "name": "Tim Shimmin",
        "email": "tes@chook.melbourne.sgi.com",
        "time": "Tue Oct 16 11:39:42 2007 +1000"
      },
      "message": "[XFS] kill the v_number member in struct bhv_vnode\n\nIt\u0027s entirely unused except for ignored arguments in the mrlock\ninitialization, so remove it.\n\nSGI-PV: 969608\nSGI-Modid: xfs-linux-melb:xfs-kern:29499a\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": "1543d79c45a374f934f95ca34d87e2eeeb2039b4",
      "tree": "abe537e7c241f2a764687c54d805ebfdb5147e3c",
      "parents": [
        "b677c210cec0d6755335ffc01691982c417dd39e"
      ],
      "author": {
        "name": "Christoph Hellwig",
        "email": "hch@infradead.org",
        "time": "Wed Aug 29 11:46:47 2007 +1000"
      },
      "committer": {
        "name": "Tim Shimmin",
        "email": "tes@chook.melbourne.sgi.com",
        "time": "Tue Oct 16 11:39:25 2007 +1000"
      },
      "message": "[XFS] move v_trace from bhv_vnode to xfs_inode\n\nstruct bhv_vnode is on it\u0027s way out, so move the trace buffer to the XFS\ninode. Note that this makes the tracing macros rather misnamed, but this\nkind of fallout will be fixed up incrementally later on.\n\nSGI-PV: 969608\nSGI-Modid: xfs-linux-melb:xfs-kern:29498a\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": "b677c210cec0d6755335ffc01691982c417dd39e",
      "tree": "9a61fdd81e48aac948346a096bed9c72e5f34114",
      "parents": [
        "09262b4339de5417a10803fbfac277eebb38ca5a"
      ],
      "author": {
        "name": "Christoph Hellwig",
        "email": "hch@infradead.org",
        "time": "Wed Aug 29 11:46:28 2007 +1000"
      },
      "committer": {
        "name": "Tim Shimmin",
        "email": "tes@chook.melbourne.sgi.com",
        "time": "Tue Oct 16 11:38:56 2007 +1000"
      },
      "message": "[XFS] move v_iocount from bhv_vnode to xfs_inode\n\nstruct bhv_vnode is on it\u0027s way out, so move the I/O count to the XFS\ninode.\n\nSGI-PV: 969608\nSGI-Modid: xfs-linux-melb:xfs-kern:29497a\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": "09262b4339de5417a10803fbfac277eebb38ca5a",
      "tree": "b375b3c7c221a9b696e44e7faf94ee0df2323078",
      "parents": [
        "b3aea4edc2903fdee34920630b8b2433f6452f02"
      ],
      "author": {
        "name": "Christoph Hellwig",
        "email": "hch@infradead.org",
        "time": "Wed Aug 29 11:44:50 2007 +1000"
      },
      "committer": {
        "name": "Tim Shimmin",
        "email": "tes@chook.melbourne.sgi.com",
        "time": "Tue Oct 16 11:38:36 2007 +1000"
      },
      "message": "[XFS] Create xfs_iflags_test_and_clear helper function\n\nSGI-PV: 969608\nSGI-Modid: xfs-linux-melb:xfs-kern:29496a\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": "b3aea4edc2903fdee34920630b8b2433f6452f02",
      "tree": "9d9e93c4dac6dc5a30522e0c2ae051e3aad46b1b",
      "parents": [
        "2f6f7b3d9b5600e1f6e7622c62ab30f36bd0f57f"
      ],
      "author": {
        "name": "Christoph Hellwig",
        "email": "hch@infradead.org",
        "time": "Wed Aug 29 11:44:37 2007 +1000"
      },
      "committer": {
        "name": "Tim Shimmin",
        "email": "tes@chook.melbourne.sgi.com",
        "time": "Tue Oct 16 11:37:29 2007 +1000"
      },
      "message": "[XFS] kill the v_flag member in struct bhv_vnode\n\nAll flags previously handled at the vnode level are not in the xfs_inode\nwhere we already have a flags mechanisms and free bits for flags\npreviously in the vnode.\n\nSGI-PV: 969608\nSGI-Modid: xfs-linux-melb:xfs-kern:29495a\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": "2f6f7b3d9b5600e1f6e7622c62ab30f36bd0f57f",
      "tree": "06fe541eb0b90227a8a433d8e3cf66d621df7038",
      "parents": [
        "739bfb2a7dfa369324f74aad1d020d6e0775e4f0"
      ],
      "author": {
        "name": "Christoph Hellwig",
        "email": "hch@infradead.org",
        "time": "Wed Aug 29 11:44:18 2007 +1000"
      },
      "committer": {
        "name": "Tim Shimmin",
        "email": "tes@chook.melbourne.sgi.com",
        "time": "Tue Oct 16 11:23:43 2007 +1000"
      },
      "message": "[XFS] kill v_vfsp member from struct bhv_vnode\n\nWe can easily get at the vfsp through the super_block but it will soon be\ngone anyway.\n\nSGI-PV: 969608\nSGI-Modid: xfs-linux-melb:xfs-kern:29494a\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": "739bfb2a7dfa369324f74aad1d020d6e0775e4f0",
      "tree": "8fbe3e739e0d550137e3f148a36ce5c083f5ef2c",
      "parents": [
        "993386c19afa53fa54d00c7721e56ba820b3400d"
      ],
      "author": {
        "name": "Christoph Hellwig",
        "email": "hch@infradead.org",
        "time": "Wed Aug 29 10:58:01 2007 +1000"
      },
      "committer": {
        "name": "Tim Shimmin",
        "email": "tes@chook.melbourne.sgi.com",
        "time": "Tue Oct 16 10:40:00 2007 +1000"
      },
      "message": "[XFS] call common xfs vnode-level helpers directly and remove vnode operations\n\nSGI-PV: 969608\nSGI-Modid: xfs-linux-melb:xfs-kern:29493a\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": "993386c19afa53fa54d00c7721e56ba820b3400d",
      "tree": "1715fdeb9cc5ea99466e179b54e84b168fd5e127",
      "parents": [
        "b93bd20cd59eb7ec172f95d08b100fea688d8bcf"
      ],
      "author": {
        "name": "Christoph Hellwig",
        "email": "hch@infradead.org",
        "time": "Tue Aug 28 16:12:30 2007 +1000"
      },
      "committer": {
        "name": "Tim Shimmin",
        "email": "tes@chook.melbourne.sgi.com",
        "time": "Mon Oct 15 16:54:29 2007 +1000"
      },
      "message": "[XFS] decontaminate vnode operations from behavior details\n\nAll vnode ops now take struct xfs_inode pointers and the behaviour related\nglue is split out into methods of it\u0027s own. This required fixing\nxfs_create/mkdir/symlink to not mess with the inode pointer but rather use\na separate boolean for error handling. Thanks to Dave Chinner for that\nfix.\n\nSGI-PV: 969608\nSGI-Modid: xfs-linux-melb:xfs-kern:29492a\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": "b93bd20cd59eb7ec172f95d08b100fea688d8bcf",
      "tree": "9ce717b59f657e0a7047f099921b28f43faa617f",
      "parents": [
        "da353b0d64e070ae7c5342a0d56ec20ae9ef5cfb"
      ],
      "author": {
        "name": "Vlad Apostolov",
        "email": "vapo@sgi.com",
        "time": "Tue Aug 28 14:00:28 2007 +1000"
      },
      "committer": {
        "name": "Tim Shimmin",
        "email": "tes@chook.melbourne.sgi.com",
        "time": "Mon Oct 15 16:53:36 2007 +1000"
      },
      "message": "[XFS] do not have XFSMNT_IDELETE as default when mounted with XFSMNT_DMAPI\n\nXFS inodes are dynamically allocated on demand, rather than being\nallocated at mkfs time. Chunks of 64 inodes are allocated at once, but\nthey are never freed. Over time, this can lead to filesystem\nfragmentation, clusters of inodes and the btrees which point at them can\nbe scattered around the system.\n\nBy freeing clusters as they are emptied, we will reduce fragmentation of\nthe free space after removing files. This in turn will allow us to make\nbetter placement decisions when repopulating a filesystem. The\nXFSMNT_IDELETE mount option enables freeing clusters when they get empty.\n\nUnfortunately a side effect of freeing inode clusters is that the inode\ngeneration numbers of such inodes would be reset to zero when the cluster\nis reclaimed. This is a problem in particular for a DMAPI enabled\nfilesystem as the the DMAPI handles need to be unique and persistent in\ntime. An unique DMAPI handle is built with the help of the inode\ngeneration number. When the last one is prematurely reset by an inode\ncluster reclaim, there is a high probability of different generation\ninodes to end up having identical DMAPI handles.\n\nTo avoid the problem with identical DMAPI handles, the XFSMNT_IDELETE\nmount option should be set as default, only if the filesystem is not\nmounted with XFSMNT_DMAPI.\n\nSGI-PV: 969192\nSGI-Modid: xfs-linux-melb:xfs-kern:29486a\n\nSigned-off-by: Vlad Apostolov \u003cvapo@sgi.com\u003e\nSigned-off-by: David Chinner \u003cdgc@sgi.com\u003e\nSigned-off-by: Mark Goodwin \u003cmarkgw@sgi.com\u003e\nSigned-off-by: Tim Shimmin \u003ctes@sgi.com\u003e\n"
    },
    {
      "commit": "da353b0d64e070ae7c5342a0d56ec20ae9ef5cfb",
      "tree": "84454023d649df67cc6b125c73746ddb341ac34e",
      "parents": [
        "39cd9f877e63ce7e02cdc7f5dbf1b908451c9532"
      ],
      "author": {
        "name": "David Chinner",
        "email": "dgc@sgi.com",
        "time": "Tue Aug 28 14:00:13 2007 +1000"
      },
      "committer": {
        "name": "Tim Shimmin",
        "email": "tes@chook.melbourne.sgi.com",
        "time": "Mon Oct 15 16:50:50 2007 +1000"
      },
      "message": "[XFS] Radix tree based inode caching\n\nOne of the perpetual scaling problems XFS has is indexing it\u0027s incore\ninodes. We currently uses hashes and the default hash sizes chosen can\nonly ever be a tradeoff between memory consumption and the maximum\nrealistic size of the cache.\n\nAs a result, anyone who has millions of inodes cached on a filesystem\nneeds to tunes the size of the cache via the ihashsize mount option to\nallow decent scalability with inode cache operations.\n\nA further problem is the separate inode cluster hash, whose size is based\non the ihashsize but is smaller, and so under certain conditions (sparse\ncluster cache population) this can become a limitation long before the\ninode hash is causing issues.\n\nThe following patchset removes the inode hash and cluster hash and\nreplaces them with radix trees to avoid the scalability limitations of the\nhashes. It also reduces the size of the inodes by 3 pointers....\n\nSGI-PV: 969561\nSGI-Modid: xfs-linux-melb:xfs-kern:29481a\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": "39cd9f877e63ce7e02cdc7f5dbf1b908451c9532",
      "tree": "a8ae9d0da02dc9e0b4e095806a05ae92170c2ba7",
      "parents": [
        "804c83c37607efe415774c3a170ad72a789e5992"
      ],
      "author": {
        "name": "Christoph Hellwig",
        "email": "hch@infradead.org",
        "time": "Tue Aug 28 13:59:21 2007 +1000"
      },
      "committer": {
        "name": "Tim Shimmin",
        "email": "tes@chook.melbourne.sgi.com",
        "time": "Mon Oct 15 16:50:26 2007 +1000"
      },
      "message": "[XFS] kill move.[ch]\n\nKill uio related functions and defines now that they\u0027re unused.\n\nSGI-PV: 968563\nSGI-Modid: xfs-linux-melb:xfs-kern:29480a\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": "804c83c37607efe415774c3a170ad72a789e5992",
      "tree": "f53df9e59968cf16904e7652bca7e2a7cd3da57b",
      "parents": [
        "051e7cd44ab8f0f7c2958371485b4a1ff64a8d1b"
      ],
      "author": {
        "name": "Christoph Hellwig",
        "email": "hch@infradead.org",
        "time": "Tue Aug 28 13:59:03 2007 +1000"
      },
      "committer": {
        "name": "Tim Shimmin",
        "email": "tes@chook.melbourne.sgi.com",
        "time": "Mon Oct 15 16:50:13 2007 +1000"
      },
      "message": "[XFS] stop using uio in the readlink code\n\nSimplify the readlink code to get rid of the last user of uio.\n\nSGI-PV: 968563\nSGI-Modid: xfs-linux-melb:xfs-kern:29479a\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": "051e7cd44ab8f0f7c2958371485b4a1ff64a8d1b",
      "tree": "23389d878944e0566effed4eb2de4c1ed5fed96e",
      "parents": [
        "2bdf7cd0baa67608ada1517a281af359faf4c58c"
      ],
      "author": {
        "name": "Christoph Hellwig",
        "email": "hch@infradead.org",
        "time": "Tue Aug 28 13:58:24 2007 +1000"
      },
      "committer": {
        "name": "Tim Shimmin",
        "email": "tes@chook.melbourne.sgi.com",
        "time": "Mon Oct 15 16:49:49 2007 +1000"
      },
      "message": "[XFS] use filldir internally\n\nCurrently xfs has a rather complicated internal scheme to allow for\ndifferent directory formats in IRIX. This patch rips all code related to\nthis out and pushes useage of the Linux filldir callback into the lowlevel\ndirectory code. This does not make the code any less portable because\nfilldir can be used to create dirents of all possible variations\n(including the IRIX ones as proved by the IRIX binary emulation code under\narch/mips/).\n\nThis patch get rid of an unessecary copy in the readdir path, about 400\nlines of code and one of the last two users of the uio structure.\n\nThis version is updated to deal with dmapi aswell which greatly simplifies\nthe get_dirattrs code. The dmapi part has been tested using the\nget_dirattrs tools from the xfstest dmapi suite1 with various small and\nlarge directories.\n\nSGI-PV: 968563\nSGI-Modid: xfs-linux-melb:xfs-kern:29478a\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": "2bdf7cd0baa67608ada1517a281af359faf4c58c",
      "tree": "645d283fd4938a9b21b4b9e2585224ed4eeb4adb",
      "parents": [
        "347d1c01956d567c18afef0cc253eb235cafacd8"
      ],
      "author": {
        "name": "Christoph Hellwig",
        "email": "hch@infradead.org",
        "time": "Tue Aug 28 13:58:06 2007 +1000"
      },
      "committer": {
        "name": "Tim Shimmin",
        "email": "tes@chook.melbourne.sgi.com",
        "time": "Mon Oct 15 16:49:09 2007 +1000"
      },
      "message": "[XFS] superblock endianess annotations\n\nCreates a new xfs_dsb_t that is __be annotated and keeps xfs_sb_t for the\nincore one. xfs_xlatesb is renamed to xfs_sb_to_disk and only handles the\nincore -\u003e disk conversion. A new helper xfs_sb_from_disk handles the other\ndirection and doesn\u0027t need the slightly hacky table-driven approach\nbecause we only ever read the full sb from disk.\n\nThe handling of shared r/o filesystems has been buggy on little endian\nsystem and fixing this required shuffling around of some code in that\narea.\n\nSGI-PV: 968563\nSGI-Modid: xfs-linux-melb:xfs-kern:29477a\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": "347d1c01956d567c18afef0cc253eb235cafacd8",
      "tree": "55c61ae9390e013978cef21099a65965b2bb0ab5",
      "parents": [
        "ddc6d3b32a8a732c343dc225048fae06c129e48a"
      ],
      "author": {
        "name": "Christoph Hellwig",
        "email": "hch@infradead.org",
        "time": "Tue Aug 28 13:57:51 2007 +1000"
      },
      "committer": {
        "name": "Tim Shimmin",
        "email": "tes@chook.melbourne.sgi.com",
        "time": "Mon Oct 15 16:48:30 2007 +1000"
      },
      "message": "[XFS] dinode endianess annotations\n\nBiggest bit is duplicating the dinode structure so we have one annotated for\nnative endianess and one for disk endianess. The other significant change\nis that xfs_xlate_dinode_core is split into one helper per direction to\nallow for proper annotations, everything else is trivial.\n\nAs a sidenode splitting out the incore dinode means we can move it into\nxfs_inode.h in a later patch and severely improving on the include hell in\nxfs.\n\nSGI-PV: 968563\nSGI-Modid: xfs-linux-melb:xfs-kern:29476a\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": "ddc6d3b32a8a732c343dc225048fae06c129e48a",
      "tree": "989a28da426ea1f33dad18a0f7b2dc2f362b4b72",
      "parents": [
        "948c6d4fd894d9c7f9ad764cedbe443aa866def2"
      ],
      "author": {
        "name": "Michal Piotrowski",
        "email": "michal.k.k.piotrowski@gmail.com",
        "time": "Thu Aug 23 16:20:10 2007 +1000"
      },
      "committer": {
        "name": "Tim Shimmin",
        "email": "tes@chook.melbourne.sgi.com",
        "time": "Mon Oct 15 16:47:32 2007 +1000"
      },
      "message": "[XFS] Fix build regression from mod/commit which did cleanup of xfs_bmbt_*set_allf\n\nIn sgi mod# xfs-linux-melb:xfs-kern:29319a, the variable renaming was not\ncomplete and variable \u0027b\u0027 was left unchanged for non-lbd 32 bit machines.\n\nSGI-PV: 968563\nSGI-Modid: xfs-linux-melb:xfs-kern:29469a\n\nSigned-off-by: Michal Piotrowski \u003cmichal.k.k.piotrowski@gmail.com\u003e\nSigned-off-by: Tim Shimmin \u003ctes@sgi.com\u003e\n"
    },
    {
      "commit": "948c6d4fd894d9c7f9ad764cedbe443aa866def2",
      "tree": "1fc863026835aa07cd3eba50345a9a8619cb483e",
      "parents": [
        "eb9df39daf870d6f9e9528f092d506be04ebad2f"
      ],
      "author": {
        "name": "Eric Sandeen",
        "email": "sandeen@sandeen.net",
        "time": "Thu Aug 23 16:19:57 2007 +1000"
      },
      "committer": {
        "name": "Tim Shimmin",
        "email": "tes@chook.melbourne.sgi.com",
        "time": "Mon Oct 15 16:45:55 2007 +1000"
      },
      "message": "[XFS] optimize dmapi event tests w/o dmapi config\n\nSGI-PV: 969372\nSGI-Modid: xfs-linux-melb:xfs-kern:29444a\n\nSigned-off-by: Eric Sandeen \u003csandeen@sandeen.net\u003e\nSigned-off-by: Vlad Apostolov \u003cvapo@sgi.com\u003e\nSigned-off-by: Tim Shimmin \u003ctes@sgi.com\u003e\n"
    },
    {
      "commit": "eb9df39daf870d6f9e9528f092d506be04ebad2f",
      "tree": "77646f792ae63f00d3e08e6081e80afefe87e4e7",
      "parents": [
        "49ee6c911f0ae5b3a9a04e0589e3265e52f94f53"
      ],
      "author": {
        "name": "Christoph Hellwig",
        "email": "hch@infradead.org",
        "time": "Thu Aug 16 18:42:07 2007 +1000"
      },
      "committer": {
        "name": "Tim Shimmin",
        "email": "tes@chook.melbourne.sgi.com",
        "time": "Mon Oct 15 16:45:25 2007 +1000"
      },
      "message": "[XFS] remove unessecary vfs argument to DM_EVENT_ENABLED\n\nSGI-PV: 968690\nSGI-Modid: xfs-linux-melb:xfs-kern:29340a\n\nSigned-off-by: Christoph Hellwig \u003chch@infradead.org\u003e\nSigned-off-by: Vlad Apostolov \u003cvapo@sgi.com\u003e\nSigned-off-by: Tim Shimmin \u003ctes@sgi.com\u003e\n"
    },
    {
      "commit": "49ee6c911f0ae5b3a9a04e0589e3265e52f94f53",
      "tree": "b95ccb140532df8601f69f86fb3ccb8dbd80a7ea",
      "parents": [
        "dcb3b83febd1028afbc4a32cf7642a6580e349c6"
      ],
      "author": {
        "name": "Jesper Juhl",
        "email": "jesper.juhl@gmail.com",
        "time": "Thu Aug 16 16:25:42 2007 +1000"
      },
      "committer": {
        "name": "Tim Shimmin",
        "email": "tes@chook.melbourne.sgi.com",
        "time": "Mon Oct 15 16:42:48 2007 +1000"
      },
      "message": "[XFS] Fix a potential NULL pointer deref in XFS on failed mount.\n\nIf we fail to open the the log device buftarg, we can fall through to\nerror handling code that fails to check for a NULL log device buftarg\nbefore calling xfs_free_buftarg().\n\nThis patch fixes the issue by checking mp-\u003em_logdev_targp against NULL in\nxfs_unmountfs_close() and doing the proper xfs_blkdev_put(logdev); and\nxfs_blkdev_put(rtdev); on (!mp-\u003em_rtdev_targp) in xfs_mount().\n\nDiscovered by the Coverity checker.\n\nSGI-PV: 968563\nSGI-Modid: xfs-linux-melb:xfs-kern:29328a\n\nSigned-off-by: Jesper Juhl \u003cjesper.juhl@gmail.com\u003e\nSigned-off-by: David Chinner \u003cdgc@sgi.com\u003e\nSigned-off-by: Tim Shimmin \u003ctes@sgi.com\u003e\n"
    },
    {
      "commit": "dcb3b83febd1028afbc4a32cf7642a6580e349c6",
      "tree": "91cf6ed2e93bf9448ee5547459610cb248c15d83",
      "parents": [
        "af3a2e8a3f3055ef269b09433bb28e33a0d1b8c0"
      ],
      "author": {
        "name": "Eric Sandeen",
        "email": "sandeen@sandeen.net",
        "time": "Thu Aug 16 16:25:33 2007 +1000"
      },
      "committer": {
        "name": "Tim Shimmin",
        "email": "tes@chook.melbourne.sgi.com",
        "time": "Mon Oct 15 16:42:18 2007 +1000"
      },
      "message": "[XFS] clean up xfs_start_flags\n\nxfs_start_flags can make use of is_power_of_2 to tidy up the test a little\nbit.\n\nSGI-PV: 968563\nSGI-Modid: xfs-linux-melb:xfs-kern:29327a\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": "af3a2e8a3f3055ef269b09433bb28e33a0d1b8c0",
      "tree": "e222949c263d87229d9d918caee86aed485e199a",
      "parents": [
        "6385f4d5579ccada7bd1d9fefbdea5515457b10d"
      ],
      "author": {
        "name": "Eric Sandeen",
        "email": "sandeen@sandeen.net",
        "time": "Thu Aug 16 16:25:23 2007 +1000"
      },
      "committer": {
        "name": "Tim Shimmin",
        "email": "tes@chook.melbourne.sgi.com",
        "time": "Mon Oct 15 16:40:46 2007 +1000"
      },
      "message": "[XFS] move linux/log2.h header to xfs_linux.h\n\nGenerally we try not to directly include linux header files in core xfs\ncode; xfs_linux.h is the spot for that.\n\nSGI-PV: 968563\nSGI-Modid: xfs-linux-melb:xfs-kern:29326a\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": "6385f4d5579ccada7bd1d9fefbdea5515457b10d",
      "tree": "3030e32d9bde4017a69efcdf807e32a785f20082",
      "parents": [
        "425f9ddd534573f58df8e7b633a534fcfc16d44d"
      ],
      "author": {
        "name": "Eric Sandeen",
        "email": "sandeen@sandeen.net",
        "time": "Thu Aug 16 16:25:10 2007 +1000"
      },
      "committer": {
        "name": "Tim Shimmin",
        "email": "tes@chook.melbourne.sgi.com",
        "time": "Mon Oct 15 16:40:14 2007 +1000"
      },
      "message": "[XFS] Remove xfs_physmem\n\nNow that nobody\u0027s using it, remove xfs_physmem \u0026 friends.\n\nSGI-PV: 968563\nSGI-Modid: xfs-linux-melb:xfs-kern:29325a\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": "425f9ddd534573f58df8e7b633a534fcfc16d44d",
      "tree": "e1c7384935e3340e7db53b624c05ae0d1e2f5b20",
      "parents": [
        "1cb51258758d725028e9ee9688d462de125a053d"
      ],
      "author": {
        "name": "Eric Sandeen",
        "email": "sandeen@sandeen.net",
        "time": "Thu Aug 16 16:24:55 2007 +1000"
      },
      "committer": {
        "name": "Tim Shimmin",
        "email": "tes@chook.melbourne.sgi.com",
        "time": "Mon Oct 15 16:39:35 2007 +1000"
      },
      "message": "[XFS] Pick a single default inode cluster size.\n\nRemove scaling of inode \"clusters\" based on machine memory; small cluster\ncut-point was an unrealistic 32MB and was probably never tested.\n\nRemoves another user of xfs_physmem.\n\nSGI-PV: 968563\nSGI-Modid: xfs-linux-melb:xfs-kern:29324a\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": "1cb51258758d725028e9ee9688d462de125a053d",
      "tree": "2306dcf367cd7e105b878ddf03bd8cb9e164be7d",
      "parents": [
        "40906630f18fdf5ac27f5928c20f76eeac8fb0f0"
      ],
      "author": {
        "name": "Eric Sandeen",
        "email": "sandeen@sandeen.net",
        "time": "Thu Aug 16 16:24:43 2007 +1000"
      },
      "committer": {
        "name": "Tim Shimmin",
        "email": "tes@chook.melbourne.sgi.com",
        "time": "Mon Oct 15 16:38:23 2007 +1000"
      },
      "message": "[XFS] choose single default logbuf count \u0026 size\n\nRemove sizing of logbuf size \u0026 count based on physical memory; this was\nnever a very good gauge as it\u0027s looking at global memory, but deciding on\nsizing per-filesystem; no account is made of the total number of\nfilesystems, for example.\n\nFor now just take the largest \"default\" case, as was set for machines with\n\u003e400MB - 8 x 32k buffers. This can always be tuned higher or lower with\nmount options if necessary. Removes one more user of xfs_physmem.\n\nSGI-PV: 968563\nSGI-Modid: xfs-linux-melb:xfs-kern:29323a\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": "40906630f18fdf5ac27f5928c20f76eeac8fb0f0",
      "tree": "d567e11ad9234ad37ed59213ad8344891d573c78",
      "parents": [
        "cd8b0a97bd9216578a44a9bf82188cd901295964"
      ],
      "author": {
        "name": "Eric Sandeen",
        "email": "sandeen@sandeen.net",
        "time": "Thu Aug 16 16:24:31 2007 +1000"
      },
      "committer": {
        "name": "Tim Shimmin",
        "email": "tes@chook.melbourne.sgi.com",
        "time": "Mon Oct 15 16:37:46 2007 +1000"
      },
      "message": "[XFS] Remove m_nreadaheads\n\nm_nreadaheads in the mount struct is never used; remove it and the various\nmacros assigned to it. Also remove a couple other unused macros in the\nsame areas.\n\nRemoves one user of xfs_physmem.\n\nSGI-PV: 968563\nSGI-Modid: xfs-linux-melb:xfs-kern:29322a\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": "cd8b0a97bd9216578a44a9bf82188cd901295964",
      "tree": "36ae580e2f8b1e05747a387c50b852db7f929798",
      "parents": [
        "e05596643d4bb5ab7d813d1ac5724178ca4c7134"
      ],
      "author": {
        "name": "Christoph Hellwig",
        "email": "hch@infradead.org",
        "time": "Thu Aug 16 16:24:15 2007 +1000"
      },
      "committer": {
        "name": "Tim Shimmin",
        "email": "tes@chook.melbourne.sgi.com",
        "time": "Mon Oct 15 16:26:44 2007 +1000"
      },
      "message": "[XFS] endianess annotations for xfs_bmbt_rec_t\n\nSGI-PV: 968563\nSGI-Modid: xfs-linux-melb:xfs-kern:29321a\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": "e05596643d4bb5ab7d813d1ac5724178ca4c7134",
      "tree": "b398dd155daf8a08c7d70c079b7b975bfd97c455",
      "parents": [
        "8cba43447e7a843cd446a73baa91fe686f01e565"
      ],
      "author": {
        "name": "Christoph Hellwig",
        "email": "hch@infradead.org",
        "time": "Thu Aug 16 16:24:02 2007 +1000"
      },
      "committer": {
        "name": "Tim Shimmin",
        "email": "tes@chook.melbourne.sgi.com",
        "time": "Mon Oct 15 16:26:31 2007 +1000"
      },
      "message": "[XFS] cleanup defintions of BMBT_*BITLEN macros\n\nThe BMBT_*BITLEN are currently defined in a complicated way depending on\nXFS_NATIVE_HOST. But if all the macros are expanded they (obviously)\nexpand to the same value for both cases.\n\nThis patch defines the macros in the most simple way and updates the\ncomment describing them to remove outdated bits.\n\nSGI-PV: 968563\nSGI-Modid: xfs-linux-melb:xfs-kern:29320a\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": "8cba43447e7a843cd446a73baa91fe686f01e565",
      "tree": "d13bfc063291c27503a3e2bd23c2d1988ec7c0a1",
      "parents": [
        "a6f64d4aea0d0c8483e910c7dd2d1ee48e42245c"
      ],
      "author": {
        "name": "Christoph Hellwig",
        "email": "hch@infradead.org",
        "time": "Thu Aug 16 16:23:53 2007 +1000"
      },
      "committer": {
        "name": "Tim Shimmin",
        "email": "tes@chook.melbourne.sgi.com",
        "time": "Mon Oct 15 16:26:13 2007 +1000"
      },
      "message": "[XFS] clean up xfs_bmbt_set_all/xfs_bmbt_disk_set_all\n\nxfs_bmbt_set_all/xfs_bmbt_disk_set_all are identical to\nxfs_bmbt_set_allf/xfs_bmbt_disk_set_allf except that the former take a\nxfs_bmbt_irec_t and the latter take the individual extent fields as scalar\nvalues.\n\nThis patch reimplements xfs_bmbt_set_all/xfs_bmbt_disk_set_all as trivial\nwrappers around xfs_bmbt_set_allf/xfs_bmbt_disk_set_allf and cleans up the\nvariable naming in xfs_bmbt_set_allf/xfs_bmbt_disk_set_allf to have some\nmeaning instead of one char variable names.\n\nSGI-PV: 968563\nSGI-Modid: xfs-linux-melb:xfs-kern:29319a\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": "a6f64d4aea0d0c8483e910c7dd2d1ee48e42245c",
      "tree": "f3fb20bb6d816f6d674bd4c8bfa687b013443eaf",
      "parents": [
        "d580ef6eaae6eaaef1e06c7d689fc9949faee9da"
      ],
      "author": {
        "name": "Christoph Hellwig",
        "email": "hch@infradead.org",
        "time": "Thu Aug 16 16:23:40 2007 +1000"
      },
      "committer": {
        "name": "Tim Shimmin",
        "email": "tes@chook.melbourne.sgi.com",
        "time": "Mon Oct 15 16:25:51 2007 +1000"
      },
      "message": "[XFS] split ondisk vs incore versions of xfs_bmbt_rec_t\n\ncurrently xfs_bmbt_rec_t is used both for ondisk extents as well as\nhost-endian ones. This patch adds a new xfs_bmbt_rec_host_t for the native\nendian ones and cleans up the fallout. There have been various endianess\nissues in the tracing / debug printf code that are fixed by this patch.\n\nSGI-PV: 968563\nSGI-Modid: xfs-linux-melb:xfs-kern:29318a\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": "d580ef6eaae6eaaef1e06c7d689fc9949faee9da",
      "tree": "16cea4c60d53c20afc2c09b96b1e767da0219a66",
      "parents": [
        "3bacbcd8830f89fc527f5c7dc13f24d0ce692980"
      ],
      "author": {
        "name": "Christoph Hellwig",
        "email": "hch@infradead.org",
        "time": "Thu Aug 16 16:23:11 2007 +1000"
      },
      "committer": {
        "name": "Tim Shimmin",
        "email": "tes@chook.melbourne.sgi.com",
        "time": "Mon Oct 15 16:25:37 2007 +1000"
      },
      "message": "[XFS] remove confusing INT_ comments in xfs_bmap_btree.c\n\nSGI-PV: 968563\nSGI-Modid: xfs-linux-melb:xfs-kern:29317a\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": "3bacbcd8830f89fc527f5c7dc13f24d0ce692980",
      "tree": "86b187991c307ebde1ab210b41702b83f635e1aa",
      "parents": [
        "0bfefc46dc028df60120acdb92062169c9328769"
      ],
      "author": {
        "name": "Vlad Apostolov",
        "email": "vapo@sgi.com",
        "time": "Thu Aug 16 15:20:25 2007 +1000"
      },
      "committer": {
        "name": "Tim Shimmin",
        "email": "tes@chook.melbourne.sgi.com",
        "time": "Mon Oct 15 16:24:21 2007 +1000"
      },
      "message": "[XFS] hole not shown when file is created with resvsp\n\nSGI-PV: 967674\nSGI-Modid: xfs-linux-melb:xfs-kern:29211a\n\nSigned-off-by: Vlad Apostolov \u003cvapo@sgi.com\u003e\nSigned-off-by: David Chinner \u003cdgc@sgi.com\u003e\nSigned-off-by: Tim Shimmin \u003ctes@sgi.com\u003e\n"
    },
    {
      "commit": "0bfefc46dc028df60120acdb92062169c9328769",
      "tree": "ce8cecb3f4546300c0d193efa27bf14f78170b3b",
      "parents": [
        "c1561cf463f4a480d1960e833c8fe628207b24e4"
      ],
      "author": {
        "name": "David Chinner",
        "email": "dgc@sgi.com",
        "time": "Mon May 14 18:24:23 2007 +1000"
      },
      "committer": {
        "name": "Tim Shimmin",
        "email": "tes@chook.melbourne.sgi.com",
        "time": "Mon Oct 15 16:23:45 2007 +1000"
      },
      "message": "[XFS] Barriers need to be dynamically checked and switched off\n\nIf the underlying block device suddenly stops supporting barriers, we need\nto handle the -EOPNOTSUPP error in a sane manner rather than shutting\ndown the filesystem. If we get this error, clear the barrier flag, reissue\nthe I/O, and tell the world bad things are occurring.\n\nSGI-PV: 964544\nSGI-Modid: xfs-linux-melb:xfs-kern:28568a\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": "782e3b3b3804c38d5130c7f21d7ec7bf6709023f",
      "tree": "54e790dfd52f0451189fa1591dc97bc5ff5f5866",
      "parents": [
        "cbd09dbbb62096c1da627eca865f988d2ed0a84e"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@ftp.linux.org.uk",
        "time": "Fri Oct 12 07:17:47 2007 +0100"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Fri Oct 12 00:29:50 2007 -0700"
      },
      "message": "Fix up more bio fallout\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "6712ecf8f648118c3363c142196418f89a510b90",
      "tree": "347d39a7d5a7ed96d3b1afecd28de2a0f98b98c9",
      "parents": [
        "5bb23a688b2de23d7765a1dd439d89c038378978"
      ],
      "author": {
        "name": "NeilBrown",
        "email": "neilb@suse.de",
        "time": "Thu Sep 27 12:47:43 2007 +0200"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "axboe@carl.home.kernel.dk",
        "time": "Wed Oct 10 09:25:57 2007 +0200"
      },
      "message": "Drop \u0027size\u0027 argument from bio_endio and bi_end_io\n\nAs bi_end_io is only called once when the reqeust is complete,\nthe \u0027size\u0027 argument is now redundant.  Remove it.\n\nNow there is no need for bio_endio to subtract the size completed\nfrom bi_size.  So don\u0027t do that either.\n\nWhile we are at it, change bi_end_io to return void.\n\nSigned-off-by: Neil Brown \u003cneilb@suse.de\u003e\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\n"
    },
    {
      "commit": "564256c9e06d75e16d894a2cd30604bd6582cbba",
      "tree": "ef5505f335d401862893dd6a1bbca3e6dc3eaa88",
      "parents": [
        "a64314e62d89562b6fc77593648bec3acc35bf61"
      ],
      "author": {
        "name": "Tim Shimmin",
        "email": "tes@chook.melbourne.sgi.com",
        "time": "Mon Oct 01 16:39:37 2007 +1000"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Mon Oct 01 07:59:03 2007 -0700"
      },
      "message": "Revert \"[XFS] Avoid replaying inode buffer initialisation log items if on-disk version is newer.\"\n\nThis reverts commit b394e43e995d08821588a22561c6a71a63b4ff27.\n\nLachlan McIlroy says:\n    It tried to fix an issue where log replay is replaying an inode cluster\n    initialisation transaction that should not be replayed because the inode\n    cluster on disk is more up to date.  Since we don\u0027t log file sizes (we\n    rely on inode flushing to get them to disk) then we can\u0027t just replay\n    all the transations in the log and expect the inode to be completely\n    restored.  We lose file size updates.  Unfortunately this fix is causing\n    more (serious) problems than it is fixing.\n\nSGI-PV: 969656\nSGI-Modid: xfs-linux-melb:xfs-kern:29804a\n\nSigned-off-by: Lachlan McIlroy \u003clachlan@sgi.com\u003e\nSigned-off-by: Tim Shimmin \u003ctes@sgi.com\u003e\n"
    },
    {
      "commit": "053c59a0a7234bac669992f5b8b933b7d7fc189d",
      "tree": "ef5505f335d401862893dd6a1bbca3e6dc3eaa88",
      "parents": [
        "a64314e62d89562b6fc77593648bec3acc35bf61"
      ],
      "author": {
        "name": "Tim Shimmin",
        "email": "tes@chook.melbourne.sgi.com",
        "time": "Mon Oct 01 16:39:37 2007 +1000"
      },
      "committer": {
        "name": "Tim Shimmin",
        "email": "tes@chook.melbourne.sgi.com",
        "time": "Mon Oct 01 16:39:37 2007 +1000"
      },
      "message": "Revert \"[XFS] Avoid replaying inode buffer initialisation log items if on-disk version is newer.\"\n\nThis reverts commit b394e43e995d08821588a22561c6a71a63b4ff27.\n\nSGI-PV: 969656\nSGI-Modid: xfs-linux-melb:xfs-kern:29804a\n\nSigned-off-by: Lachlan McIlroy \u003clachlan@sgi.com\u003e\nSigned-off-by: Tim Shimmin \u003ctes@sgi.com\u003e\n"
    },
    {
      "commit": "1bc5858d0d40e07697b5eda47ed8628b8a934235",
      "tree": "e393b4f69b21d1d074a5ba5142f06ffa727079eb",
      "parents": [
        "bcc7b445eff295664a3a3ab14e742b3c9d88e6e3"
      ],
      "author": {
        "name": "Christoph Hellwig",
        "email": "hch@infradead.org",
        "time": "Wed Sep 19 15:27:30 2007 +1000"
      },
      "committer": {
        "name": "Tim Shimmin",
        "email": "tes@chook.melbourne.sgi.com",
        "time": "Thu Sep 20 19:40:40 2007 +1000"
      },
      "message": "[XFS] fix valid but harmless sparse warning\n\nThe new xlog_recover_do_reg_buffer checks call be16_to_cpu on di_gen which\nis a 32bit value so sparse rightly complains. Fortunately the warning is\nharmless because we don\u0027t care for the value, but only whether it\u0027s\nnon-NULL. Due to that fact we can simply kill the endian swaps on this and\nthe previous di_mode check entirely.\n\nSGI-PV: 969656\nSGI-Modid: xfs-linux-melb:xfs-kern:29709a\n\nSigned-off-by: Christoph Hellwig \u003chch@infradead.org\u003e\nSigned-off-by: Lachlan McIlroy \u003clachlan@sgi.com\u003e\nSigned-off-by: Tim Shimmin \u003ctes@sgi.com\u003e\n"
    },
    {
      "commit": "bcc7b445eff295664a3a3ab14e742b3c9d88e6e3",
      "tree": "c01cd93a01607b2fd3e05ba177e54f135607ea0f",
      "parents": [
        "b394e43e995d08821588a22561c6a71a63b4ff27"
      ],
      "author": {
        "name": "Eric Sandeen",
        "email": "sandeen@sandeen.net",
        "time": "Thu Aug 30 17:21:38 2007 +1000"
      },
      "committer": {
        "name": "Tim Shimmin",
        "email": "tes@chook.melbourne.sgi.com",
        "time": "Thu Sep 20 19:40:19 2007 +1000"
      },
      "message": "[XFS] fix filestreams on 32-bit boxes\n\nxfs_filestream_mount() sets up an mru cache with:\n  err \u003d xfs_mru_cache_create(\u0026mp-\u003em_filestream, lifetime, grp_count,\n  (xfs_mru_cache_free_func_t)xfs_fstrm_free_func);\nbut that cast is causing problems...\n  typedef void (*xfs_mru_cache_free_func_t)(unsigned long, void*);\nbut:\n  void xfs_fstrm_free_func( xfs_ino_t ino, fstrm_item_t *item)\nso on a 32-bit box, it\u0027s casting (32, 32) args into (64, 32) and I assume\nit\u0027s getting garbage for *item, which subsequently causes an explosion.\nWith this change the filestreams xfsqa tests don\u0027t oops on my 32-bit box.\n\nSGI-PV: 967795\nSGI-Modid: xfs-linux-melb:xfs-kern:29510a\n\nSigned-off-by: Eric Sandeen \u003csandeen@sandeen.net\u003e\nSigned-off-by: David Chinner \u003cdgc@sgi.com\u003e\nSigned-off-by: Tim Shimmin \u003ctes@sgi.com\u003e\n"
    },
    {
      "commit": "b394e43e995d08821588a22561c6a71a63b4ff27",
      "tree": "42c0c50be4ac6306b4dd12134035957a9c119488",
      "parents": [
        "776a75fa5cfb8f3602d3ca9d221dc34497133f4b"
      ],
      "author": {
        "name": "Lachlan McIlroy",
        "email": "lachlan@sgi.com",
        "time": "Fri Sep 14 15:23:04 2007 +1000"
      },
      "committer": {
        "name": "Tim Shimmin",
        "email": "tes@chook.melbourne.sgi.com",
        "time": "Tue Sep 18 20:16:00 2007 +1000"
      },
      "message": "[XFS] Avoid replaying inode buffer initialisation log items if on-disk version is newer.\n\nSGI-PV: 969656\nSGI-Modid: xfs-linux-melb:xfs-kern:29676a\n\nSigned-off-by: Lachlan McIlroy \u003clachlan@sgi.com\u003e\nSigned-off-by: David Chinner \u003cdgc@sgi.com\u003e\nSigned-off-by: Tim Shimmin \u003ctes@sgi.com\u003e\n"
    },
    {
      "commit": "776a75fa5cfb8f3602d3ca9d221dc34497133f4b",
      "tree": "760e34fa2e426e740cd50deab16ca80f9a3e483b",
      "parents": [
        "65de5567564e70edd01b6d4e95e548d7ba284872"
      ],
      "author": {
        "name": "Lachlan McIlroy",
        "email": "lachlan@sgi.com",
        "time": "Fri Sep 14 15:22:50 2007 +1000"
      },
      "committer": {
        "name": "Tim Shimmin",
        "email": "tes@chook.melbourne.sgi.com",
        "time": "Tue Sep 18 20:12:51 2007 +1000"
      },
      "message": "[XFS] Ensure file size updates have been completed before writing inode to disk.\n\nSGI-PV: 968767\nSGI-Modid: xfs-linux-melb:xfs-kern:29675a\n\nSigned-off-by: Lachlan McIlroy \u003clachlan@sgi.com\u003e\nSigned-off-by: David Chinner \u003cdgc@sgi.com\u003e\nSigned-off-by: Tim Shimmin \u003ctes@sgi.com\u003e\n"
    },
    {
      "commit": "65de5567564e70edd01b6d4e95e548d7ba284872",
      "tree": "977aef83761c4ef87d95f1e192bc1ae9c7cbdeac",
      "parents": [
        "c2f828977ba5d17c13debba374ea252d18e5ccfb"
      ],
      "author": {
        "name": "David Chinner",
        "email": "dgc@sgi.com",
        "time": "Thu Aug 16 15:21:11 2007 +1000"
      },
      "committer": {
        "name": "Tim Shimmin",
        "email": "tes@chook.melbourne.sgi.com",
        "time": "Mon Sep 17 16:42:02 2007 +1000"
      },
      "message": "[XFS] On-demand reaping of the MRU cache\n\nInstead of running the mru cache reaper all the time based on a timeout,\nwe should only run it when the cache has active objects. This allows CPUs\nto sleep when there is no activity rather than be woken repeatedly just to\ncheck if there is anything to do.\n\nSGI-PV: 968554\nSGI-Modid: xfs-linux-melb:xfs-kern:29305a\n\nSigned-off-by: David Chinner \u003cdgc@sgi.com\u003e\nSigned-off-by: Donald Douwsma \u003cdonaldd@sgi.com\u003e\nSigned-off-by: Tim Shimmin \u003ctes@sgi.com\u003e\n"
    },
    {
      "commit": "5995cb7d805496362e5af73235145667096fbc6f",
      "tree": "2d0817c1a3d1ba6487699e02878c0c029b9fc89f",
      "parents": [
        "265c1fac38e37e828df09965406e9cc20bfa3588"
      ],
      "author": {
        "name": "Eric Sandeen",
        "email": "sandeen@sandeen.net",
        "time": "Thu Aug 16 16:49:11 2007 +1000"
      },
      "committer": {
        "name": "Tim Shimmin",
        "email": "tes@chook.melbourne.sgi.com",
        "time": "Wed Sep 05 14:51:04 2007 +1000"
      },
      "message": "[XFS] fix nasty quota hashtable allocation bug\n\nThis git mod: 77e4635ae191774526ed695482a151ac986f3806\nconverted to a \"greedy\" allocation interface, but for the quota hashtables\nit switched from allocating XFS_QM_HASHSIZE (nr of elements)\nxfs_dqhash_t\u0027s to allocating only XFS_QM_HASHSIZE *bytes* - quite a lot\nsmaller! Then when we converted hsize \"back\" to nr of elements (the\ndivision line) hsize went to 0. This was leading to oopses when running\nany quota tests on the Fedora 8 test kernel, but the problem has been\nthere for almost a year.\n\nSGI-PV: 968837\nSGI-Modid: xfs-linux-melb:xfs-kern:29354a\n\nSigned-off-by: Eric Sandeen \u003csandeen@sandeen.net\u003e\nSigned-off-by: David Chinner \u003cdgc@sgi.com\u003e\nSigned-off-by: Tim Shimmin \u003ctes@sgi.com\u003e\n"
    },
    {
      "commit": "265c1fac38e37e828df09965406e9cc20bfa3588",
      "tree": "6f977c9c373bf17ccb7cf79e040cdb9980e526c7",
      "parents": [
        "ee5c80239d5f152d99f69165afbd115518353563"
      ],
      "author": {
        "name": "Christoph Hellwig",
        "email": "hch@infradead.org",
        "time": "Thu Aug 16 15:38:19 2007 +1000"
      },
      "committer": {
        "name": "Tim Shimmin",
        "email": "tes@chook.melbourne.sgi.com",
        "time": "Wed Sep 05 14:50:26 2007 +1000"
      },
      "message": "[XFS] fix sparse shadowed variable warnings\n\n- in xfs_probe_cluster rename the inner len to pg_len. There\u0027s no harm\n  here because the outer len isn\u0027t used after the inner len comes into\n  existence but it keeps the code clean.\n- in xfs_da_do_buf remove the inner i because they don\u0027t overlap\n  and they are both the same type.\n\nSGI-PV: 968555\nSGI-Modid: xfs-linux-melb:xfs-kern:29311a\n\nSigned-off-by: Christoph Hellwig \u003chch@infradead.org\u003e\nSigned-off-by: David Chinner \u003cdgc@sgi.com\u003e\nSigned-off-by: Tim Shimmin \u003ctes@sgi.com\u003e\n"
    },
    {
      "commit": "ee5c80239d5f152d99f69165afbd115518353563",
      "tree": "2ea198960e12fe010b18ce9b52645c7865ec1082",
      "parents": [
        "34521c5e4971d01f6ef650fdee59e07be6c2c5e3"
      ],
      "author": {
        "name": "Christoph Hellwig",
        "email": "hch@infradead.org",
        "time": "Thu Aug 16 15:38:08 2007 +1000"
      },
      "committer": {
        "name": "Tim Shimmin",
        "email": "tes@chook.melbourne.sgi.com",
        "time": "Wed Sep 05 14:49:30 2007 +1000"
      },
      "message": "[XFS] fix ASSERT and ASSERT_ALWAYS\n\n- remove the !\u003d 0 inside the unlikely in ASSERT_ALWAYS because sparse now\n  complains about comparisons between pointers and 0\n- add a standalone ASSERT implementation because defining it to\n  ASSERT_ALWAYS means the string is expanded before the token passing\n  stringification. This way we get the actual content of the\n  assertion in the assfail message and don\u0027t overflow sparse\u0027s\n  stringification buffer leading to sparse error messages.\n\nSGI-PV: 968555\nSGI-Modid: xfs-linux-melb:xfs-kern:29310a\n\nSigned-off-by: Christoph Hellwig \u003chch@infradead.org\u003e\nSigned-off-by: David Chinner \u003cdgc@sgi.com\u003e\nSigned-off-by: Tim Shimmin \u003ctes@sgi.com\u003e\n"
    },
    {
      "commit": "34521c5e4971d01f6ef650fdee59e07be6c2c5e3",
      "tree": "ff17a5076ff71294c29fe6e6fecc2615214cc153",
      "parents": [
        "4b80916b29170744632356dd2e801f7c374676eb"
      ],
      "author": {
        "name": "Christoph Hellwig",
        "email": "hch@infradead.org",
        "time": "Thu Aug 16 15:37:57 2007 +1000"
      },
      "committer": {
        "name": "Tim Shimmin",
        "email": "tes@chook.melbourne.sgi.com",
        "time": "Wed Sep 05 14:48:00 2007 +1000"
      },
      "message": "[XFS] Fix sparse warning in kmem_shake_allow\n\nWe can\u0027t return a masked result of a __bitwise type. Compare it to 0 first\nto keep the behaviour without the warning.\n\nSGI-PV: 968555\nSGI-Modid: xfs-linux-melb:xfs-kern:29309a\n\nSigned-off-by: Christoph Hellwig \u003chch@infradead.org\u003e\nSigned-off-by: David Chinner \u003cdgc@sgi.com\u003e\nSigned-off-by: Tim Shimmin \u003ctes@sgi.com\u003e\n"
    },
    {
      "commit": "4b80916b29170744632356dd2e801f7c374676eb",
      "tree": "9714752ddfffd543dcd512a7f1920d53d92c1054",
      "parents": [
        "8da22d7a3690818f6d340baa0ea585e71f0c506f"
      ],
      "author": {
        "name": "Christoph Hellwig",
        "email": "hch@infradead.org",
        "time": "Thu Aug 16 15:37:36 2007 +1000"
      },
      "committer": {
        "name": "Tim Shimmin",
        "email": "tes@chook.melbourne.sgi.com",
        "time": "Wed Sep 05 14:47:33 2007 +1000"
      },
      "message": "[XFS] Fix sparse NULL vs 0 warnings\n\nSparse now warns about comparing pointers to 0, so change all instance\nwhere that happens to NULL instead.\n\nSGI-PV: 968555\nSGI-Modid: xfs-linux-melb:xfs-kern:29308a\n\nSigned-off-by: Christoph Hellwig \u003chch@infradead.org\u003e\nSigned-off-by: David Chinner \u003cdgc@sgi.com\u003e\nSigned-off-by: Tim Shimmin \u003ctes@sgi.com\u003e\n"
    },
    {
      "commit": "8da22d7a3690818f6d340baa0ea585e71f0c506f",
      "tree": "7537fec6ed2fca09aa135c1c2e410e8eaee3fa4f",
      "parents": [
        "b21010ed6498391c0f359f2a89c907533fe07fec"
      ],
      "author": {
        "name": "David Chinner",
        "email": "dgc@sgi.com",
        "time": "Thu Aug 16 15:20:56 2007 +1000"
      },
      "committer": {
        "name": "Tim Shimmin",
        "email": "tes@chook.melbourne.sgi.com",
        "time": "Wed Sep 05 14:47:10 2007 +1000"
      },
      "message": "[XFS] Set filestreams object timeout to something sane.\n\nSGI-PV: 968554\nSGI-Modid: xfs-linux-melb:xfs-kern:29303a\n\nSigned-off-by: David Chinner \u003cdgc@sgi.com\u003e\nSigned-off-by: Christoph Hellwig \u003chch@infradead.org\u003e\nSigned-off-by: Tim Shimmin \u003ctes@sgi.com\u003e\n"
    },
    {
      "commit": "ad690ef9e690f6c31f7d310b09ef1314bcec9033",
      "tree": "808c4c62ef881dd2d3ed7a6a546dbf1b2f525ac9",
      "parents": [
        "97f1e7f7d2cd950f90d64ac6920822e709095519"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@ftp.linux.org.uk",
        "time": "Thu Jul 26 17:35:59 2007 +0100"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Thu Jul 26 11:11:57 2007 -0700"
      },
      "message": "xfs ioctl __user annotations\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "20c2df83d25c6a95affe6157a4c9cac4cf5ffaac",
      "tree": "415c4453d2b17a50abe7a3e515177e1fa337bd67",
      "parents": [
        "64fb98fc40738ae1a98bcea9ca3145b89fb71524"
      ],
      "author": {
        "name": "Paul Mundt",
        "email": "lethal@linux-sh.org",
        "time": "Fri Jul 20 10:11:58 2007 +0900"
      },
      "committer": {
        "name": "Paul Mundt",
        "email": "lethal@linux-sh.org",
        "time": "Fri Jul 20 10:11:58 2007 +0900"
      },
      "message": "mm: Remove slab destructors from kmem_cache_create().\n\nSlab destructors were no longer supported after Christoph\u0027s\nc59def9f222d44bb7e2f0a559f2906191a0862d7 change. They\u0027ve been\nBUGs for both slab and slub, and slob never supported them\neither.\n\nThis rips out support for the dtor pointer from kmem_cache_create()\ncompletely and fixes up every single callsite in the kernel (there were\nabout 224, not including the slab allocator definitions themselves,\nor the documentation references).\n\nSigned-off-by: Paul Mundt \u003clethal@linux-sh.org\u003e\n"
    },
    {
      "commit": "fdb64f93b38a3470fa4db8cd5720b8c731922d1a",
      "tree": "3b17370d30a2b580af72b26f37ec7176c9ecdd84",
      "parents": [
        "2d9ce177e68645945e3366cfe2d66ee3c28cd4f2",
        "c32676eea19ce29cb74dba0f97b085e83f6b8915"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Thu Jul 19 14:41:33 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Thu Jul 19 14:41:33 2007 -0700"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://oss.sgi.com:8090/xfs/xfs-2.6\n\n* \u0027for-linus\u0027 of git://oss.sgi.com:8090/xfs/xfs-2.6:\n  [XFS] Fix inode size update before data write in xfs_setattr\n  [XFS] Allow punching holes to free space when at ENOSPC\n  [XFS] Implement -\u003epage_mkwrite in XFS.\n  [FS] Implement block_page_mkwrite.\n\nManually fix up conflict with Nick\u0027s VM fault handling patches in\nfs/xfs/linux-2.6/xfs_file.c\n\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "d0217ac04ca6591841e5665f518e38064f4e65bd",
      "tree": "d3309094bb734d34773f97d642593e298a5cfcfc",
      "parents": [
        "ed2f2f9b3ff8debdf512f7687b232c3c1d7d60d7"
      ],
      "author": {
        "name": "Nick Piggin",
        "email": "npiggin@suse.de",
        "time": "Thu Jul 19 01:47:03 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Thu Jul 19 10:04:41 2007 -0700"
      },
      "message": "mm: fault feedback #1\n\nChange -\u003efault prototype.  We now return an int, which contains\nVM_FAULT_xxx code in the low byte, and FAULT_RET_xxx code in the next byte.\n FAULT_RET_ code tells the VM whether a page was found, whether it has been\nlocked, and potentially other things.  This is not quite the way he wanted\nit yet, but that\u0027s changed in the next patch (which requires changes to\narch code).\n\nThis means we no longer set VM_CAN_INVALIDATE in the vma in order to say\nthat a page is locked which requires filemap_nopage to go away (because we\ncan no longer remain backward compatible without that flag), but we were\ngoing to do that anyway.\n\nstruct fault_data is renamed to struct vm_fault as Linus asked. address\nis now a void __user * that we should firmly encourage drivers not to use\nwithout really good reason.\n\nThe page is now returned via a page pointer in the vm_fault struct.\n\nSigned-off-by: Nick Piggin \u003cnpiggin@suse.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "54cb8821de07f2ffcd28c380ce9b93d5784b40d7",
      "tree": "1de676534963d96af42863b20191bc9f80060dea",
      "parents": [
        "d00806b183152af6d24f46f0c33f14162ca1262a"
      ],
      "author": {
        "name": "Nick Piggin",
        "email": "npiggin@suse.de",
        "time": "Thu Jul 19 01:46:59 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Thu Jul 19 10:04:41 2007 -0700"
      },
      "message": "mm: merge populate and nopage into fault (fixes nonlinear)\n\nNonlinear mappings are (AFAIKS) simply a virtual memory concept that encodes\nthe virtual address -\u003e file offset differently from linear mappings.\n\n-\u003epopulate is a layering violation because the filesystem/pagecache code\nshould need to know anything about the virtual memory mapping.  The hitch here\nis that the -\u003enopage handler didn\u0027t pass down enough information (ie.  pgoff).\n But it is more logical to pass pgoff rather than have the -\u003enopage function\ncalculate it itself anyway (because that\u0027s a similar layering violation).\n\nHaving the populate handler install the pte itself is likewise a nasty thing\nto be doing.\n\nThis patch introduces a new fault handler that replaces -\u003enopage and\n-\u003epopulate and (later) -\u003enopfn.  Most of the old mechanism is still in place\nso there is a lot of duplication and nice cleanups that can be removed if\neveryone switches over.\n\nThe rationale for doing this in the first place is that nonlinear mappings are\nsubject to the pagefault vs invalidate/truncate race too, and it seemed stupid\nto duplicate the synchronisation logic rather than just consolidate the two.\n\nAfter this patch, MAP_NONBLOCK no longer sets up ptes for pages present in\npagecache.  Seems like a fringe functionality anyway.\n\nNOPAGE_REFAULT is removed.  This should be implemented with -\u003efault, and no\nusers have hit mainline yet.\n\n[akpm@linux-foundation.org: cleanup]\n[randy.dunlap@oracle.com: doc. fixes for readahead]\n[akpm@linux-foundation.org: build fix]\nSigned-off-by: Nick Piggin \u003cnpiggin@suse.de\u003e\nSigned-off-by: Randy Dunlap \u003crandy.dunlap@oracle.com\u003e\nCc: Mark Fasheh \u003cmark.fasheh@oracle.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "d00806b183152af6d24f46f0c33f14162ca1262a",
      "tree": "36f829cf13d5410374a3f00b56ec0b1f8dc3ce3c",
      "parents": [
        "589f1e81bde732dd0b1bc5d01b6bddd4bcb4527b"
      ],
      "author": {
        "name": "Nick Piggin",
        "email": "npiggin@suse.de",
        "time": "Thu Jul 19 01:46:57 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Thu Jul 19 10:04:41 2007 -0700"
      },
      "message": "mm: fix fault vs invalidate race for linear mappings\n\nFix the race between invalidate_inode_pages and do_no_page.\n\nAndrea Arcangeli identified a subtle race between invalidation of pages from\npagecache with userspace mappings, and do_no_page.\n\nThe issue is that invalidation has to shoot down all mappings to the page,\nbefore it can be discarded from the pagecache.  Between shooting down ptes to\na particular page, and actually dropping the struct page from the pagecache,\ndo_no_page from any process might fault on that page and establish a new\nmapping to the page just before it gets discarded from the pagecache.\n\nThe most common case where such invalidation is used is in file truncation.\nThis case was catered for by doing a sort of open-coded seqlock between the\nfile\u0027s i_size, and its truncate_count.\n\nTruncation will decrease i_size, then increment truncate_count before\nunmapping userspace pages; do_no_page will read truncate_count, then find the\npage if it is within i_size, and then check truncate_count under the page\ntable lock and back out and retry if it had subsequently been changed (ptl\nwill serialise against unmapping, and ensure a potentially updated\ntruncate_count is actually visible).\n\nComplexity and documentation issues aside, the locking protocol fails in the\ncase where we would like to invalidate pagecache inside i_size.  do_no_page\ncan come in anytime and filemap_nopage is not aware of the invalidation in\nprogress (as it is when it is outside i_size).  The end result is that\ndangling (-\u003emapping \u003d\u003d NULL) pages that appear to be from a particular file\nmay be mapped into userspace with nonsense data.  Valid mappings to the same\nplace will see a different page.\n\nAndrea implemented two working fixes, one using a real seqlock, another using\na page-\u003eflags bit.  He also proposed using the page lock in do_no_page, but\nthat was initially considered too heavyweight.  However, it is not a global or\nper-file lock, and the page cacheline is modified in do_no_page to increment\n_count and _mapcount anyway, so a further modification should not be a large\nperformance hit.  Scalability is not an issue.\n\nThis patch implements this latter approach.  -\u003enopage implementations return\nwith the page locked if it is possible for their underlying file to be\ninvalidated (in that case, they must set a special vm_flags bit to indicate\nso).  do_no_page only unlocks the page after setting up the mapping\ncompletely.  invalidation is excluded because it holds the page lock during\ninvalidation of each page (and ensures that the page is not mapped while\nholding the lock).\n\nThis also allows significant simplifications in do_no_page, because we have\nthe page locked in the right place in the pagecache from the start.\n\nSigned-off-by: Nick Piggin \u003cnpiggin@suse.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "c32676eea19ce29cb74dba0f97b085e83f6b8915",
      "tree": "5eddf206e10b0b1857c899fd9939c517aa758359",
      "parents": [
        "91ebecc74eeeeea0a2aa50bf1964ec2214a229c9"
      ],
      "author": {
        "name": "David Chinner",
        "email": "dgc@sgi.com",
        "time": "Thu Jul 19 16:28:58 2007 +1000"
      },
      "committer": {
        "name": "Tim Shimmin",
        "email": "tes@chook.melbourne.sgi.com",
        "time": "Thu Jul 19 19:52:05 2007 +1000"
      },
      "message": "[XFS] Fix inode size update before data write in xfs_setattr\n\nWhen changing the file size by a truncate() call, we log the change in the\ninode size. However, we do not flush any outstanding data that might not\nhave been written to disk, thereby violating the data/inode size update\norder. This can leave files full of NULLs on crash.\n\nHence if we are truncating the file, flush any unwritten data that may lie\nbetween the curret on disk inode size and the new inode size that is being\nlogged to ensure that ordering is preserved.\n\nSGI-PV: 966308\nSGI-Modid: xfs-linux-melb:xfs-kern:29174a\n\nSigned-off-by: David Chinner \u003cdgc@sgi.com\u003e\nSigned-off-by: Christoph Hellwig \u003chch@infradead.org\u003e\nSigned-off-by: Tim Shimmin \u003ctes@sgi.com\u003e\n"
    },
    {
      "commit": "91ebecc74eeeeea0a2aa50bf1964ec2214a229c9",
      "tree": "a81a48c59c46c7fedce5532afb6fd2ce648201dd",
      "parents": [
        "4f57dbc6b5bae5a3978d429f45ac597ca7a3b8c6"
      ],
      "author": {
        "name": "David Chinner",
        "email": "dgc@sgi.com",
        "time": "Thu Jul 19 16:28:30 2007 +1000"
      },
      "committer": {
        "name": "Tim Shimmin",
        "email": "tes@chook.melbourne.sgi.com",
        "time": "Thu Jul 19 19:51:46 2007 +1000"
      },
      "message": "[XFS] Allow punching holes to free space when at ENOSPC\n\nMake the free file space transaction able to dip into the reserved blocks\nto ensure that we can successfully free blocks when the filesystem is at\nENOSPC.\n\nSGI-PV: 967788\nSGI-Modid: xfs-linux-melb:xfs-kern:29167a\n\nSigned-off-by: David Chinner \u003cdgc@sgi.com\u003e\nSigned-off-by: Vlad Apostolov \u003cvapo@sgi.com\u003e\nSigned-off-by: Tim Shimmin \u003ctes@sgi.com\u003e\n"
    },
    {
      "commit": "4f57dbc6b5bae5a3978d429f45ac597ca7a3b8c6",
      "tree": "58abc5d0f67b9ceaa7913dda1d7b23fc308adbe6",
      "parents": [
        "5417169026c3df151adf5a65eb061278b0a72e69"
      ],
      "author": {
        "name": "David Chinner",
        "email": "dgc@sgi.com",
        "time": "Thu Jul 19 16:28:17 2007 +1000"
      },
      "committer": {
        "name": "Tim Shimmin",
        "email": "tes@chook.melbourne.sgi.com",
        "time": "Thu Jul 19 19:51:21 2007 +1000"
      },
      "message": "[XFS] Implement -\u003epage_mkwrite in XFS.\n\nHook XFS up to -\u003epage_mkwrite to ensure that we know about mmap pages\nbeing written to. This allows use to do correct delayed allocation and\nENOSPC checking as well as remap unwritten extents so that they get\nconverted correctly during writeback. This is done via the generic\nblock_page_mkwrite code.\n\nSGI-PV: 940392\nSGI-Modid: xfs-linux-melb:xfs-kern:29149a\n\nSigned-off-by: David Chinner \u003cdgc@sgi.com\u003e\nSigned-off-by: Christoph Hellwig \u003chch@infradead.org\u003e\nSigned-off-by: Tim Shimmin \u003ctes@sgi.com\u003e\n"
    },
    {
      "commit": "a569425512253992cc64ebf8b6d00a62f986db3e",
      "tree": "7ea72c75c54697bddbad807af89cc549d7426a69",
      "parents": [
        "6dd4ac3b30b81b5bd0d628af1c89b7da689a38ea"
      ],
      "author": {
        "name": "Christoph Hellwig",
        "email": "hch@infradead.org",
        "time": "Tue Jul 17 04:04:28 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Tue Jul 17 10:23:06 2007 -0700"
      },
      "message": "knfsd: exportfs: add exportfs.h header\n\ncurrently the export_operation structure and helpers related to it are in\nfs.h.  fs.h is already far too large and there are very few places needing the\nexport bits, so split them off into a separate header.\n\n[akpm@linux-foundation.org: fix cifs build]\nSigned-off-by: Christoph Hellwig \u003chch@lst.de\u003e\nSigned-off-by: Neil Brown \u003cneilb@suse.de\u003e\nCc: Steven French \u003csfrench@us.ibm.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "831441862956fffa17b9801db37e6ea1650b0f69",
      "tree": "b0334921341f8f1734bdd3243de76d676329d21c",
      "parents": [
        "787d2214c19bcc9b6ac48af0ce098277a801eded"
      ],
      "author": {
        "name": "Rafael J. Wysocki",
        "email": "rjw@sisk.pl",
        "time": "Tue Jul 17 04:03:35 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Tue Jul 17 10:23:02 2007 -0700"
      },
      "message": "Freezer: make kernel threads nonfreezable by default\n\nCurrently, the freezer treats all tasks as freezable, except for the kernel\nthreads that explicitly set the PF_NOFREEZE flag for themselves.  This\napproach is problematic, since it requires every kernel thread to either\nset PF_NOFREEZE explicitly, or call try_to_freeze(), even if it doesn\u0027t\ncare for the freezing of tasks at all.\n\nIt seems better to only require the kernel threads that want to or need to\nbe frozen to use some freezer-related code and to remove any\nfreezer-related code from the other (nonfreezable) kernel threads, which is\ndone in this patch.\n\nThe patch causes all kernel threads to be nonfreezable by default (ie.  to\nhave PF_NOFREEZE set by default) and introduces the set_freezable()\nfunction that should be called by the freezable kernel threads in order to\nunset PF_NOFREEZE.  It also makes all of the currently freezable kernel\nthreads call set_freezable(), so it shouldn\u0027t cause any (intentional)\nchange of behaviour to appear.  Additionally, it updates documentation to\ndescribe the freezing of tasks more accurately.\n\n[akpm@linux-foundation.org: build fixes]\nSigned-off-by: Rafael J. Wysocki \u003crjw@sisk.pl\u003e\nAcked-by: Nigel Cunningham \u003cnigel@nigel.suspend2.net\u003e\nCc: Pavel Machek \u003cpavel@ucw.cz\u003e\nCc: Oleg Nesterov \u003coleg@tv-sign.ru\u003e\nCc: Gautham R Shenoy \u003cego@in.ibm.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "8e1f936b73150f5095448a0fee6d4f30a1f9001d",
      "tree": "0996203e35c629e2ec243d128c7bd91ecd74d24a",
      "parents": [
        "5ad333eb66ff1e52a87639822ae088577669dcf9"
      ],
      "author": {
        "name": "Rusty Russell",
        "email": "rusty@rustcorp.com.au",
        "time": "Tue Jul 17 04:03:17 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Tue Jul 17 10:23:00 2007 -0700"
      },
      "message": "mm: clean up and kernelify shrinker registration\n\nI can never remember what the function to register to receive VM pressure\nis called.  I have to trace down from __alloc_pages() to find it.\n\nIt\u0027s called \"set_shrinker()\", and it needs Your Help.\n\n1) Don\u0027t hide struct shrinker.  It contains no magic.\n2) Don\u0027t allocate \"struct shrinker\".  It\u0027s not helpful.\n3) Call them \"register_shrinker\" and \"unregister_shrinker\".\n4) Call the function \"shrink\" not \"shrinker\".\n5) Reduce the 17 lines of waffly comments to 13, but document it properly.\n\nSigned-off-by: Rusty Russell \u003crusty@rustcorp.com.au\u003e\nCc: David Chinner \u003cdgc@sgi.com\u003e\nCc: Trond Myklebust \u003ctrond.myklebust@fys.uio.no\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "0f1145cc18e970ebe37da114fc34c297f135e062",
      "tree": "eb6c8b1b1a53d24eed981910422f0ec3066333fe",
      "parents": [
        "d7f0923d83dcabfc063257a281529cdbcd5eedb5"
      ],
      "author": {
        "name": "David Chinner",
        "email": "dgc@sgi.com",
        "time": "Fri Jun 29 17:26:09 2007 +1000"
      },
      "committer": {
        "name": "Tim Shimmin",
        "email": "tes@chook.melbourne.sgi.com",
        "time": "Sat Jul 14 18:09:42 2007 +1000"
      },
      "message": "[XFS] Fix lockdep annotations for xfs_lock_inodes\n\nSGI-PV: 967035\nSGI-Modid: xfs-linux-melb:xfs-kern:29026a\n\nSigned-off-by: David Chinner \u003cdgc@sgi.com\u003e\nSigned-off-by: Tim Shimmin \u003ctes@sgi.com\u003e\n"
    },
    {
      "commit": "faa63e9584df41020440756b8b90b7b63f95e4f6",
      "tree": "9b0369a028d682e36ab91396bcebb1ecfb298e29",
      "parents": [
        "1fa503df66f7bffc0ff62662626897eec79446c2"
      ],
      "author": {
        "name": "Michal Marek",
        "email": "mmarek@suse.cz",
        "time": "Wed Jul 11 11:10:19 2007 +1000"
      },
      "committer": {
        "name": "Tim Shimmin",
        "email": "tes@chook.melbourne.sgi.com",
        "time": "Sat Jul 14 15:42:50 2007 +1000"
      },
      "message": "[XFS] Fix XFS_IOC_FSBULKSTAT{,_SINGLE} \u0026 XFS_IOC_FSINUMBERS in compat mode\n\n* 32bit struct xfs_fsop_bulkreq has different size and layout of\nmembers, no matter the alignment. Move the code out of the #else\nbranch (why was it there in the first place?). Define _32 variants of\nthe ioctl constants.\n* 32bit struct xfs_bstat is different because of time_t and on\ni386 because of different padding. Make xfs_bulkstat_one() accept a\ncustom \"output formatter\" in the private_data argument which takes care\nof the xfs_bulkstat_one_compat() that takes care of the different\nlayout in the compat case.\n* i386 struct xfs_inogrp has different padding.\nAdd a similar \"output formatter\" mecanism to xfs_inumbers().\n\nSGI-PV: 967354\nSGI-Modid: xfs-linux-melb:xfs-kern:29102a\n\nSigned-off-by: Michal Marek \u003cmmarek@suse.cz\u003e\nSigned-off-by: David Chinner \u003cdgc@sgi.com\u003e\nSigned-off-by: Tim Shimmin \u003ctes@sgi.com\u003e\n"
    },
    {
      "commit": "1fa503df66f7bffc0ff62662626897eec79446c2",
      "tree": "c9aa19af1b3268c8d6c3e4361b7f0951decbfd3a",
      "parents": [
        "547e00c3c681265b1fe5e34c7643f3ddac748ba0"
      ],
      "author": {
        "name": "Michal Marek",
        "email": "mmarek@suse.cz",
        "time": "Wed Jul 11 11:10:09 2007 +1000"
      },
      "committer": {
        "name": "Tim Shimmin",
        "email": "tes@chook.melbourne.sgi.com",
        "time": "Sat Jul 14 15:41:49 2007 +1000"
      },
      "message": "[XFS] Compat ioctl handler for handle operations\n\n32bit struct xfs_fsop_handlereq has different size and offsets (due to\npointers). TODO: case XFS_IOC_{FSSETDM,ATTRLIST,ATTRMULTI}_BY_HANDLE still\nnot handled.\n\nSGI-PV: 967354\nSGI-Modid: xfs-linux-melb:xfs-kern:29101a\n\nSigned-off-by: Michal Marek \u003cmmarek@suse.cz\u003e\nSigned-off-by: David Chinner \u003cdgc@sgi.com\u003e\nSigned-off-by: Tim Shimmin \u003ctes@sgi.com\u003e\n"
    },
    {
      "commit": "547e00c3c681265b1fe5e34c7643f3ddac748ba0",
      "tree": "fa72774cb123ad45230399d508aa11e80cbbd770",
      "parents": [
        "3a59c94c4b48878c6af047cdfc8c137d0fa7a0f0"
      ],
      "author": {
        "name": "Michal Marek",
        "email": "mmarek@suse.cz",
        "time": "Wed Jul 11 11:09:57 2007 +1000"
      },
      "committer": {
        "name": "Tim Shimmin",
        "email": "tes@chook.melbourne.sgi.com",
        "time": "Sat Jul 14 15:41:39 2007 +1000"
      },
      "message": "[XFS] Compat ioctl handler for XFS_IOC_FSGEOMETRY_V1.\n\ni386 struct xfs_fsop_geom_v1 has no padding after the last member, so the\nsize is different.\n\nSGI-PV: 967354\nSGI-Modid: xfs-linux-melb:xfs-kern:29100a\n\nSigned-off-by: Michal Marek \u003cmmarek@suse.cz\u003e\nSigned-off-by: David Chinner \u003cdgc@sgi.com\u003e\nSigned-off-by: Tim Shimmin \u003ctes@sgi.com\u003e\n"
    },
    {
      "commit": "3a59c94c4b48878c6af047cdfc8c137d0fa7a0f0",
      "tree": "6945590171040dfa6eba6335fd8312a9fbf0baf1",
      "parents": [
        "b11f94d537e6b69f13770143fd7ded3d09fdbaab"
      ],
      "author": {
        "name": "Eric Sandeen",
        "email": "sandeen@sandeen.net",
        "time": "Wed Jul 11 11:09:47 2007 +1000"
      },
      "committer": {
        "name": "Tim Shimmin",
        "email": "tes@chook.melbourne.sgi.com",
        "time": "Sat Jul 14 15:41:24 2007 +1000"
      },
      "message": "[XFS] Clean up function name handling in tracing code\n\nRemove the hardcoded \"fnames\" for tracing, and just embed them in tracing\nmacros via __FUNCTION__. Kills a lot of #ifdefs too.\n\nSGI-PV: 967353\nSGI-Modid: xfs-linux-melb:xfs-kern:29099a\n\nSigned-off-by: Eric Sandeen \u003csandeen@sandeen.net\u003e\nSigned-off-by: David Chinner \u003cdgc@sgi.com\u003e\nSigned-off-by: Tim Shimmin \u003ctes@sgi.com\u003e\n"
    },
    {
      "commit": "b11f94d537e6b69f13770143fd7ded3d09fdbaab",
      "tree": "f0c485c71824285e23e7c4fe1835be6b82ba7183",
      "parents": [
        "2a82b8be8a8dacb48cb7371449a7a9daa558b4a8"
      ],
      "author": {
        "name": "David Chinner",
        "email": "dgc@sgi.com",
        "time": "Wed Jul 11 11:09:33 2007 +1000"
      },
      "committer": {
        "name": "Tim Shimmin",
        "email": "tes@chook.melbourne.sgi.com",
        "time": "Sat Jul 14 15:41:12 2007 +1000"
      },
      "message": "[XFS] Quota inode has no parent.\n\nAvoid using a special \"zero inode\" as the parent of the quota inode as\nthis can confuse the filestreams code into thinking the quota inode has a\nparent. We do not want the quota inode to follow filestreams allocation\nrules, so pass a NULL as the parent inode and detect this condition when\ndoing stream associations.\n\nSGI-PV: 964469\nSGI-Modid: xfs-linux-melb:xfs-kern:29098a\n\nSigned-off-by: David Chinner \u003cdgc@sgi.com\u003e\nSigned-off-by: Tim Shimmin \u003ctes@sgi.com\u003e\n"
    }
  ],
  "next": "2a82b8be8a8dacb48cb7371449a7a9daa558b4a8"
}
