)]}'
{
  "log": [
    {
      "commit": "90dc7d2796edf94a9eaa838321a9734c8513e717",
      "tree": "818c8899555efa3f5598f1ee9aa1fd5a5264c6c4",
      "parents": [
        "1227a74e2e0217a4ca155d1677bdbf5f69e32bed"
      ],
      "author": {
        "name": "Harvey Harrison",
        "email": "harvey.harrison@gmail.com",
        "time": "Wed Feb 20 13:03:05 2008 -0800"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Wed Feb 20 16:15:44 2008 -0500"
      },
      "message": "nfs: fix sparse warnings\n\nfs/nfs/nfs4state.c:788:34: warning: Using plain integer as NULL pointer\nfs/nfs/delegation.c:52:34: warning: Using plain integer as NULL pointer\nfs/nfs/idmap.c:312:12: warning: Using plain integer as NULL pointer\nfs/nfs/callback_xdr.c:257:6: warning: Using plain integer as NULL pointer\nfs/nfs/callback_xdr.c:270:6: warning: Using plain integer as NULL pointer\nfs/nfs/callback_xdr.c:281:6: warning: Using plain integer as NULL pointer\n\nSigned-off-by: Harvey Harrison \u003charvey.harrison@gmail.com\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "d24aae41b4d4141d4f3cffdbf4c31d85637ba691",
      "tree": "837cf221908b34da1a6d5733c68578721f5b0610",
      "parents": [
        "a661b77fc12a172edea4b709e37f8cd58a6bd500"
      ],
      "author": {
        "name": "Chuck Lever",
        "email": "chuck.lever@oracle.com",
        "time": "Thu Dec 20 14:54:49 2007 -0500"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Wed Jan 30 02:06:01 2008 -0500"
      },
      "message": "NFS: Use size_t for storing name lengths\n\nClean up: always use the same type when handling buffer lengths.  As a\nbonus, this prevents a mixed sign comparison in idmap_lookup_name.\n\nSigned-off-by: Chuck Lever \u003cchuck.lever@oracle.com\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "a661b77fc12a172edea4b709e37f8cd58a6bd500",
      "tree": "ded0b18213329ec39682ad63530e849fafed22c0",
      "parents": [
        "369af0f1166f7a637751110395496cee156b4297"
      ],
      "author": {
        "name": "Chuck Lever",
        "email": "chuck.lever@oracle.com",
        "time": "Thu Dec 20 14:54:42 2007 -0500"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Wed Jan 30 02:06:01 2008 -0500"
      },
      "message": "NFS: Fix use of copy_to_user() in idmap_pipe_upcall\n\nThe idmap_pipe_upcall() function expects the copy_to_user() function to\nreturn a negative error value if the call fails, but copy_to_user()\nreturns an unsigned long number of bytes that couldn\u0027t be copied.\n\nSigned-off-by: Chuck Lever \u003cchuck.lever@oracle.com\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "369af0f1166f7a637751110395496cee156b4297",
      "tree": "b42d4285a3e920a77c10ae0de954640efaeeebad",
      "parents": [
        "7df089952fca41cb336733e1167c0a25e5a025d8"
      ],
      "author": {
        "name": "Chuck Lever",
        "email": "chuck.lever@oracle.com",
        "time": "Thu Dec 20 14:54:35 2007 -0500"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Wed Jan 30 02:06:00 2008 -0500"
      },
      "message": "NFS: Clean up fs/nfs/idmap.c\n\nClean up white space damage and use standard kernel coding conventions for\nreturn statements.\n\nSigned-off-by: Chuck Lever \u003cchuck.lever@oracle.com\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "fee7f23feaf0845fdfd47d20cddc75652552fbb8",
      "tree": "d5ce2fd3e86f6cf0fa61af8d4a5ecff8f149b796",
      "parents": [
        "ddce40df6e14dd474bbd9daa006dcc290dea6326"
      ],
      "author": {
        "name": "Milind Arun Choudhary",
        "email": "milindchoudhary@gmail.com",
        "time": "Thu Apr 26 00:29:03 2007 -0700"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Wed May 09 17:58:01 2007 -0400"
      },
      "message": "NFS: use __set_current_state()\n\nuse __set_current_state(TASK_*) instead of current-\u003estate \u003d TASK_*, in fs/nfs\n\nSigned-off-by: Milind Arun Choudhary \u003cmilindchoudhary@gmail.com\u003e\nCc: Trond Myklebust \u003ctrond.myklebust@fys.uio.no\u003e\nCc: \"J. Bruce Fields\" \u003cbfields@fieldses.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "01cce933d8b524d9312f5098c70fa1b6ac190572",
      "tree": "7601e02e874a6eb44faca3cdf06664c7377ac687",
      "parents": [
        "2485822d51f8b338d289abe00eb7ce5249794a08"
      ],
      "author": {
        "name": "Josef \"Jeff\" Sipek",
        "email": "jsipek@cs.sunysb.edu",
        "time": "Fri Dec 08 02:36:40 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.osdl.org",
        "time": "Fri Dec 08 08:28:41 2006 -0800"
      },
      "message": "[PATCH] nfs: change uses of f_{dentry,vfsmnt} to use f_path\n\nChange all the uses of f_{dentry,vfsmnt} to f_path.{dentry,mnt} in the nfs\nclient code.\n\nSigned-off-by: Josef \"Jeff\" Sipek \u003cjsipek@cs.sunysb.edu\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "158998b6fe36f6acef087f574c96d44713499cc9",
      "tree": "afc0f330e51135cdcf05bd8c268bf514165a4e4a",
      "parents": [
        "5dd3177ae5012c1e2ad7a9ffdbd0e0d0de2f60e4"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Thu Aug 24 01:03:17 2006 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Fri Sep 22 23:24:54 2006 -0400"
      },
      "message": "SUNRPC: Make rpc_mkpipe() take the parent dentry as an argument\n\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "54ceac4515986030c2502960be620198dd8fe25b",
      "tree": "b4ae4305c5652c0fe883ef5ea3243da91dbd2b34",
      "parents": [
        "cf6d7b5de8535a9f0088c5cc28ee2dae87371b4a"
      ],
      "author": {
        "name": "David Howells",
        "email": "dhowells@redhat.com",
        "time": "Tue Aug 22 20:06:13 2006 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Fri Sep 22 23:24:37 2006 -0400"
      },
      "message": "NFS: Share NFS superblocks per-protocol per-server per-FSID\n\nThe attached patch makes NFS share superblocks between mounts from the same\nserver and FSID over the same protocol.\n\nIt does this by creating each superblock with a false root and returning the\nreal root dentry in the vfsmount presented by get_sb(). The root dentry set\nstarts off as an anonymous dentry if we don\u0027t already have the dentry for its\ninode, otherwise it simply returns the dentry we already have.\n\nWe may thus end up with several trees of dentries in the superblock, and if at\nsome later point one of anonymous tree roots is discovered by normal filesystem\nactivity to be located in another tree within the superblock, the anonymous\nroot is named and materialises attached to the second tree at the appropriate\npoint.\n\nWhy do it this way? Why not pass an extra argument to the mount() syscall to\nindicate the subpath and then pathwalk from the server root to the desired\ndirectory? You can\u0027t guarantee this will work for two reasons:\n\n (1) The root and intervening nodes may not be accessible to the client.\n\n     With NFS2 and NFS3, for instance, mountd is called on the server to get\n     the filehandle for the tip of a path. mountd won\u0027t give us handles for\n     anything we don\u0027t have permission to access, and so we can\u0027t set up NFS\n     inodes for such nodes, and so can\u0027t easily set up dentries (we\u0027d have to\n     have ghost inodes or something).\n\n     With this patch we don\u0027t actually create dentries until we get handles\n     from the server that we can use to set up their inodes, and we don\u0027t\n     actually bind them into the tree until we know for sure where they go.\n\n (2) Inaccessible symbolic links.\n\n     If we\u0027re asked to mount two exports from the server, eg:\n\n\tmount warthog:/warthog/aaa/xxx /mmm\n\tmount warthog:/warthog/bbb/yyy /nnn\n\n     We may not be able to access anything nearer the root than xxx and yyy,\n     but we may find out later that /mmm/www/yyy, say, is actually the same\n     directory as the one mounted on /nnn. What we might then find out, for\n     example, is that /warthog/bbb was actually a symbolic link to\n     /warthog/aaa/xxx/www, but we can\u0027t actually determine that by talking to\n     the server until /warthog is made available by NFS.\n\n     This would lead to having constructed an errneous dentry tree which we\n     can\u0027t easily fix. We can end up with a dentry marked as a directory when\n     it should actually be a symlink, or we could end up with an apparently\n     hardlinked directory.\n\n     With this patch we need not make assumptions about the type of a dentry\n     for which we can\u0027t retrieve information, nor need we assume we know its\n     place in the grand scheme of things until we actually see that place.\n\nThis patch reduces the possibility of aliasing in the inode and page caches for\ninodes that may be accessed by more than one NFS export. It also reduces the\nnumber of superblocks required for NFS where there are many NFS exports being\nused from a server (home directory server + autofs for example).\n\nThis in turn makes it simpler to do local caching of network filesystems, as it\ncan then be guaranteed that there won\u0027t be links from multiple inodes in\nseparate superblocks to the same cache file.\n\nObviously, cache aliasing between different levels of NFS protocol could still\nbe a problem, but at least that gives us another key to use when indexing the\ncache.\n\nThis patch makes the following changes:\n\n (1) The server record construction/destruction has been abstracted out into\n     its own set of functions to make things easier to get right.  These have\n     been moved into fs/nfs/client.c.\n\n     All the code in fs/nfs/client.c has to do with the management of\n     connections to servers, and doesn\u0027t touch superblocks in any way; the\n     remaining code in fs/nfs/super.c has to do with VFS superblock management.\n\n (2) The sequence of events undertaken by NFS mount is now reordered:\n\n     (a) A volume representation (struct nfs_server) is allocated.\n\n     (b) A server representation (struct nfs_client) is acquired.  This may be\n     \t allocated or shared, and is keyed on server address, port and NFS\n     \t version.\n\n     (c) If allocated, the client representation is initialised.  The state\n     \t member variable of nfs_client is used to prevent a race during\n     \t initialisation from two mounts.\n\n     (d) For NFS4 a simple pathwalk is performed, walking from FH to FH to find\n     \t the root filehandle for the mount (fs/nfs/getroot.c).  For NFS2/3 we\n     \t are given the root FH in advance.\n\n     (e) The volume FSID is probed for on the root FH.\n\n     (f) The volume representation is initialised from the FSINFO record\n     \t retrieved on the root FH.\n\n     (g) sget() is called to acquire a superblock.  This may be allocated or\n     \t shared, keyed on client pointer and FSID.\n\n     (h) If allocated, the superblock is initialised.\n\n     (i) If the superblock is shared, then the new nfs_server record is\n     \t discarded.\n\n     (j) The root dentry for this mount is looked up from the root FH.\n\n     (k) The root dentry for this mount is assigned to the vfsmount.\n\n (3) nfs_readdir_lookup() creates dentries for each of the entries readdir()\n     returns; this function now attaches disconnected trees from alternate\n     roots that happen to be discovered attached to a directory being read (in\n     the same way nfs_lookup() is made to do for lookup ops).\n\n     The new d_materialise_unique() function is now used to do this, thus\n     permitting the whole thing to be done under one set of locks, and thus\n     avoiding any race between mount and lookup operations on the same\n     directory.\n\n (4) The client management code uses a new debug facility: NFSDBG_CLIENT which\n     is set by echoing 1024 to /proc/net/sunrpc/nfs_debug.\n\n (5) Clone mounts are now called xdev mounts.\n\n (6) Use the dentry passed to the statfs() op as the handle for retrieving fs\n     statistics rather than the root dentry of the superblock (which is now a\n     dummy).\n\nSigned-Off-By: David Howells \u003cdhowells@redhat.com\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "b7162792b5c0e0f6e91b8997f8e6bbc76ec5420a",
      "tree": "214c0aec3cee41cf872e0c4940fa778f6c0f94e9",
      "parents": [
        "7539bbab8062aadc1db95a22b377146843cfa88f"
      ],
      "author": {
        "name": "David Howells",
        "email": "dhowells@redhat.com",
        "time": "Tue Aug 22 20:06:09 2006 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Fri Sep 22 23:24:32 2006 -0400"
      },
      "message": "NFS: Return an error when starting the idmapping pipe\n\nReturn an error when starting the idmapping pipe so that we can detect it\nfailing.\n\nSigned-Off-By: David Howells \u003cdhowells@redhat.com\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "adfa6f980bd46974e6b32b22dd0c45e3f52063f4",
      "tree": "7dbc86985faa0fce0e73103979262c1593ea3a3b",
      "parents": [
        "5ae1fbce142b67bf59e15fb1af96e88a96abde7b"
      ],
      "author": {
        "name": "David Howells",
        "email": "dhowells@redhat.com",
        "time": "Tue Aug 22 20:06:08 2006 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Fri Sep 22 23:24:31 2006 -0400"
      },
      "message": "NFS: Rename struct nfs4_client to struct nfs_client\n\nRename struct nfs4_client to struct nfs_client so that it can become the basis\nfor a general client record for NFS2 and NFS3 in addition to NFS4.\n\nSigned-Off-By: David Howells \u003cdhowells@redhat.com\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "7d4e2747a0412583526a162fbbd6edeeafcceb08",
      "tree": "756180b37a02b504998c646ff027652f80e10bab",
      "parents": [
        "770bfad846ab6628444428467b11fa6773ae9ea1"
      ],
      "author": {
        "name": "David Howells",
        "email": "dhowells@redhat.com",
        "time": "Tue Aug 22 20:06:07 2006 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Fri Sep 22 23:24:30 2006 -0400"
      },
      "message": "NFS: Fix up split of fs/nfs/inode.c\n\nFix ups for the splitting of the superblock stuff out of fs/nfs/inode.c,\nincluding:\n\n (*) Move the callback tcpport module param into callback.c.\n\n (*) Move the idmap cache timeout module param into idmap.c.\n\n (*) Changes to internal.h:\n\n     (*) namespace-nfs4.c was renamed to nfs4namespace.c.\n\n     (*) nfs_stat_to_errno() is in nfs2xdr.c, not nfs4xdr.c.\n\n     (*) nfs4xdr.c is contingent on CONFIG_NFS_V4.\n\n     (*) nfs4_path() is only uses if CONFIG_NFS_V4 is set.\n\nPlus also:\n\n (*) The sec_flavours[] table should really be const.\n\nSigned-Off-By: David Howells \u003cdhowells@redhat.com\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "8f8e7a50f450fcb86a5b2ffb94543c57a14f8260",
      "tree": "fc48bee347dad1c6100468c2169d34152e2daac1",
      "parents": [
        "68adb0af51ebccb72ffb14d49cb8121b1afc4259"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Mon Aug 14 13:11:15 2006 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Thu Aug 24 15:50:51 2006 -0400"
      },
      "message": "SUNRPC: Fix dentry refcounting issues with users of rpc_pipefs\n\nrpc_unlink() and rpc_rmdir() will dput the dentry reference for you.\n\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n(cherry picked from a05a57effa71a1f67ccbfc52335c10c8b85f3f6a commit)\n"
    },
    {
      "commit": "5d67476fff2df6ff12f60b540fd0e74cf2a668f9",
      "tree": "d1428c5562ce6b24919da18c44746d363e9864e1",
      "parents": [
        "a634904a7de0d3a0bc606f608007a34e8c05bfee"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Mon Jul 31 14:11:48 2006 -0700"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Thu Aug 24 15:50:07 2006 -0400"
      },
      "message": "SUNRPC: make rpc_unlink() take a dentry argument instead of a path\n\nSigne-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n(cherry picked from 88bf6d811b01a4be7fd507d18bf5f1c527989089 commit)\n"
    },
    {
      "commit": "8b4bdcf8995dd92b23d2ec22b32aee8fbbb50e1c",
      "tree": "8ebe9ec2ed5cb58592097123cf6b34af997316c7",
      "parents": [
        "8b512d9a88875affe584bb3d2a7a235f84343b9e"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Fri Jun 09 09:34:19 2006 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Fri Jun 09 09:34:19 2006 -0400"
      },
      "message": "NFS: Store the file system \"fsid\" value in the NFS super block.\n\nThis should enable us to detect if we are crossing a mountpoint in the\ncase where the server is exporting \"nohide\" mounts.\n\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "c9d5128a10a4974f72674ff3463da4db439e8b04",
      "tree": "304b277f5388e8285f56535db654051d0f4a2fc0",
      "parents": [
        "bd6475454c774bd9dbe6078d94bbf72b1d3b65f4"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Mar 20 13:44:11 2006 -0500"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Mon Mar 20 13:44:11 2006 -0500"
      },
      "message": "NFS: sem2mutex idmap.c\n\nsemaphore to mutex conversion.\n\nthe conversion was generated via scripts, and the result was validated\nautomatically via a script as well.\n\nbuild and boot tested.\n\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "bd6475454c774bd9dbe6078d94bbf72b1d3b65f4",
      "tree": "641c38589e2aa02a22db229be7d77c9c342a81cb",
      "parents": [
        "a162a6b804b48c605d1fd35e1861a5d32d00ad3f"
      ],
      "author": {
        "name": "Eric Sesterhenn",
        "email": "snakebyte@gmx.de",
        "time": "Mon Mar 20 13:44:10 2006 -0500"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Mon Mar 20 13:44:10 2006 -0500"
      },
      "message": "NFS: kzalloc conversion in fs/nfs\n\nthis converts fs/nfs to kzalloc() usage.\ncompile tested with make allyesconfig\n\nSigned-off-by: Eric Sesterhenn \u003csnakebyte@gmx.de\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "12de3b35ea549c5819f287508d7afab0bf3ac44d",
      "tree": "c1b7f96236c4b19bcd911705017bf31bcbc2b605",
      "parents": [
        "24c5d9d7ea5a64fb5f157d17aa2c67a3300f8a08"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Mon Mar 20 13:44:09 2006 -0500"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Mon Mar 20 13:44:09 2006 -0500"
      },
      "message": "SUNRPC: Ensure that rpc_mkpipe returns a refcounted dentry\n\nIf not, we cannot guarantee that idmap-\u003eidmap_dentry, gss_auth-\u003edentry and\nclnt-\u003ecl_dentry are valid dentries.\n\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "58df095b732529ade8f4051b41d7c29731afecd6",
      "tree": "917819b96bac91e5daea7a31eb6eba66268952d9",
      "parents": [
        "0065db328533c390fbfb0fe0c46bcf9a278fb99e"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Tue Jan 03 09:55:57 2006 +0100"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Fri Jan 06 14:58:58 2006 -0500"
      },
      "message": "NFSv4: Allow entries in the idmap cache to expire\n\n If someone changes the uid/gid mapping in userland, then we do eventually\n want those changes to be propagated to the kernel. Currently the kernel\n assumes that it may cache entries forever.\n\n Add an expiration time + garbage collector for idmap entries.\n\n Signed-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "4ce79717ce32a9f88c1ddce4b9658556cb59d37a",
      "tree": "7f0c5e4bdbc2ee15b8e902b951d1be200b35411f",
      "parents": [
        "9085bbcb76421a90bea28f4d3d03fa9977319c49"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Wed Jun 22 17:16:21 2005 +0000"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Wed Jun 22 16:07:06 2005 -0400"
      },
      "message": "[PATCH] NFS: Header file cleanup...\n\n - Move NFSv4 state definitions into a private header file.\n - Clean up gunk in nfs_fs.h\n\n Signed-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "75c96f85845a6707b0f9916cb263cb3584f7d48f",
      "tree": "45a64d1c9bb71d7093db3a11e0f21465c2e3dec6",
      "parents": [
        "5e198d94dd0c3ec7f6138229e2e412c2c6268c38"
      ],
      "author": {
        "name": "Adrian Bunk",
        "email": "bunk@stusta.de",
        "time": "Thu May 05 16:16:09 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@ppc970.osdl.org",
        "time": "Thu May 05 16:36:47 2005 -0700"
      },
      "message": "[PATCH] make some things static\n\nThis patch makes some needlessly global identifiers static.\n\nSigned-off-by: Adrian Bunk \u003cbunk@stusta.de\u003e\nAcked-by: Arjan van de Ven \u003carjanv@infradead.org\u003e\nAcked-by: Trond Myklebust \u003ctrond.myklebust@fys.uio.no\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\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"
    }
  ]
}
