)]}'
{
  "log": [
    {
      "commit": "71e330b593905e40d6c5afa824d38ee02d70ce5f",
      "tree": "4c9fa6c4766280752fc40f3057fd6cf64396c16c",
      "parents": [
        "a9a745daadab26f13884ff26a50fa38247c11ce9"
      ],
      "author": {
        "name": "Dave Chinner",
        "email": "dchinner@redhat.com",
        "time": "Fri May 21 14:37:18 2010 +1000"
      },
      "committer": {
        "name": "Alex Elder",
        "email": "aelder@sgi.com",
        "time": "Mon May 24 10:38:03 2010 -0500"
      },
      "message": "xfs: Introduce delayed logging core code\n\nThe delayed logging code only changes in-memory structures and as\nsuch can be enabled and disabled with a mount option. Add the mount\noption and emit a warning that this is an experimental feature that\nshould not be used in production yet.\n\nWe also need infrastructure to track committed items that have not\nyet been written to the log. This is what the Committed Item List\n(CIL) is for.\n\nThe log item also needs to be extended to track the current log\nvector, the associated memory buffer and it\u0027s location in the Commit\nItem List. Extend the log item and log vector structures to enable\nthis tracking.\n\nTo maintain the current log format for transactions with delayed\nlogging, we need to introduce a checkpoint transaction and a context\nfor tracking each checkpoint from initiation to transaction\ncompletion.  This includes adding a log ticket for tracking space\nlog required/used by the context checkpoint.\n\nTo track all the changes we need an io vector array per log item,\nrather than a single array for the entire transaction. Using the new\nlog vector structure for this requires two passes - the first to\nallocate the log vector structures and chain them together, and the\nsecond to fill them out.  This log vector chain can then be passed\nto the CIL for formatting, pinning and insertion into the CIL.\n\nFormatting of the log vector chain is relatively simple - it\u0027s just\na loop over the iovecs on each log vector, but it is made slightly\nmore complex because we re-write the iovec after the copy to point\nback at the memory buffer we just copied into.\n\nThis code also needs to pin log items. If the log item is not\nalready tracked in this checkpoint context, then it needs to be\npinned. Otherwise it is already pinned and we don\u0027t need to pin it\nagain.\n\nThe only other complexity is calculating the amount of new log space\nthe formatting has consumed. This needs to be accounted to the\ntransaction in progress, and the accounting is made more complex\nbecase we need also to steal space from it for log metadata in the\ncheckpoint transaction. Calculate all this at insert time and update\nall the tickets, counters, etc correctly.\n\nOnce we\u0027ve formatted all the log items in the transaction, attach\nthe busy extents to the checkpoint context so the busy extents live\nuntil checkpoint completion and can be processed at that point in\ntime. Transactions can then be freed at this point in time.\n\nNow we need to issue checkpoints - we are tracking the amount of log space\nused by the items in the CIL, so we can trigger background checkpoints when the\nspace usage gets to a certain threshold. Otherwise, checkpoints need ot be\ntriggered when a log synchronisation point is reached - a log force event.\n\nBecause the log write code already handles chained log vectors, writing the\ntransaction is trivial, too. Construct a transaction header, add it\nto the head of the chain and write it into the log, then issue a\ncommit record write. Then we can release the checkpoint log ticket\nand attach the context to the log buffer so it can be called during\nIo completion to complete the checkpoint.\n\nWe also need to allow for synchronising multiple in-flight\ncheckpoints. This is needed for two things - the first is to ensure\nthat checkpoint commit records appear in the log in the correct\nsequence order (so they are replayed in the correct order). The\nsecond is so that xfs_log_force_lsn() operates correctly and only\nflushes and/or waits for the specific sequence it was provided with.\n\nTo do this we need a wait variable and a list tracking the\ncheckpoint commits in progress. We can walk this list and wait for\nthe checkpoints to change state or complete easily, an this provides\nthe necessary synchronisation for correct operation in both cases.\n\nSigned-off-by: Dave Chinner \u003cdchinner@redhat.com\u003e\nReviewed-by: Christoph Hellwig \u003chch@lst.de\u003e\nSigned-off-by: Alex Elder \u003caelder@sgi.com\u003e\n"
    },
    {
      "commit": "dda35b8f84d209784041bbad47f9e195a08a7527",
      "tree": "d132d40c3f0646e74ab29ffd45f771f8b87a5883",
      "parents": [
        "b262e5dfd9ddd2f6d0ef3fa53eb88690f22134a5"
      ],
      "author": {
        "name": "Christoph Hellwig",
        "email": "hch@infradead.org",
        "time": "Mon Feb 15 09:44:46 2010 +0000"
      },
      "committer": {
        "name": "Alex Elder",
        "email": "aelder@sgi.com",
        "time": "Mon Mar 01 16:34:18 2010 -0600"
      },
      "message": "xfs: merge xfs_lrw.c into xfs_file.c\n\nCurrently the code to implement the file operations is split over\ntwo small files.  Merge the content of xfs_lrw.c into xfs_file.c to\nhave it in one place.  Note that I haven\u0027t done various cleanups\nthat are possible after this yet, they will follow in the next\npatch.  Also the function xfs_dev_is_read_only which was in\nxfs_lrw.c before really doesn\u0027t fit in here at all and was moved to\nxfs_mount.c.\n\nSigned-off-by: Christoph Hellwig \u003chch@lst.de\u003e\nReviewed-by: Dave Chinner \u003cdavid@fromorbit.com\u003e\nSigned-off-by: Alex Elder \u003caelder@sgi.com\u003e\n"
    },
    {
      "commit": "388f1f0c346b533b06d8bc792f7204ebc3e4b7da",
      "tree": "22222603efb46b0b6530fa65b3c60b8fa61d9800",
      "parents": [
        "cbe132a8bdcff0f9afd9060948fb50597c7400b8"
      ],
      "author": {
        "name": "Dave Chinner",
        "email": "david@fromorbit.com",
        "time": "Tue Jan 26 15:10:15 2010 +1100"
      },
      "committer": {
        "name": "Dave Chinner",
        "email": "david@fromorbit.com",
        "time": "Tue Jan 26 15:10:15 2010 +1100"
      },
      "message": "xfs: turn off sign warnings\n\nBecause they cause warnings in static inline functions conditionally\ncompiled into XFS from the VFS (e.g. fsnotify).\n\nSigned-off-by: Dave Chinner \u003cdavid@fromorbit.com\u003e\nReviewed-by: Christoph Hellwig \u003chch@lst.de\u003e\n"
    },
    {
      "commit": "58c75cfb51393a52b45262394c1fa81514b4d9bd",
      "tree": "0152d968e9a2298e4c74f8a9bae8892ce484f870",
      "parents": [
        "4a24cb71407dc25035d75dd3d118e0e55679e217"
      ],
      "author": {
        "name": "Dave Chinner",
        "email": "david@fromorbit.com",
        "time": "Wed Jan 20 10:49:18 2010 +1100"
      },
      "committer": {
        "name": "Dave Chinner",
        "email": "david@fromorbit.com",
        "time": "Wed Jan 20 10:49:18 2010 +1100"
      },
      "message": "xfs: make compile warn about char sign mismatches again\n\nThe -fno-unsigned-char directive has no effect anymore as the\nXFs build is clean. However, the kernel build hides pointer sign\ndifferences so turn that back on so that we can clean up all the\nmismatches prior to a userspace code resync.\n\nSigned-off-by: Dave Chinner \u003cdavid@fromorbit.com\u003e\nReviewed-by: Christoph Hellwig \u003chch@lst.de\u003e\n"
    },
    {
      "commit": "0b1b213fcf3a8486ada99a2bab84ab8c6f51b264",
      "tree": "661fd8da7487231224c77b95c33986cb7d7b41ef",
      "parents": [
        "6ef3554422e2c7e7aa424ba63737da498881dff4"
      ],
      "author": {
        "name": "Christoph Hellwig",
        "email": "hch@infradead.org",
        "time": "Mon Dec 14 23:14:59 2009 +0000"
      },
      "committer": {
        "name": "Alex Elder",
        "email": "aelder@sgi.com",
        "time": "Mon Dec 14 23:08:16 2009 -0600"
      },
      "message": "xfs: event tracing support\n\nConvert the old xfs tracing support that could only be used with the\nout of tree kdb and xfsidbg patches to use the generic event tracer.\n\nTo use it make sure CONFIG_EVENT_TRACING is enabled and then enable\nall xfs trace channels by:\n\n   echo 1 \u003e /sys/kernel/debug/tracing/events/xfs/enable\n\nor alternatively enable single events by just doing the same in one\nevent subdirectory, e.g.\n\n   echo 1 \u003e /sys/kernel/debug/tracing/events/xfs/xfs_ihold/enable\n\nor set more complex filters, etc. In Documentation/trace/events.txt\nall this is desctribed in more detail.  To reads the events do a\n\n   cat /sys/kernel/debug/tracing/trace\n\nCompared to the last posting this patch converts the tracing mostly to\nthe one tracepoint per callsite model that other users of the new\ntracing facility also employ.  This allows a very fine-grained control\nof the tracing, a cleaner output of the traces and also enables the\nperf tool to use each tracepoint as a virtual performance counter,\n     allowing us to e.g. count how often certain workloads git various\n     spots in XFS.  Take a look at\n\n    http://lwn.net/Articles/346470/\n\nfor some examples.\n\nAlso the btree tracing isn\u0027t included at all yet, as it will require\nadditional core tracing features not in mainline yet, I plan to\ndeliver it later.\n\nAnd the really nice thing about this patch is that it actually removes\nmany lines of code while adding this nice functionality:\n\n fs/xfs/Makefile                |    8\n fs/xfs/linux-2.6/xfs_acl.c     |    1\n fs/xfs/linux-2.6/xfs_aops.c    |   52 -\n fs/xfs/linux-2.6/xfs_aops.h    |    2\n fs/xfs/linux-2.6/xfs_buf.c     |  117 +--\n fs/xfs/linux-2.6/xfs_buf.h     |   33\n fs/xfs/linux-2.6/xfs_fs_subr.c |    3\n fs/xfs/linux-2.6/xfs_ioctl.c   |    1\n fs/xfs/linux-2.6/xfs_ioctl32.c |    1\n fs/xfs/linux-2.6/xfs_iops.c    |    1\n fs/xfs/linux-2.6/xfs_linux.h   |    1\n fs/xfs/linux-2.6/xfs_lrw.c     |   87 --\n fs/xfs/linux-2.6/xfs_lrw.h     |   45 -\n fs/xfs/linux-2.6/xfs_super.c   |  104 ---\n fs/xfs/linux-2.6/xfs_super.h   |    7\n fs/xfs/linux-2.6/xfs_sync.c    |    1\n fs/xfs/linux-2.6/xfs_trace.c   |   75 ++\n fs/xfs/linux-2.6/xfs_trace.h   | 1369 +++++++++++++++++++++++++++++++++++++++++\n fs/xfs/linux-2.6/xfs_vnode.h   |    4\n fs/xfs/quota/xfs_dquot.c       |  110 ---\n fs/xfs/quota/xfs_dquot.h       |   21\n fs/xfs/quota/xfs_qm.c          |   40 -\n fs/xfs/quota/xfs_qm_syscalls.c |    4\n fs/xfs/support/ktrace.c        |  323 ---------\n fs/xfs/support/ktrace.h        |   85 --\n fs/xfs/xfs.h                   |   16\n fs/xfs/xfs_ag.h                |   14\n fs/xfs/xfs_alloc.c             |  230 +-----\n fs/xfs/xfs_alloc.h             |   27\n fs/xfs/xfs_alloc_btree.c       |    1\n fs/xfs/xfs_attr.c              |  107 ---\n fs/xfs/xfs_attr.h              |   10\n fs/xfs/xfs_attr_leaf.c         |   14\n fs/xfs/xfs_attr_sf.h           |   40 -\n fs/xfs/xfs_bmap.c              |  507 +++------------\n fs/xfs/xfs_bmap.h              |   49 -\n fs/xfs/xfs_bmap_btree.c        |    6\n fs/xfs/xfs_btree.c             |    5\n fs/xfs/xfs_btree_trace.h       |   17\n fs/xfs/xfs_buf_item.c          |   87 --\n fs/xfs/xfs_buf_item.h          |   20\n fs/xfs/xfs_da_btree.c          |    3\n fs/xfs/xfs_da_btree.h          |    7\n fs/xfs/xfs_dfrag.c             |    2\n fs/xfs/xfs_dir2.c              |    8\n fs/xfs/xfs_dir2_block.c        |   20\n fs/xfs/xfs_dir2_leaf.c         |   21\n fs/xfs/xfs_dir2_node.c         |   27\n fs/xfs/xfs_dir2_sf.c           |   26\n fs/xfs/xfs_dir2_trace.c        |  216 ------\n fs/xfs/xfs_dir2_trace.h        |   72 --\n fs/xfs/xfs_filestream.c        |    8\n fs/xfs/xfs_fsops.c             |    2\n fs/xfs/xfs_iget.c              |  111 ---\n fs/xfs/xfs_inode.c             |   67 --\n fs/xfs/xfs_inode.h             |   76 --\n fs/xfs/xfs_inode_item.c        |    5\n fs/xfs/xfs_iomap.c             |   85 --\n fs/xfs/xfs_iomap.h             |    8\n fs/xfs/xfs_log.c               |  181 +----\n fs/xfs/xfs_log_priv.h          |   20\n fs/xfs/xfs_log_recover.c       |    1\n fs/xfs/xfs_mount.c             |    2\n fs/xfs/xfs_quota.h             |    8\n fs/xfs/xfs_rename.c            |    1\n fs/xfs/xfs_rtalloc.c           |    1\n fs/xfs/xfs_rw.c                |    3\n fs/xfs/xfs_trans.h             |   47 +\n fs/xfs/xfs_trans_buf.c         |   62 -\n fs/xfs/xfs_vnodeops.c          |    8\n 70 files changed, 2151 insertions(+), 2592 deletions(-)\n\nSigned-off-by: Christoph Hellwig \u003chch@lst.de\u003e\nSigned-off-by: Alex Elder \u003caelder@sgi.com\u003e\n"
    },
    {
      "commit": "ef14f0c1578dce4b688726eb2603e50b62d6665a",
      "tree": "5a221081850fab8f96455745e90f4a0e2127bce0",
      "parents": [
        "8b5403a6d772d340541cfb30a668fde119c40ac1"
      ],
      "author": {
        "name": "Christoph Hellwig",
        "email": "hch@lst.de",
        "time": "Wed Jun 10 17:07:47 2009 +0200"
      },
      "committer": {
        "name": "Christoph Hellwig",
        "email": "hch@brick.lst.de",
        "time": "Wed Jun 10 17:07:47 2009 +0200"
      },
      "message": "xfs: use generic Posix ACL code\n\nThis patch rips out the XFS ACL handling code and uses the generic\nfs/posix_acl.c code instead.  The ondisk format is of course left\nunchanged.\n\nThis also introduces the same ACL caching all other Linux filesystems do\nby adding pointers to the acl and default acl in struct xfs_inode.\n\nSigned-off-by: Christoph Hellwig \u003chch@lst.de\u003e\nReviewed-by: Eric Sandeen \u003csandeen@sandeen.net\u003e\n"
    },
    {
      "commit": "7d095257e321214e4cf359abd131ba1f09c60cba",
      "tree": "3f71e2650651616f8ba168b64a82ab48aedef14c",
      "parents": [
        "0c5e1ce89f1eacc366ec421c0f5f681159479c28"
      ],
      "author": {
        "name": "Christoph Hellwig",
        "email": "hch@lst.de",
        "time": "Mon Jun 08 15:33:32 2009 +0200"
      },
      "committer": {
        "name": "Christoph Hellwig",
        "email": "hch@brick.lst.de",
        "time": "Mon Jun 08 15:33:32 2009 +0200"
      },
      "message": "xfs: kill xfs_qmops\n\nKill the quota ops function vector and replace it with direct calls or\nstubs in the CONFIG_XFS_QUOTA\u003dn case.\n\nMake sure we check XFS_IS_QUOTA_RUNNING in the right spots.  We can remove\nthe number of those checks because the XFS_TRANS_DQ_DIRTY flag can\u0027t be set\notherwise.\n\nThis brings us back closer to the way this code worked in IRIX and earlier\nLinux versions, but we keep a lot of the more useful factoring of common\ncode.\n\nEventually we should also kill xfs_qm_bhv.c, but that\u0027s left for a later\npatch.\n\nReduces the size of the source code by about 250 lines and the size of\nXFS module by about 1.5 kilobytes with quotas enabled:\n\n   text\t   data\t    bss\t    dec\t    hex\tfilename\n 615957\t   2960\t   3848\t 622765\t  980ad\tfs/xfs/xfs.o\n 617231\t   3152\t   3848\t 624231\t  98667\tfs/xfs/xfs.o.old\n\nFallout:\n\n - xfs_qm_dqattach is split into xfs_qm_dqattach_locked which expects\n   the inode locked and xfs_qm_dqattach which does the locking around it,\n   thus removing XFS_QMOPT_ILOCKED.\n\nSigned-off-by: Christoph Hellwig \u003chch@lst.de\u003e\nReviewed-by: Eric Sandeen \u003csandeen@sandeen.net\u003e\n"
    },
    {
      "commit": "fcafb71b57a039f2113b0321b3b5535fea3a0aca",
      "tree": "ba092276254f40cecb55764b7b4038eccdc6a296",
      "parents": [
        "c9a192dcf906a33f59c555924e7796a4b9454217"
      ],
      "author": {
        "name": "Christoph Hellwig",
        "email": "hch@lst.de",
        "time": "Mon Feb 09 08:47:34 2009 +0100"
      },
      "committer": {
        "name": "Christoph Hellwig",
        "email": "hch@brick.lst.de",
        "time": "Mon Feb 09 08:47:34 2009 +0100"
      },
      "message": "xfs: get rid of indirections in the quotaops implementation\n\nCurrently we call from the nicely abstracted linux quotaops into a ugly\nmultiplexer just to split the calls out at the same boundary again.\nRewrite the quota ops handling to remove that obfucation.\n\nSigned-off-by: Christoph Hellwig \u003chch@lst.de\u003e\nReviewed-by: Dave Chinner \u003cdavid@fromorbit.com\u003e\n"
    },
    {
      "commit": "5a8d0f3c7af801c7263fbba39952504d6fc7ff60",
      "tree": "64e376493be44232ac1c0d66e2a68c5280f42ec1",
      "parents": [
        "25e41b3d521f52771354a718042a753a3e77df0a"
      ],
      "author": {
        "name": "Christoph Hellwig",
        "email": "hch@lst.de",
        "time": "Wed Dec 03 12:20:40 2008 +0100"
      },
      "committer": {
        "name": "Niv Sardi",
        "email": "xaiki@sgi.com",
        "time": "Thu Dec 04 15:39:25 2008 +1100"
      },
      "message": "move inode tracing out of xfs_vnode.\n\nMove the inode tracing into xfs_iget.c / xfs_inode.h and kill xfs_vnode.c\nnow that it\u0027s empty.\n\nSigned-off-by: Christoph Hellwig \u003chch@lst.de\u003e\nReviewed-by: Dave Chinner \u003cdavid@fromorbit.com\u003e\nSigned-off-by: Niv Sardi \u003cxaiki@sgi.com\u003e\n"
    },
    {
      "commit": "f95099ba5ae06b96a9c17ef93cc655f686d79077",
      "tree": "000e5aa4db7386439cbe1d932d7639978a7c87c0",
      "parents": [
        "e57481dc269cd3773b22f53bfb869308780a7bf1"
      ],
      "author": {
        "name": "Christoph Hellwig",
        "email": "hch@lst.de",
        "time": "Wed Dec 03 12:20:37 2008 +0100"
      },
      "committer": {
        "name": "Niv Sardi",
        "email": "xaiki@sgi.com",
        "time": "Thu Dec 04 15:39:24 2008 +1100"
      },
      "message": "kill xfs_unmount_flush\n\nThere\u0027s almost nothing left in this function, instead remove the IRELE\non the real times inodes and the call to XFS_QM_UNMOUNT into xfs_unmountfs.\n\nFor the regular unmount case that means it now also happenes after dmapi\nnotification, but otherwise there is no difference in behaviour.\n\nSigned-off-by: Christoph Hellwig \u003chch@lst.de\u003e\nReviewed-by: Dave Chinner \u003cdavid@fromorbit.com\u003e\nSigned-off-by: Niv Sardi \u003cxaiki@sgi.com\u003e\n"
    },
    {
      "commit": "fe4fa4b8e463fa5848ef9e86ed75d27501d0da1e",
      "tree": "8b3ec6b29f7bb2c604aebb7d9e99b2670ec5e87e",
      "parents": [
        "34519daae6778d129d56688f75ade27f6011bac9"
      ],
      "author": {
        "name": "David Chinner",
        "email": "david@fromorbit.com",
        "time": "Thu Oct 30 17:06:08 2008 +1100"
      },
      "committer": {
        "name": "Lachlan McIlroy",
        "email": "lachlan@sgi.com",
        "time": "Thu Oct 30 17:06:08 2008 +1100"
      },
      "message": "[XFS] move sync code to its own file\n\nThe sync code in XFS is spread around several files. While it used to make\nsense to have such a distribution, the code is about to be cleaned up and\nso centralising it in one spot as the first step makes sense.\n\nSGI-PV: 988139\n\nSGI-Modid: xfs-linux-melb:xfs-kern:32282a\n\nSigned-off-by: David Chinner \u003cdavid@fromorbit.com\u003e\nSigned-off-by: Lachlan McIlroy \u003clachlan@sgi.com\u003e\nSigned-off-by: Christoph Hellwig \u003chch@infradead.org\u003e\n"
    },
    {
      "commit": "8c4ed633e65d0bd0a25d45aad9b4646e3236cad7",
      "tree": "36877f1d34c0dbd20cfd0315112d62dbf4571b80",
      "parents": [
        "854929f05831d3a290a802815ee955b96c740c61"
      ],
      "author": {
        "name": "Christoph Hellwig",
        "email": "hch@infradead.org",
        "time": "Thu Oct 30 16:55:13 2008 +1100"
      },
      "committer": {
        "name": "Lachlan McIlroy",
        "email": "lachlan@sgi.com",
        "time": "Thu Oct 30 16:55:13 2008 +1100"
      },
      "message": "[XFS] make btree tracing generic\n\nMake the existing bmap btree tracing generic so that it applies to all\nbtree types.\n\nSome fragments lifted from a patch by Dave Chinner.\n\nSGI-PV: 985583\n\nSGI-Modid: xfs-linux-melb:xfs-kern:32187a\n\nSigned-off-by: Christoph Hellwig \u003chch@infradead.org\u003e\nSigned-off-by: Lachlan McIlroy \u003clachlan@sgi.com\u003e\nSigned-off-by: Bill O\u0027Donnell \u003cbillodo@sgi.com\u003e\nSigned-off-by: David Chinner \u003cdavid@fromorbit.com\u003e\n"
    },
    {
      "commit": "0ec585163ac81e329bde25fb6311a043a1c63952",
      "tree": "304193ab41f88e5d82e51053bbd7d21fbfb7a83f",
      "parents": [
        "d532506cd8b59543b376e155508f88a03a81dad1"
      ],
      "author": {
        "name": "Lachlan McIlroy",
        "email": "lachlan@redback.melbourne.sgi.com",
        "time": "Mon Jun 23 13:23:01 2008 +1000"
      },
      "committer": {
        "name": "Niv Sardi",
        "email": "xaiki@debian.org",
        "time": "Mon Jul 28 16:58:49 2008 +1000"
      },
      "message": "[XFS] Use the generic xattr methods.\n\nUse the generic set, get and removexattr methods and supply the s_xattr\narray with fine-grained handlers. All XFS/Linux highlevel attr handling is\nrewritten from scratch and placed into fs/xfs/linux-2.6/xfs_xattr.c so\nthat it\u0027s separated from the generic low-level code.\n\nSGI-PV: 982343\n\nSGI-Modid: xfs-linux-melb:xfs-kern:31234a\n\nSigned-off-by: Christoph Hellwig \u003chch@infradead.org\u003e\nSigned-off-by: Tim Shimmin \u003ctes@sgi.com\u003e\nSigned-off-by: Lachlan McIlroy \u003clachlan@sgi.com\u003e\n"
    },
    {
      "commit": "269cdfaf769f5cd831284cc831790c7c5038040f",
      "tree": "d7e4ff963d0bf73f5ba61500f1bae0fcfca9d9d6",
      "parents": [
        "794f744b225aaf35742aac9e7b9dda96a9943413"
      ],
      "author": {
        "name": "Lachlan McIlroy",
        "email": "lachlan@redback.melbourne.sgi.com",
        "time": "Wed Nov 28 18:28:09 2007 +1100"
      },
      "committer": {
        "name": "Lachlan McIlroy",
        "email": "lachlan@redback.melbourne.sgi.com",
        "time": "Mon Feb 18 13:06:17 2008 +1100"
      },
      "message": "[XFS] Added quota targets and removed dmapi directory\n\nFixes build failures introduced by bad merge to mainline.\n"
    },
    {
      "commit": "794f744b225aaf35742aac9e7b9dda96a9943413",
      "tree": "f012535ad9c2db32d7b816471a622d92baf30493",
      "parents": [
        "58b7983d15a422d9616bdc4e245d5c31dfaefbe2"
      ],
      "author": {
        "name": "Eric Sandeen",
        "email": "sandeen@sandeen.net",
        "time": "Tue Nov 27 16:59:56 2007 +1100"
      },
      "committer": {
        "name": "Lachlan McIlroy",
        "email": "lachlan@redback.melbourne.sgi.com",
        "time": "Mon Feb 18 12:59:11 2008 +1100"
      },
      "message": "[XFS] Fix up xfs out-of-tree builds. (a.k.a. external modules)\n\nChange -I include directives to find headers in the out-of-tree spot. This\nallows a directory containing only xfs files to be built as:\n\nSGI-PV: 971186\nSGI-Modid: xfs-linux-melb:xfs-kern:29878a\n\nSigned-off-by: Eric Sandeen \u003csandeen@sandeen.net\u003e\nSigned-off-by: Donald Douwsma \u003cdonaldd@sgi.com\u003e\nSigned-off-by: Lachlan McIlroy \u003clachlan@sgi.com\u003e\n"
    },
    {
      "commit": "58b7983d15a422d9616bdc4e245d5c31dfaefbe2",
      "tree": "0adeb3f24f366ffec42b13eafc0ecf13c9a74edb",
      "parents": [
        "de2eeea609b55e8c3994133a565b39edeaaaaf69"
      ],
      "author": {
        "name": "Andi Kleen",
        "email": "ak@suse.de",
        "time": "Tue Nov 27 16:53:47 2007 +1100"
      },
      "committer": {
        "name": "Lachlan McIlroy",
        "email": "lachlan@redback.melbourne.sgi.com",
        "time": "Mon Feb 18 12:48:03 2008 +1100"
      },
      "message": "[XFS] Remove Makefile wrappers in XFS\n\nMakefile (and Kbuild) would include Makefile-linux-26 I doubt XFS will\nreally still compile on 2.4; so drop that. This moves Makefile-linux-26\ninto Makefile and drops Kbuild. Also having wrappers as both Kbuild and\nMakefile seemed redundant anyways.\n\nThe patch is relatively large because it renames a file, but no functional\nchanges.\n\nSGI-PV: 971050\nSGI-Modid: xfs-linux-melb:xfs-kern:29781a\n\nSigned-off-by: Andi Kleen \u003cak@suse.de\u003e\nSigned-off-by: Donald Douwsma \u003cdonaldd@sgi.com\u003e\nSigned-off-by: Tim Shimmin \u003ctes@sgi.com\u003e\nSigned-off-by: Lachlan McIlroy \u003clachlan@sgi.com\u003e\n"
    },
    {
      "commit": "cde410a99d0dd38eb218be884d02034fcdf5125b",
      "tree": "a503ef290f3fbeb2382b69a33cbcd1a209904b7f",
      "parents": [
        "c31e887807a3eab26614ee142629ba447cbcc0dc"
      ],
      "author": {
        "name": "Nathan Scott",
        "email": "nathans@sgi.com",
        "time": "Mon Sep 05 11:47:01 2005 +1000"
      },
      "committer": {
        "name": "Nathan Scott",
        "email": "nathans@sgi.com",
        "time": "Mon Sep 05 11:47:01 2005 +1000"
      },
      "message": "[XFS] Sort out some cosmetic differences between XFS trees.\n\nSGI-PV: 904196\nSGI-Modid: xfs-linux-melb:xfs-kern:23719a\n\nSigned-off-by: Nathan Scott \u003cnathans@sgi.com\u003e\n"
    },
    {
      "commit": "9effd8e62570c6e47b91734770e6122002c33ed5",
      "tree": "d199b3f93ac771637b562b01993d12028bf0c5af",
      "parents": [
        "31b084aef3f088962f56c100b31bb8479c5dd769"
      ],
      "author": {
        "name": "Eric Sandeen",
        "email": "sandeen@sgi.com",
        "time": "Thu May 05 13:26:18 2005 -0700"
      },
      "committer": {
        "name": "Christoph Hellwig",
        "email": "hch@melbourne.sgi.com",
        "time": "Thu May 05 13:26:18 2005 -0700"
      },
      "message": "[XFS] Enable XFS_VNODE_TRACE\n\nSGI Modid: xfs-linux:xfs-kern:190725a\n\nSigned-off-by: Eric Sandeen \u003csandeen@sgi.com\u003e\nSigned-off-by: Christoph Hellwig \u003chch@sgi.com\u003e\n.\n"
    },
    {
      "commit": "1da177e4c3f41524e886b7f1b8a0c1fc7321cac2",
      "tree": "0bba044c4ce775e45a88a51686b5d9f90697ea9d",
      "parents": [],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@ppc970.osdl.org",
        "time": "Sat Apr 16 15:20:36 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@ppc970.osdl.org",
        "time": "Sat Apr 16 15:20:36 2005 -0700"
      },
      "message": "Linux-2.6.12-rc2\n\nInitial git repository build. I\u0027m not bothering with the full history,\neven though we have it. We can create a separate \"historical\" git\narchive of that later if we want to, and in the meantime it\u0027s about\n3.2GB when imported into git - space that would just make the early\ngit days unnecessarily complicated, when we don\u0027t have a lot of good\ninfrastructure for it.\n\nLet it rip!\n"
    }
  ]
}
