)]}'
{
  "log": [
    {
      "commit": "3c61eecb607dbc2777074b1a95b8a97e31a96a73",
      "tree": "0df466f7f4b9528718b4d944e944905602eb6e74",
      "parents": [
        "a5ae03989254ec25cd3a934ca02c008d67e259f7"
      ],
      "author": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Mon Apr 07 13:05:27 2008 -0400"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Wed Apr 23 16:13:42 2008 -0400"
      },
      "message": "lockd: Fix stale nlmsvc_unlink_block comment\n\nAs of 5996a298da43a03081e9ba2116983d173001c862 (\"NLM: don\u0027t unlock on\ncancel requests\") we no longer unlock in this case, so the comment is no\nlonger accurate.\n\nThanks to Stuart Friedberg for pointing out the inconsistency.\n\nCc: Stuart Friedberg \u003csfriedberg@hp.com\u003e\nSigned-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\n"
    },
    {
      "commit": "1a448fdb3c5495405bc44d77ea676150f9195444",
      "tree": "77f5fea7c06a610e9913cf178e15a774e4f77380",
      "parents": [
        "3329ba05231808c96cf9fd0598b8f46afec9777c"
      ],
      "author": {
        "name": "Chuck Lever",
        "email": "chuck.lever@oracle.com",
        "time": "Thu Mar 27 16:34:54 2008 -0400"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Wed Apr 23 16:13:41 2008 -0400"
      },
      "message": "NFSD: Remove NFSv4 dependency on NFSv3\n\nClean up: Because NFSD_V4 \"depends on\" NFSD_V3, it appears as a child of\nthe NFSD_V3 menu entry, and is not visible if NFSD_V3 is unselected.\n\nReplace the dependency on NFSD_V3 with a \"select NFSD_V3\".  This makes\nNFSD_V4 look and work just like NFS_V3, while ensuring that NFSD_V3 is\nenabled if NFSD_V4 is.\n\nSam Ravnborg adds:\n\n\"This use of select is questionable. In general it is bad to select\na symbol with dependencies.\n\nIn this case the dependencies of NFSD_V3 are duplicated for NFSD_V4\nso we will not se erratic configurations but do you remember to\nupdate NFSD_V4 when you add a depends on NFSD_V3?\n\nBut I see no other clean way to do it right now.\"\n\nLater he said:\n\n\"My comment was more to say we have things to address in kconfig.\nThis is abuse in the acceptable range.\"\n\nSigned-off-by: Chuck Lever \u003cchuck.lever@oracle.com\u003e\nSigned-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\n"
    },
    {
      "commit": "3329ba05231808c96cf9fd0598b8f46afec9777c",
      "tree": "175fdb538ddc1c9dfab90419ad57e8ecc406bcf1",
      "parents": [
        "6ffd4be6336f9c3f1a10822099587544cd0a11d7"
      ],
      "author": {
        "name": "Chuck Lever",
        "email": "chuck.lever@oracle.com",
        "time": "Thu Mar 27 16:34:47 2008 -0400"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Wed Apr 23 16:13:41 2008 -0400"
      },
      "message": "SUNRPC: Remove PROC_FS dependency\n\nRecently, commit 440bcc59 added a reverse dependency to fs/Kconfig to\nensure that PROC_FS was enabled if SUNRPC_GSS was enabled.\n\nApparently this isn\u0027t necessary because the auth_gss components under\nnet/sunrpc will build correctly even if PROC_FS is disabled, though\nRPCSEC_GSS will not work without /proc.\n\nIt also violates the guideline in Documentation/kbuild/kconfig-language.txt\nthat states \"In general use select only for non-visible symbols (no prompts\nanywhere) and for symbols with no dependencies.\"\n\nTo address these issues, remove the dependency.\n\nSigned-off-by: Chuck Lever \u003cchuck.lever@oracle.com\u003e\nSigned-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\n"
    },
    {
      "commit": "6ffd4be6336f9c3f1a10822099587544cd0a11d7",
      "tree": "19023c6f1f7237b5d99fcae95c49d0eabab89b92",
      "parents": [
        "03550fac06c4f0c39a1885d46015c28794413c82"
      ],
      "author": {
        "name": "Chuck Lever",
        "email": "chuck.lever@oracle.com",
        "time": "Thu Mar 27 16:34:40 2008 -0400"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Wed Apr 23 16:13:41 2008 -0400"
      },
      "message": "NFSD: Use \"depends on\" for PROC_FS dependency\n\nRecently, commit 440bcc59 added a reverse dependency to fs/Kconfig to\nensure that PROC_FS was enabled if NFSD_V4 was enabled.\n\nThere is a guideline in Documentation/kbuild/kconfig-language.txt that\nstates \"In general use select only for non-visible symbols (no prompts\nanywhere) and for symbols with no dependencies.\"\n\nA quick grep around other Kconfig files reveals that no entry currently\nuses \"select PROC_FS\" -- every one uses \"depends on\".  Thus CONFIG_NFSD_V4\nshould use \"depends on PROC_FS\" as well.\n\nSigned-off-by: Chuck Lever \u003cchuck.lever@oracle.com\u003e\nSigned-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\n"
    },
    {
      "commit": "03550fac06c4f0c39a1885d46015c28794413c82",
      "tree": "090c03e257149a034263b81a95742ce1fdcaebc6",
      "parents": [
        "c3bb257d2d3a1a4e49372b9d74eaebe0fcf110dd"
      ],
      "author": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Fri Mar 14 17:51:12 2008 -0400"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Wed Apr 23 16:13:41 2008 -0400"
      },
      "message": "nfsd: move most of fh_verify to separate function\n\nMove the code that actually parses the filehandle and looks up the\ndentry and export to a separate function.  This simplifies the reference\ncounting a little and moves fh_verify() a little closer to the kernel\nideal of small, minimally-indentended functions.  Clean up a few other\nminor style sins along the way.\n\nSigned-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\nCc: Neil Brown \u003cneilb@suse.de\u003e\n"
    },
    {
      "commit": "9167f501c6b53492eb2566dd618ce7f55f2856d5",
      "tree": "41a39a802a0c6c848bfc7d9b322dbf83ab63fcdb",
      "parents": [
        "a3fa73bd0eea74c58315114c9fc3e913f6c26d61"
      ],
      "author": {
        "name": "Felix Blyakher",
        "email": "felixb@sgi.com",
        "time": "Tue Feb 26 10:54:36 2008 -0800"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Wed Apr 23 16:13:40 2008 -0400"
      },
      "message": "nfsd: initialize lease type in nfs4_open_delegation()\n\nWhile lease is correctly checked by supplying the type argument to\nvfs_setlease(), it\u0027s stored with fl_type uninitialized. This breaks the\nlogic when checking the type of the lease.  The fix is to initialize\nfl_type.\n\nThe old code still happened to function correctly since F_RDLCK is zero,\nand we only implement read delegations currently (nor write\ndelegations).  But that\u0027s no excuse for not fixing this.\n\nSigned-off-by: Felix Blyakher \u003cfelixb@sgi.com\u003e\nSigned-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\n"
    },
    {
      "commit": "a277e33cbe3fdfb9a77b448ea3043be22f000dfd",
      "tree": "2da3b18f69c7f2d8979a33c666977cd23592e98d",
      "parents": [
        "3ba1514815817f93a4f09615726dd4bcd0ddbbc9"
      ],
      "author": {
        "name": "Jeff Layton",
        "email": "jlayton@redhat.com",
        "time": "Wed Feb 20 08:55:30 2008 -0500"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Wed Apr 23 16:13:40 2008 -0400"
      },
      "message": "NFS: convert nfs4 callback thread to kthread API\n\nThere\u0027s a general push to convert kernel threads to use the (much\ncleaner) kthread API. This patch converts the NFSv4 callback kernel\nthread to the kthread API. In addition to being generally cleaner this\nalso removes the dependency on signals when shutting down the thread.\n\nNote that this patch depends on the recent patches to svc_recv() to\nmake it check kthread_should_stop() periodically. Those patches are\nin Bruce\u0027s tree at the moment and are slated for 2.6.26 along with\nthe lockd conversion, so this conversion is probably also appropriate\nfor 2.6.26.\n\nSigned-off-by: Jeff Layton \u003cjlayton@redhat.com\u003e\nAcked-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\nSigned-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\n"
    },
    {
      "commit": "3ba1514815817f93a4f09615726dd4bcd0ddbbc9",
      "tree": "3822bc0b3447b3f68ae8179059f022e056c87ab4",
      "parents": [
        "a254b246ee238ab90e7b3fae1f76875b608b2213"
      ],
      "author": {
        "name": "Harvey Harrison",
        "email": "harvey.harrison@gmail.com",
        "time": "Wed Feb 20 12:49:02 2008 -0800"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Wed Apr 23 16:13:39 2008 -0400"
      },
      "message": "nfsd: fix sparse warning in vfs.c\n\nfs/nfsd/vfs.c:991:27: warning: Using plain integer as NULL pointer\n\nSigned-off-by: Harvey Harrison \u003charvey.harrison@gmail.com\u003e\nSigned-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\n"
    },
    {
      "commit": "a254b246ee238ab90e7b3fae1f76875b608b2213",
      "tree": "1e4c35e1225b91693694d0384ef6f1e0e8500e4d",
      "parents": [
        "d8421202121ce74daf4625ca9d1d825bbd7ce66a"
      ],
      "author": {
        "name": "Harvey Harrison",
        "email": "harvey.harrison@gmail.com",
        "time": "Wed Feb 20 12:49:00 2008 -0800"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Wed Apr 23 16:13:39 2008 -0400"
      },
      "message": "nfsd: fix sparse warnings\n\nAdd extern to nfsd/nfsd.h\nfs/nfsd/nfssvc.c:146:5: warning: symbol \u0027nfsd_nrthreads\u0027 was not declared. Should it be static?\nfs/nfsd/nfssvc.c:261:5: warning: symbol \u0027nfsd_nrpools\u0027 was not declared. Should it be static?\nfs/nfsd/nfssvc.c:269:5: warning: symbol \u0027nfsd_get_nrthreads\u0027 was not declared. Should it be static?\nfs/nfsd/nfssvc.c:281:5: warning: symbol \u0027nfsd_set_nrthreads\u0027 was not declared. Should it be static?\nfs/nfsd/export.c:1534:23: warning: symbol \u0027nfs_exports_op\u0027 was not declared. Should it be static?\n\nAdd include of auth.h\nfs/nfsd/auth.c:27:5: warning: symbol \u0027nfsd_setuser\u0027 was not declared. Should it be static?\n\nMake static, move forward declaration closer to where it\u0027s needed.\nfs/nfsd/nfs4state.c:1877:1: warning: symbol \u0027laundromat_main\u0027 was not declared. Should it be static?\n\nMake static, forward declaration was already marked static.\nfs/nfsd/nfs4idmap.c:206:1: warning: symbol \u0027idtoname_parse\u0027 was not declared. Should it be static?\nfs/nfsd/vfs.c:1156:1: warning: symbol \u0027nfsd_create_setattr\u0027 was not declared. Should it be static?\n\nSigned-off-by: Harvey Harrison \u003charvey.harrison@gmail.com\u003e\nSigned-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\n"
    },
    {
      "commit": "d8421202121ce74daf4625ca9d1d825bbd7ce66a",
      "tree": "0465a155e03b97660d2f887e702b8f2917889c75",
      "parents": [
        "a95e56e72c196970a8067cd515c658d064813170"
      ],
      "author": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Wed Feb 20 15:40:15 2008 -0500"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Wed Apr 23 16:13:39 2008 -0400"
      },
      "message": "lockd: convert nsm_mutex to a spinlock\n\nThere\u0027s no reason for a mutex here, except to allow an allocation under\nthe lock, which we can avoid with the usual trick of preallocating\nmemory for the new object and freeing it if it turns out to be\nunnecessary.\n\nSigned-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\n"
    },
    {
      "commit": "a95e56e72c196970a8067cd515c658d064813170",
      "tree": "e785c49b5cc7fe877ff5bf78193d11b1cb482540",
      "parents": [
        "164f98adbbd50c67177b096a59f55c1a56a45c82"
      ],
      "author": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Wed Feb 20 15:27:31 2008 -0500"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Wed Apr 23 16:13:39 2008 -0400"
      },
      "message": "lockd: clean up __nsm_find()\n\nUse list_for_each_entry().  Also, in keeping with kernel style, make the\nnormal case (kzalloc succeeds) unindented and handle the abnormal case\nwith a goto.\n\nSigned-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\n"
    },
    {
      "commit": "164f98adbbd50c67177b096a59f55c1a56a45c82",
      "tree": "baa47455b18219eca8ff4a54a84954170597fa06",
      "parents": [
        "dd35210e1e2cb46d6dba5c97f1bc3784c4f97998"
      ],
      "author": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Wed Feb 20 14:02:47 2008 -0500"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Wed Apr 23 16:13:39 2008 -0400"
      },
      "message": "lockd: fix race in nlm_release()\n\nThe sm_count is decremented to zero but left on the nsm_handles list.\nSo in the space between decrementing sm_count and acquiring nsm_mutex,\nit is possible for another task to find this nsm_handle, increment the\nuse count and then enter nsm_release itself.\n\nThus there\u0027s nothing to prevent the nsm being freed before we acquire\nnsm_mutex here.\n\nSigned-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\n"
    },
    {
      "commit": "93245d11fcaccdebccabe86a2b92db524f82d8b4",
      "tree": "62d1de3c789e01387ccbf1bf15764d3114a4a6fe",
      "parents": [
        "f2b0dee2ec8d562ad9ced2b7481be72d356c6cfc"
      ],
      "author": {
        "name": "Harvey Harrison",
        "email": "harvey.harrison@gmail.com",
        "time": "Mon Feb 18 02:01:49 2008 -0800"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Wed Apr 23 16:13:39 2008 -0400"
      },
      "message": "lockd: fix sparse warning in svcshare.c\n\nfs/lockd/svcshare.c:74:50: warning: Using plain integer as NULL pointer\n\nSigned-off-by: Harvey Harrison \u003charvey.harrison@gmail.com\u003e\nCc: Neil Brown \u003cneilb@suse.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\n"
    },
    {
      "commit": "f2b0dee2ec8d562ad9ced2b7481be72d356c6cfc",
      "tree": "0e5c88c5bdc2bc34c63ad8c788cb70b8ced2cabc",
      "parents": [
        "7b54fe61ffd5bfa4e50d371a2415225aa0cbb38e"
      ],
      "author": {
        "name": "Adrian Bunk",
        "email": "bunk@kernel.org",
        "time": "Wed Feb 13 23:30:26 2008 +0200"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Wed Apr 23 16:13:38 2008 -0400"
      },
      "message": "make nfsd_create_setattr() static\n\nThis patch makes the needlessly global nfsd_create_setattr() static.\n\nSigned-off-by: Adrian Bunk \u003cbunk@kernel.org\u003e\nSigned-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\n"
    },
    {
      "commit": "6aaa67b5f3b9fe24f0c76d0415cc72e5a1137bea",
      "tree": "fb8305a818ca7fcc25451c15788dd2c5381a933a",
      "parents": [
        "78dd0992a3462e05138cf4d08df759bf1c7a08c9"
      ],
      "author": {
        "name": "Chuck Lever",
        "email": "chuck.lever@oracle.com",
        "time": "Mon Feb 11 17:12:38 2008 -0500"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Wed Apr 23 16:13:38 2008 -0400"
      },
      "message": "NFSD: Remove redundant \"select\" clauses in fs/Kconfig\n\nAs far as I can tell, selecting the CRYPTO and CRYPTO_MD5 entries under\nCONFIG_NFSD is redundant, since CONFIG_NFSD_V4 already selects\nRPCSEC_GSS_KRB5, which selects these entries.\n\nTesting with \"make menuconfig\" shows that the entries under CRYPTO still\nproperly reflect \"Y\" or \"M\" based on the setting of CONFIG_NFSD after this\nchange is applied.\n\nSigned-off-by: Chuck Lever \u003cchuck.lever@oracle.com\u003e\nSigned-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\n"
    },
    {
      "commit": "78dd0992a3462e05138cf4d08df759bf1c7a08c9",
      "tree": "adec5e8e0c1d7cc732eefda84cb7a33235588dbd",
      "parents": [
        "892069552eedfa0d2fca41680d076a5bc0a3c26e"
      ],
      "author": {
        "name": "Chuck Lever",
        "email": "chuck.lever@oracle.com",
        "time": "Mon Feb 11 17:12:31 2008 -0500"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Wed Apr 23 16:13:38 2008 -0400"
      },
      "message": "NFSD: Move \"select NFSD_V2_ACL if NFSD_V3_ACL\"\n\nClean up: since NFSD_V2_ACL is a boolean, it can be selected safely\nunder the NFSD_V3_ACL entry (also a boolean).\n\nSigned-off-by: Chuck Lever \u003cchuck.lever@oracle.com\u003e\nSigned-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\n"
    },
    {
      "commit": "892069552eedfa0d2fca41680d076a5bc0a3c26e",
      "tree": "ace108ba5f5380f6173a1b0003445f7afb2b2e1c",
      "parents": [
        "d24455b5ffe02a652e8cb1ed2d3570a512c898f8"
      ],
      "author": {
        "name": "Chuck Lever",
        "email": "chuck.lever@oracle.com",
        "time": "Mon Feb 11 17:12:24 2008 -0500"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Wed Apr 23 16:13:38 2008 -0400"
      },
      "message": "NFSD: Move \"select FS_POSIX_ACL if NFSD_V4\"\n\nClean up: since FS_POSIX_ACL is a non-visible boolean entry, it can be\nselected safely under the NFSD_V4 entry (also a boolean).\n\nSigned-off-by: Chuck Lever \u003cchuck.lever@oracle.com\u003e\nSigned-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\n"
    },
    {
      "commit": "d24455b5ffe02a652e8cb1ed2d3570a512c898f8",
      "tree": "7477521e00b509a336d177f3776e28acf8b27da6",
      "parents": [
        "5ea0dd61f221ba2701314a85e998b8202412553d"
      ],
      "author": {
        "name": "Chuck Lever",
        "email": "chuck.lever@oracle.com",
        "time": "Mon Feb 11 17:11:54 2008 -0500"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Wed Apr 23 16:13:38 2008 -0400"
      },
      "message": "NFSD: Update help text for CONFIG_NFSD\n\nClean up: refresh the help text for Kconfig items related to the NFS\nserver.  Remove obsolete URLs, and make the language consistent among\nthe options.\n\nSigned-off-by: Chuck Lever \u003cchuck.lever@oracle.com\u003e\nSigned-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\n"
    },
    {
      "commit": "5ea0dd61f221ba2701314a85e998b8202412553d",
      "tree": "1f1d1f2bea5fd98cc06af8d070242bdfd1ddd87b",
      "parents": [
        "c0ce6ec87c59d7a29438717b1f72f83fb408f416"
      ],
      "author": {
        "name": "Chuck Lever",
        "email": "chuck.lever@oracle.com",
        "time": "Mon Feb 11 17:11:39 2008 -0500"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Wed Apr 23 16:13:38 2008 -0400"
      },
      "message": "NFSD: Remove NFSD_TCP kernel build option\n\nLikewise, distros usually leave CONFIG_NFSD_TCP enabled.\n\nTCP support in the Linux NFS server is stable enough that we can leave it\non always.  CONFIG_NFSD_TCP adds about 10 lines of code, and defaults to\n\"Y\" anyway.\n\nSigned-off-by: Chuck Lever \u003cchuck.lever@oracle.com\u003e\nSigned-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\n"
    },
    {
      "commit": "c0ce6ec87c59d7a29438717b1f72f83fb408f416",
      "tree": "197fe7b8f89250b54b3f08d559d49f331c00d759",
      "parents": [
        "67eb6ff610d50da231a37beb634d6dea4b5025ab"
      ],
      "author": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Mon Feb 11 15:48:47 2008 -0500"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Wed Apr 23 16:13:38 2008 -0400"
      },
      "message": "nfsd: clarify readdir/mountpoint-crossing code\n\nThe code here is difficult to understand; attempt to clarify somewhat by\npulling out one of the more mystifying conditionals into a separate\nfunction.\n\nWhile we\u0027re here, also add lease_time to the list of attributes that we\ndon\u0027t really need to cross a mountpoint to fetch.\n\nSigned-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\nCc: Peter Staubach \u003cstaubach@redhat.com\u003e\n"
    },
    {
      "commit": "6a85fa3adddd3a74bd5b94c4b72668d307b88377",
      "tree": "f7e89f37ccfe1b5db09aa2478f2baecabbaef009",
      "parents": [
        "0836f587258c2a24bfdc8810ad2327e7f354b6c7"
      ],
      "author": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Sat Jan 26 23:36:48 2008 -0500"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Wed Apr 23 16:13:37 2008 -0400"
      },
      "message": "nfsd4: kill unnecessary check in preprocess_stateid_op\n\nThis condition is always true.\n\nSigned-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\n"
    },
    {
      "commit": "0836f587258c2a24bfdc8810ad2327e7f354b6c7",
      "tree": "d2eb463c8d3652b630161b7250fe9d88ffeed7bd",
      "parents": [
        "f3362737be14668f4e8f5c8d082eb131aafc1353"
      ],
      "author": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Sat Jan 26 19:08:12 2008 -0500"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Wed Apr 23 16:13:37 2008 -0400"
      },
      "message": "nfsd4: simplify stateid sequencing checks\n\nPull this common code into a separate function.\n\nSigned-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\n"
    },
    {
      "commit": "f3362737be14668f4e8f5c8d082eb131aafc1353",
      "tree": "70ba9bbfa4102b11c24ee2c01240a187c081c9a9",
      "parents": [
        "065f30ec14b1460c695b371bc44e068832a60d9b"
      ],
      "author": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Sat Jan 26 14:58:45 2008 -0500"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Wed Apr 23 16:13:37 2008 -0400"
      },
      "message": "nfsd4: remove unnecessary CHECK_FH check in preprocess_seqid_op\n\nEvery caller sets this flag, so it\u0027s meaningless.\n\nSigned-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\n"
    },
    {
      "commit": "065f30ec14b1460c695b371bc44e068832a60d9b",
      "tree": "ff85eab4b7072497522c2dd33ca0edb3c201fcf5",
      "parents": [
        "f15364bd4cf8799a7677b6daeed7b67d9139d974"
      ],
      "author": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Sat Jan 19 13:58:23 2008 -0500"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Wed Apr 23 16:13:37 2008 -0400"
      },
      "message": "nfs: remove unnecessary NFS_NEED_* defines\n\nThanks to Robert Day for pointing out that these two defines are unused.\n\nSigned-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\nCc: Trond Myklebust \u003ctrond@netapp.com\u003eTrond Myklebust \u003ctrond@netapp.com\u003e\nCc: Neil Brown \u003cneilb@suse.de\u003e\nCc: \"Robert P. J. Day\" \u003crpjday@crashcourse.ca\u003e\n"
    },
    {
      "commit": "f15364bd4cf8799a7677b6daeed7b67d9139d974",
      "tree": "bef48016533d184ea171d4b64336a5ad65ebc18e",
      "parents": [
        "d751a7cd0695554498f25d3026ca6710dbb3698f"
      ],
      "author": {
        "name": "Aurélien Charbon",
        "email": "aurelien.charbon@ext.bull.net",
        "time": "Fri Jan 18 15:50:56 2008 +0100"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Wed Apr 23 16:13:36 2008 -0400"
      },
      "message": "IPv6 support for NFS server export caches\n\nThis adds IPv6 support to the interfaces that are used to express nfsd\nexports.  All addressed are stored internally as IPv6; backwards\ncompatibility is maintained using mapped addresses.\n\nThanks to Bruce Fields, Brian Haley, Neil Brown and Hideaki Joshifuji\nfor comments\n\nSigned-off-by: Aurelien Charbon \u003caurelien.charbon@bull.net\u003e\nCc: Neil Brown \u003cneilb@suse.de\u003e\nCc: Brian Haley \u003cbrian.haley@hp.com\u003e\nCc:  YOSHIFUJI Hideaki / 吉藤英明 \u003cyoshfuji@linux-ipv6.org\u003e\nSigned-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\n"
    },
    {
      "commit": "d751a7cd0695554498f25d3026ca6710dbb3698f",
      "tree": "31ec617dfb9fb70160bb8d2d9c9fd2e5c1e50c15",
      "parents": [
        "7086721f9c8b59331e164e534f588e075cfd9d3f"
      ],
      "author": {
        "name": "Jeff Layton",
        "email": "jlayton@redhat.com",
        "time": "Thu Feb 07 16:34:55 2008 -0500"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Wed Apr 23 16:13:36 2008 -0400"
      },
      "message": "NLM: Convert lockd to use kthreads\n\nHave lockd_up start lockd using kthread_run. With this change,\nlockd_down now blocks until lockd actually exits, so there\u0027s no longer\nneed for the waitqueue code at the end of lockd_down. This also means\nthat only one lockd can be running at a time which simplifies the code\nwithin lockd\u0027s main loop.\n\nThis also adds a check for kthread_should_stop in the main loop of\nnlmsvc_retry_blocked and after that function returns. There\u0027s no sense\ncontinuing to retry blocks if lockd is coming down anyway.\n\nSigned-off-by: Jeff Layton \u003cjlayton@redhat.com\u003e\nSigned-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\n"
    },
    {
      "commit": "1447d25eb3a7bbe5bf5e4e7489f09be13e1ec73a",
      "tree": "1961687ba998d7f8d6bad9efda19d3eb7f45d1d6",
      "parents": [
        "3dc5063786b273f1aee545844f6bd4e9651ebffe"
      ],
      "author": {
        "name": "NeilBrown",
        "email": "neilb@suse.de",
        "time": "Fri Feb 08 13:03:37 2008 +1100"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Wed Apr 23 16:13:35 2008 -0400"
      },
      "message": "knfsd: Remove NLM_HOST_MAX and associated logic.\n\nLockd caches information about hosts that have recently held locks to\nexpedite the taking of further locks.\n\nIt periodically discards this information for hosts that have not been\nused for a few minutes.\n\nlockd currently has a value NLM_HOST_MAX, and changes the \u0027garbage\ncollection\u0027 behaviour when the number of hosts exceeds this threshold.\n\nHowever its behaviour is strange, and likely not what was intended.\nWhen the number of hosts exceeds the max, it scans *less* often (every\n2 minutes vs every minute) and allows unused host information to\nremain around longer (5 minutes instead of 2).\n\nHaving this limit is of dubious value anyway, and we have not\nsuffered from the code not getting the limit right, so remove the\nlimit altogether.  We go with the larger values (discard 5 minute old\nhosts every 2 minutes) as they are probably safer.\n\nMaybe the periodic garbage collection should be replace to with\n\u0027shrinker\u0027 handler so we just respond to memory pressure....\n\nAcked-by: Jeff Layton \u003cjlayton@redhat.com\u003e\nSigned-off-by: Neil Brown \u003cneilb@suse.de\u003e\nSigned-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\n"
    },
    {
      "commit": "97e7e0f71d6d948c25f11f0a33878d9356d9579e",
      "tree": "2db3bcf3b4f47995308187eec7f3a61d67446dfa",
      "parents": [
        "2d4d4864ac08caff5c204a752bd004eed4f08760"
      ],
      "author": {
        "name": "Miklos Szeredi",
        "email": "mszeredi@suse.cz",
        "time": "Thu Mar 27 13:06:26 2008 +0100"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Wed Apr 23 00:05:09 2008 -0400"
      },
      "message": "[patch 7/7] vfs: mountinfo: show dominating group id\n\nShow peer group ID of nearest dominating group that has intersection\nwith the mount\u0027s namespace.\n\nSigned-off-by: Miklos Szeredi \u003cmszeredi@suse.cz\u003e\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "2d4d4864ac08caff5c204a752bd004eed4f08760",
      "tree": "a8907c33afae589146fdcd06eacd740aff48c6a1",
      "parents": [
        "a1a2c409b666befc58c2db9c7fbddf200f153470"
      ],
      "author": {
        "name": "Ram Pai",
        "email": "linuxram@us.ibm.com",
        "time": "Thu Mar 27 13:06:25 2008 +0100"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Wed Apr 23 00:05:03 2008 -0400"
      },
      "message": "[patch 6/7] vfs: mountinfo: add /proc/\u003cpid\u003e/mountinfo\n\n[mszeredi@suse.cz] rewrite and split big patch into managable chunks\n\n/proc/mounts in its current form lacks important information:\n\n - propagation state\n - root of mount for bind mounts\n - the st_dev value used within the filesystem\n - identifier for each mount and it\u0027s parent\n\nIt also suffers from the following problems:\n\n - not easily extendable\n - ambiguity of mountpoints within a chrooted environment\n - doesn\u0027t distinguish between filesystem dependent and independent options\n - doesn\u0027t distinguish between per mount and per super block options\n\nThis patch introduces /proc/\u003cpid\u003e/mountinfo which attempts to address\nall these deficiencies.\n\nCode shared between /proc/\u003cpid\u003e/mounts and /proc/\u003cpid\u003e/mountinfo is\nextracted into separate functions.\n\nThanks to Al Viro for the help in getting the design right.\n\nSigned-off-by: Ram Pai \u003clinuxram@us.ibm.com\u003e\nSigned-off-by: Miklos Szeredi \u003cmszeredi@suse.cz\u003e\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "a1a2c409b666befc58c2db9c7fbddf200f153470",
      "tree": "3ea8e4c8f1311436939492d70de23dcf185994de",
      "parents": [
        "719f5d7f0b90ac2c8f8ca4232eb322b266fea01e"
      ],
      "author": {
        "name": "Miklos Szeredi",
        "email": "mszeredi@suse.cz",
        "time": "Thu Mar 27 13:06:24 2008 +0100"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Wed Apr 23 00:04:57 2008 -0400"
      },
      "message": "[patch 5/7] vfs: mountinfo: allow using process root\n\nAllow /proc/\u003cpid\u003e/mountinfo to use the root of \u003cpid\u003e to calculate\nmountpoints.\n\n - move definition of \u0027struct proc_mounts\u0027 to \u003clinux/mnt_namespace.h\u003e\n - add the process\u0027s namespace and root to this structure\n - pass a pointer to \u0027struct proc_mounts\u0027 into seq_operations\n\nIn addition the following cleanups are made:\n\n - use a common open function for /proc/\u003cpid\u003e/{mounts,mountstat}\n - surround namespace.c part of these proc files with #ifdef CONFIG_PROC_FS\n - make the seq_operations structures const\n\nSigned-off-by: Miklos Szeredi \u003cmszeredi@suse.cz\u003e\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "719f5d7f0b90ac2c8f8ca4232eb322b266fea01e",
      "tree": "ed3f63e0856b8b319764d475e68b35719ac0ccb9",
      "parents": [
        "73cd49ecdde92fdce131938bdaff4993010d181b"
      ],
      "author": {
        "name": "Miklos Szeredi",
        "email": "mszeredi@suse.cz",
        "time": "Thu Mar 27 13:06:23 2008 +0100"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Wed Apr 23 00:04:51 2008 -0400"
      },
      "message": "[patch 4/7] vfs: mountinfo: add mount peer group ID\n\nAdd a unique ID to each peer group using the IDR infrastructure.  The\nidentifiers are reused after the peer group dissolves.\n\nThe IDR structures are protected by holding namepspace_sem for write\nwhile allocating or deallocating IDs.\n\nIDs are allocated when a previously unshared vfsmount becomes the\nfirst member of a peer group.  When a new member is added to an\nexisting group, the ID is copied from one of the old members.\n\nIDs are freed when the last member of a peer group is unshared.\n\nSetting the MNT_SHARED flag on members of a subtree is done as a\nseparate step, after all the IDs have been allocated.  This way an\nallocation failure can be cleaned up easilty, without affecting the\npropagation state.\n\nBased on design sketch by Al Viro.\n\nSigned-off-by: Miklos Szeredi \u003cmszeredi@suse.cz\u003e\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "73cd49ecdde92fdce131938bdaff4993010d181b",
      "tree": "90c9cd3597a915c1f820a3cd1fde1689e9a7ab1f",
      "parents": [
        "9d1bc60138977d9c79471b344a64f2df13b2ccef"
      ],
      "author": {
        "name": "Miklos Szeredi",
        "email": "mszeredi@suse.cz",
        "time": "Wed Mar 26 22:11:34 2008 +0100"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Wed Apr 23 00:04:45 2008 -0400"
      },
      "message": "[patch 3/7] vfs: mountinfo: add mount ID\n\nAdd a unique ID to each vfsmount using the IDR infrastructure.  The\nidentifiers are reused after the vfsmount is freed.\n\nSigned-off-by: Miklos Szeredi \u003cmszeredi@suse.cz\u003e\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "9d1bc60138977d9c79471b344a64f2df13b2ccef",
      "tree": "84ed2e1920a1a88ae84515bd9d90240faed5805c",
      "parents": [
        "6092d048183b76bfa3f84b32f8158dd8d10bd811"
      ],
      "author": {
        "name": "Miklos Szeredi",
        "email": "mszeredi@suse.cz",
        "time": "Thu Mar 27 13:06:21 2008 +0100"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Wed Apr 23 00:04:38 2008 -0400"
      },
      "message": "[patch 2/7] vfs: mountinfo: add seq_file_root()\n\nAdd a new function:\n\n  seq_file_root()\n\nThis is similar to seq_path(), but calculates the path relative to the\ngiven root, instead of current-\u003efs-\u003eroot.  If the path was unreachable\nfrom root, then modify the root parameter to reflect this.\n\nSigned-off-by: Miklos Szeredi \u003cmszeredi@suse.cz\u003e\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "6092d048183b76bfa3f84b32f8158dd8d10bd811",
      "tree": "2d38af32961eb52b36daca2f29ce69e80f6e7283",
      "parents": [
        "934b25c597c0e98304a7eaec198a87e4633a42bb"
      ],
      "author": {
        "name": "Ram Pai",
        "email": "linuxram@us.ibm.com",
        "time": "Thu Mar 27 13:06:20 2008 +0100"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Wed Apr 23 00:04:32 2008 -0400"
      },
      "message": "[patch 1/7] vfs: mountinfo: add dentry_path()\n\n[mszeredi@suse.cz] split big patch into managable chunks\n\nAdd the following functions:\n\n  dentry_path()\n  seq_dentry()\n\nThese are similar to d_path() and seq_path().  But instead of\ncalculating the path within a mount namespace, they calculate the path\nfrom the root of the filesystem to a given dentry, ignoring mounts\ncompletely.\n\nSigned-off-by: Ram Pai \u003clinuxram@us.ibm.com\u003e\nSigned-off-by: Miklos Szeredi \u003cmszeredi@suse.cz\u003e\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "934b25c597c0e98304a7eaec198a87e4633a42bb",
      "tree": "8a7cac4f818e8fb4e835be3afeabf52fb4eaa94e",
      "parents": [
        "94bc891b00e40cbec375feb4568780af183fd7f4"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Wed Apr 23 00:04:04 2008 -0400"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Wed Apr 23 00:04:04 2008 -0400"
      },
      "message": "[PATCH] remove unused label in xattr.c (noise from ro-bind)\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "94bc891b00e40cbec375feb4568780af183fd7f4",
      "tree": "fd48d354c61d2e736aa593c324a6d794afd8a4e7",
      "parents": [
        "934b7024f0ed29003c95cef447d92737ab86dc4f",
        "1ec7f1ddbe5ba49f7b10c3b129d6d5c90c43526c"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Apr 22 18:27:56 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Apr 22 18:28:34 2008 -0700"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs-2.6\n\n* \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs-2.6:\n  [PATCH] get rid of __exit_files(), __exit_fs() and __put_fs_struct()\n  [PATCH] proc_readfd_common() race fix\n  [PATCH] double-free of inode on alloc_file() failure exit in create_write_pipe()\n  [PATCH] teach seq_file to discard entries\n  [PATCH] umount_tree() will unhash everything itself\n  [PATCH] get rid of more nameidata passing in namespace.c\n  [PATCH] switch a bunch of LSM hooks from nameidata to path\n  [PATCH] lock exclusively in collect_mounts() and drop_collected_mounts()\n  [PATCH] move a bunch of declarations to fs/internal.h\n"
    },
    {
      "commit": "9b4f526cdc0f95f635607dfba6ac788b3deca188",
      "tree": "f9f324dbd88856fdaeff1d0146059806bacba26f",
      "parents": [
        "ed1524371716466e9c762808b02601d0d0276a92"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Tue Apr 22 01:32:44 2008 -0400"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Tue Apr 22 19:55:03 2008 -0400"
      },
      "message": "[PATCH] proc_readfd_common() race fix\n\nSince we drop the rcu_read_lock inside the loop, we can\u0027t assume\nthat files-\u003efdt will remain unchanged (and not freed) between\niterations.\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "ed1524371716466e9c762808b02601d0d0276a92",
      "tree": "73a9f836f54164f70649a318fe775638c79417b8",
      "parents": [
        "521b5d0c40386f4a9805cdec7bd979fc96a86aeb"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Tue Apr 22 19:51:27 2008 -0400"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Tue Apr 22 19:54:57 2008 -0400"
      },
      "message": "[PATCH] double-free of inode on alloc_file() failure exit in create_write_pipe()\n\nDuh...  Fortunately, the bug is quite recent (post-2.6.25) and, embarrassingly,\nmine ;-/\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "16abef0e9e79643827fd5a2a14a07bced851ae72",
      "tree": "ff2648a70755154ee93ad2ad5b11014329158e66",
      "parents": [
        "e199ceee15c8f8652cc3bb97651bdf246ba23c5f"
      ],
      "author": {
        "name": "David Sterba",
        "email": "dsterba@suse.cz",
        "time": "Tue Apr 22 15:09:22 2008 +0200"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Apr 22 15:17:11 2008 -0700"
      },
      "message": "fs: use loff_t type instead of long long\n\nUse offset type consistently.\n\nSigned-off-by: David Sterba \u003cdsterba@suse.cz\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "03b883840c630c7b571690577809754739ac773f",
      "tree": "aeec0581accf5e19360205e21dd25a220b4a0e54",
      "parents": [
        "0d07a15bdb5a4ea6271b6e874d307c48151ef546",
        "c1c76743e98346eb052b707f0e054377a09441d1"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Apr 22 13:44:23 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Apr 22 13:44:23 2008 -0700"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/teigland/dlm\n\n* \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/teigland/dlm:\n  dlm: linux/{dlm,dlm_device}.h: cleanup for userspace\n  dlm: common max length definitions\n  dlm: move plock code from gfs2\n  dlm: recover nodes that are removed and re-added\n  dlm: save master info after failed no-queue request\n  dlm: make dlm_print_rsb() static\n  dlm: match signedness between dlm_config_info and cluster_set\n"
    },
    {
      "commit": "62429f434091586d54b37b8dd46076e7c08b27b9",
      "tree": "d8fd38000961eb30e37b90026efebb5ae946c1ad",
      "parents": [
        "26defe34e48e18b058b773f60467729c64917490",
        "f845fced913b1437659bb5baf187698547697afe"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Apr 22 13:40:47 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Apr 22 13:40:47 2008 -0700"
      },
      "message": "Merge branch \u0027for_linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/jack/linux-udf-2.6\n\n* \u0027for_linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/jack/linux-udf-2.6: (41 commits)\n  udf: use crc_itu_t from lib instead of udf_crc\n  udf: Fix compilation warnings when UDF debug is on\n  udf: Fix bug in VAT mapping code\n  udf: Add read-only support for 2.50 UDF media\n  udf: Fix handling of multisession media\n  udf: Mount filesystem read-only if it has pseudooverwrite partition\n  udf: Handle VAT packed inside inode properly\n  udf: Allow loading of VAT inode\n  udf: Fix detection of VAT version\n  udf: Silence warning about accesses beyond end of device\n  udf: Improve anchor block detection\n  udf: Cleanup anchor block detection.\n  udf: Move processing of virtual partitions\n  udf: Move filling of partition descriptor info into a separate function\n  udf: Improve error recovery on mount\n  udf: Cleanup volume descriptor sequence processing\n  udf: fix anchor point detection\n  udf: Remove declarations of arrays of size UDF_NAME_LEN (256 bytes)\n  udf: Remove checking of existence of filename in udf_add_entry()\n  udf: Mark udf_process_sequence() as noinline\n  ...\n"
    },
    {
      "commit": "521b5d0c40386f4a9805cdec7bd979fc96a86aeb",
      "tree": "2193c12ee3dc0551790c79370603acb57e0f59e7",
      "parents": [
        "4e1b36fb485dd81b0818ef1bc8fb5c0f2923a283"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Fri Mar 28 00:46:41 2008 -0400"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Mon Apr 21 23:14:02 2008 -0400"
      },
      "message": "[PATCH] teach seq_file to discard entries\n\nAllow -\u003eshow() return SEQ_SKIP; that will discard all\noutput from that element and move on.\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "4e1b36fb485dd81b0818ef1bc8fb5c0f2923a283",
      "tree": "d3908b7f8e7220002cb1530b20a22e5893814a6b",
      "parents": [
        "8c3ee42e80ccead805806b3cb50b9855ceb957a2"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Mon Mar 24 00:16:03 2008 -0400"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Mon Apr 21 23:13:54 2008 -0400"
      },
      "message": "[PATCH] umount_tree() will unhash everything itself\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "8c3ee42e80ccead805806b3cb50b9855ceb957a2",
      "tree": "2ab48755381fa7f7170145c1f40aa15e2e409c35",
      "parents": [
        "b5266eb4c8d1a2887a19aaec8144ee4ad1b054c3"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Sat Mar 22 18:00:39 2008 -0400"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Mon Apr 21 23:13:47 2008 -0400"
      },
      "message": "[PATCH] get rid of more nameidata passing in namespace.c\n\nFurther reduction of stack footprint (sys_pivot_root());\nlose useless BKL in there, while we are at it.\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "b5266eb4c8d1a2887a19aaec8144ee4ad1b054c3",
      "tree": "37105d0640169ad758d20847cf3effe77381f50f",
      "parents": [
        "1a60a280778ff90270fc7390d9ec102f713a5a29"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Sat Mar 22 17:48:24 2008 -0400"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Mon Apr 21 23:13:23 2008 -0400"
      },
      "message": "[PATCH] switch a bunch of LSM hooks from nameidata to path\n\nNamely, ones from namespace.c\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "1a60a280778ff90270fc7390d9ec102f713a5a29",
      "tree": "988cb5b1446ecc298aee4771b0768d777165226c",
      "parents": [
        "6d59e7f582ef1c1988542d0fc3b36d0087b757ce"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Sat Mar 22 16:19:49 2008 -0400"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Mon Apr 21 23:11:09 2008 -0400"
      },
      "message": "[PATCH] lock exclusively in collect_mounts() and drop_collected_mounts()\n\nTaking namespace_sem shared there isn\u0027t worth the trouble, especially with\nvfsmount ID allocation about to be added.  That way we know that umount_tree(),\ncopy_tree() and clone_mnt() are _always_ serialized by namespace_sem.\numount_tree() still needs vfsmount_lock (it manipulates hash chains, among\nother things), but that\u0027s a separate story.\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "6d59e7f582ef1c1988542d0fc3b36d0087b757ce",
      "tree": "2e6e2e7d42af8f89f7b87aeaf5261d4cfbd9b625",
      "parents": [
        "807501475fce0ebe68baedf87f202c3e4ee0d12c"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Sat Mar 22 15:48:17 2008 -0400"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Mon Apr 21 23:11:01 2008 -0400"
      },
      "message": "[PATCH] move a bunch of declarations to fs/internal.h\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "8a3227268877b81096d7b7a841aaf51099ad2068",
      "tree": "73d2b9522aa981d46040b5603c824583c1b18694",
      "parents": [
        "e9b62693ae0a1e13ccc97a6792d9a7770c8d1b5b",
        "ec98c6b9b47df6df1c1fa6cf3d427414f8c2cf16"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Apr 21 17:20:53 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Apr 21 17:20:53 2008 -0700"
      },
      "message": "Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/sparc-2.6\n\n* git://git.kernel.org/pub/scm/linux/kernel/git/davem/sparc-2.6:\n  [SPARC]: Remove SunOS and Solaris binary support.\n"
    },
    {
      "commit": "e9b62693ae0a1e13ccc97a6792d9a7770c8d1b5b",
      "tree": "c676609730533fc1b7c5e01992e46b6eaf75f99b",
      "parents": [
        "548453fd107f789f5f1bc2dc13cc432ceb3b5efd",
        "838cb6aba4cebcf4fcd06b90e2adf890bef884ac"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Apr 21 16:36:46 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Apr 21 16:36:46 2008 -0700"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/juhl/trivial\n\n* \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/juhl/trivial: (24 commits)\n  DOC:  A couple corrections and clarifications in USB doc.\n  Generate a slightly more informative error msg for bad HZ\n  fix typo \"is\" -\u003e \"if\" in Makefile\n  ext*: spelling fix prefered -\u003e preferred\n  DOCUMENTATION:  Use newer DEFINE_SPINLOCK macro in docs.\n  KEYS:  Fix the comment to match the file name in rxrpc-type.h.\n  RAID: remove trailing space from printk line\n  DMA engine: typo fixes\n  Remove unused MAX_NODES_SHIFT\n  MAINTAINERS: Clarify access to OCFS2 development mailing list.\n  V4L: Storage class should be before const qualifier (sn9c102)\n  V4L: Storage class should be before const qualifier\n  sonypi: Storage class should be before const qualifier\n  intel_menlow: Storage class should be before const qualifier\n  DVB: Storage class should be before const qualifier\n  arm: Storage class should be before const qualifier\n  ALSA: Storage class should be before const qualifier\n  acpi: Storage class should be before const qualifier\n  firmware_sample_driver.c: fix coding style\n  MAINTAINERS: Add ati_remote2 driver\n  ...\n\nFixed up trivial conflicts in firmware_sample_driver.c\n"
    },
    {
      "commit": "548453fd107f789f5f1bc2dc13cc432ceb3b5efd",
      "tree": "dc5a62d49260d66b7390ef110113134e3bef9152",
      "parents": [
        "9fd91217b15751997cab35ad309b37b44eaa6774",
        "fb199746303a6bfd6121834ec9e810471185c530"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Apr 21 16:03:40 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Apr 21 16:03:40 2008 -0700"
      },
      "message": "Merge branch \u0027for-2.6.26\u0027 of git://git.kernel.dk/linux-2.6-block\n\n* \u0027for-2.6.26\u0027 of git://git.kernel.dk/linux-2.6-block:\n  block: fix blk_register_queue() return value\n  block: fix memory hotplug and bouncing in block layer\n  block: replace remaining __FUNCTION__ occurrences\n  Kconfig: clean up block/Kconfig help descriptions\n  cciss: fix warning oops on rmmod of driver\n  cciss: Fix race between disk-adding code and interrupt handler\n  block: move the padding adjustment to blk_rq_map_sg\n  block: add bio_copy_user_iov support to blk_rq_map_user_iov\n  block: convert bio_copy_user to bio_copy_user_iov\n  loop: manage partitions in disk image\n  cdrom: use kmalloced buffers instead of buffers on stack\n  cdrom: make unregister_cdrom() return void\n  cdrom: use list_head for cdrom_device_info list\n  cdrom: protect cdrom_device_info list by mutex\n  cdrom: cleanup hardcoded error-code\n  cdrom: remove ifdef CONFIG_SYSCTL\n"
    },
    {
      "commit": "e80ab411e589e00550e2e6e5a6a02d59cc730357",
      "tree": "870225ff7b5b8d03e82a996963213a4bb9cce248",
      "parents": [
        "529a41e36673b518c9e091f3a8d932b6b9e3c461",
        "ee959b00c335d7780136c5abda37809191fe52c3"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Apr 21 15:49:58 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Apr 21 15:49:58 2008 -0700"
      },
      "message": "Merge git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/driver-2.6\n\n* git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/driver-2.6: (36 commits)\n  SCSI: convert struct class_device to struct device\n  DRM: remove unused dev_class\n  IB: rename \"dev\" to \"srp_dev\" in srp_host structure\n  IB: convert struct class_device to struct device\n  memstick: convert struct class_device to struct device\n  driver core: replace remaining __FUNCTION__ occurrences\n  sysfs: refill attribute buffer when reading from offset 0\n  PM: Remove destroy_suspended_device()\n  Firmware: add iSCSI iBFT Support\n  PM: Remove legacy PM (fix)\n  Kobject: Replace list_for_each() with list_for_each_entry().\n  SYSFS: Explicitly include required header file slab.h.\n  Driver core: make device_is_registered() work for class devices\n  PM: Convert wakeup flag accessors to inline functions\n  PM: Make wakeup flags available whenever CONFIG_PM is set\n  PM: Fix misuse of wakeup flag accessors in serial core\n  Driver core: Call device_pm_add() after bus_add_device() in device_add()\n  PM: Handle device registrations during suspend/resume\n  block: send disk \"change\" event for rescan_partitions()\n  sysdev: detect multiple driver registrations\n  ...\n\nFixed trivial conflict in include/linux/memory.h due to semaphore header\nfile change (made irrelevant by the change to mutex).\n"
    },
    {
      "commit": "1cc8dcf569a3fcefb7ae32652225f2bd3e85257e",
      "tree": "23e065de096ab6cf044458967bea5baa6a98cff0",
      "parents": [
        "c0d1f29534f2bd6c5992831eb0f648522e9b0204"
      ],
      "author": {
        "name": "Benoit Boissinot",
        "email": "benoit.boissinot@ens-lyon.org",
        "time": "Mon Apr 21 22:45:55 2008 +0000"
      },
      "committer": {
        "name": "Jesper Juhl",
        "email": "juhl@hera.kernel.org",
        "time": "Mon Apr 21 22:45:55 2008 +0000"
      },
      "message": "ext*: spelling fix prefered -\u003e preferred\n\nSpelling fix: prefered -\u003e preferred\n\nSigned-off-by: Benoit Boissinot \u003cbenoit.boissinot@ens-lyon.org\u003e\nSigned-off-by: Jesper Juhl \u003cjesper.juhl@gmail.com\u003e\n"
    },
    {
      "commit": "429f731dea577bdd43693940cdca524135287e6a",
      "tree": "932337b7d23dd736612c6b6e6601c50bc24cfc5f",
      "parents": [
        "85b375a613085b78531ec86369a51c2f3b922f95",
        "d2f5e80862d33a7746a40569840248a592dbc395"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Apr 21 15:41:27 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Apr 21 15:41:27 2008 -0700"
      },
      "message": "Merge branch \u0027semaphore\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/willy/misc\n\n* \u0027semaphore\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/willy/misc:\n  Deprecate the asm/semaphore.h files in feature-removal-schedule.\n  Convert asm/semaphore.h users to linux/semaphore.h\n  security: Remove unnecessary inclusions of asm/semaphore.h\n  lib: Remove unnecessary inclusions of asm/semaphore.h\n  kernel: Remove unnecessary inclusions of asm/semaphore.h\n  include: Remove unnecessary inclusions of asm/semaphore.h\n  fs: Remove unnecessary inclusions of asm/semaphore.h\n  drivers: Remove unnecessary inclusions of asm/semaphore.h\n  net: Remove unnecessary inclusions of asm/semaphore.h\n  arch: Remove unnecessary inclusions of asm/semaphore.h\n"
    },
    {
      "commit": "f5264481c8049673e2cc8c7aca410931f571ba2d",
      "tree": "cfe54747b75be1c83d2102d9e7f80c650602fcdc",
      "parents": [
        "1fb7c6e4cba35b5e7cef88b58d0a2ad164d801a5"
      ],
      "author": {
        "name": "Pavel Machek",
        "email": "pavel@suse.cz",
        "time": "Mon Apr 21 22:15:06 2008 +0000"
      },
      "committer": {
        "name": "Jesper Juhl",
        "email": "juhl@hera.kernel.org",
        "time": "Mon Apr 21 22:15:06 2008 +0000"
      },
      "message": "trivial: small cleanups\n\nThese are small cleanups all over the tree.\n\nTrivial style and comment changes to\n  fs/select.c, kernel/signal.c, kernel/stop_machine.c \u0026 mm/pdflush.c\n\nSigned-off-by: Pavel Machek \u003cpavel@suse.cz\u003e\nSigned-off-by: Jesper Juhl \u003cjesper.juhl@gmail.com\u003e\n"
    },
    {
      "commit": "ec98c6b9b47df6df1c1fa6cf3d427414f8c2cf16",
      "tree": "b144d907e47f8ade53296bd19850af708692386f",
      "parents": [
        "3925e6fc1f774048404fdd910b0345b06c699eb4"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sun Apr 20 02:14:23 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Apr 21 15:10:15 2008 -0700"
      },
      "message": "[SPARC]: Remove SunOS and Solaris binary support.\n\nAs per Documentation/feature-removal-schedule.txt\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "3d564fa3472d36cd6aa70514c37b8bbbec5b17ab",
      "tree": "1033829746e0440e3b603381b9ed640a0af1ec2a",
      "parents": [
        "2402211a8389282fd2942fad4511f02c0eeeffc5"
      ],
      "author": {
        "name": "David Teigland",
        "email": "teigland@redhat.com",
        "time": "Mon Apr 14 14:06:29 2008 -0500"
      },
      "committer": {
        "name": "David Teigland",
        "email": "teigland@redhat.com",
        "time": "Mon Apr 21 11:22:29 2008 -0500"
      },
      "message": "dlm: common max length definitions\n\nAdd central definitions for max lockspace name length and max resource\nname length.  The lack of central definitions has resulted in scattered\nprivate definitions which we can now clean up, including an unused one\nin dlm_device.h.\n\nSigned-off-by: David Teigland \u003cteigland@redhat.com\u003e\n"
    },
    {
      "commit": "2402211a8389282fd2942fad4511f02c0eeeffc5",
      "tree": "853e5818a29816e642689d7e793a845d2519711b",
      "parents": [
        "d44e0fc704143624b3e88fbf8fbcfda7a83fd299"
      ],
      "author": {
        "name": "David Teigland",
        "email": "teigland@redhat.com",
        "time": "Fri Mar 14 15:09:15 2008 -0500"
      },
      "committer": {
        "name": "David Teigland",
        "email": "teigland@redhat.com",
        "time": "Mon Apr 21 11:22:28 2008 -0500"
      },
      "message": "dlm: move plock code from gfs2\n\nMove the code that handles cluster posix locks from gfs2 into the dlm\nso that it can be used by both gfs2 and ocfs2.\n\nSigned-off-by: David Teigland \u003cteigland@redhat.com\u003e\n"
    },
    {
      "commit": "d44e0fc704143624b3e88fbf8fbcfda7a83fd299",
      "tree": "af6c5a5c6ae179051caf725e46f11ff8e2f0f7c8",
      "parents": [
        "761b9d3ffc953c24ceb55d8e12ff7e02b17e0484"
      ],
      "author": {
        "name": "David Teigland",
        "email": "teigland@redhat.com",
        "time": "Tue Mar 18 14:22:11 2008 -0500"
      },
      "committer": {
        "name": "David Teigland",
        "email": "teigland@redhat.com",
        "time": "Mon Apr 21 11:18:01 2008 -0500"
      },
      "message": "dlm: recover nodes that are removed and re-added\n\nIf a node is removed from a lockspace, and then added back before the\ndlm is notified of the removal, the dlm will not detect the removal\nand won\u0027t clear the old state from the node.  This is fixed by using a\nlist of added nodes so the membership recovery can detect when a newly\nadded node is already in the member list.\n\nSigned-off-by: David Teigland \u003cteigland@redhat.com\u003e\n"
    },
    {
      "commit": "761b9d3ffc953c24ceb55d8e12ff7e02b17e0484",
      "tree": "07dcab128761847c008b589bf367715f2fcd60b0",
      "parents": [
        "170e19ab2900b7c959d7a0e627fd12f383efcfa1"
      ],
      "author": {
        "name": "David Teigland",
        "email": "teigland@redhat.com",
        "time": "Thu Feb 21 11:25:42 2008 -0600"
      },
      "committer": {
        "name": "David Teigland",
        "email": "teigland@redhat.com",
        "time": "Mon Apr 21 11:18:01 2008 -0500"
      },
      "message": "dlm: save master info after failed no-queue request\n\nWhen a NOQUEUE request fails, the rsb res_master field is unnecessarily\nreset to -1, instead of leaving the valid master setting in place.  We\nwant to save the looked-up master values while the rsb is on the \"toss\nlist\" so that another lookup can be avoided if the rsb is soon reused.\nThe fix is to simply leave res_master value alone.\n\nSigned-off-by: David Teigland \u003cteigland@redhat.com\u003e\n"
    },
    {
      "commit": "170e19ab2900b7c959d7a0e627fd12f383efcfa1",
      "tree": "d34d48eb0fc5c1bb7bd99e4613ce4cc6092010a8",
      "parents": [
        "5416b704aef0b7350073421f4f6ac1a21bc213e7"
      ],
      "author": {
        "name": "Adrian Bunk",
        "email": "bunk@kernel.org",
        "time": "Wed Feb 13 23:29:38 2008 +0200"
      },
      "committer": {
        "name": "David Teigland",
        "email": "teigland@redhat.com",
        "time": "Mon Apr 21 11:18:01 2008 -0500"
      },
      "message": "dlm: make dlm_print_rsb() static\n\ndlm_print_rsb() can now become static.\n\nSigned-off-by: Adrian Bunk \u003cbunk@kernel.org\u003e\nSigned-off-by: David Teigland \u003cteigland@redhat.com\u003e\n"
    },
    {
      "commit": "5416b704aef0b7350073421f4f6ac1a21bc213e7",
      "tree": "8868300550da5c2746d6595a073ee9c8da6d58d3",
      "parents": [
        "3925e6fc1f774048404fdd910b0345b06c699eb4"
      ],
      "author": {
        "name": "Harvey Harrison",
        "email": "harvey.harrison@gmail.com",
        "time": "Wed Feb 13 16:54:29 2008 -0800"
      },
      "committer": {
        "name": "David Teigland",
        "email": "teigland@redhat.com",
        "time": "Mon Apr 21 11:18:01 2008 -0500"
      },
      "message": "dlm: match signedness between dlm_config_info and cluster_set\n\ncluster_set is only called from the macro CLUSTER_ATTR which defines read/write\naccess functions.  Make the signedness match to avoid sparse warnings every time\nCLUSTER_ATTR is used (lines 149-159) all of the form:\n\nfs/dlm/config.c:149:1: warning: incorrect type in argument 3 (different signedness)\nfs/dlm/config.c:149:1:    expected unsigned int *info_field\nfs/dlm/config.c:149:1:    got int extern [toplevel] *\u003cnoident\u003e\n\nSigned-off-by: Harvey Harrison \u003charvey.harrison@gmail.com\u003e\nSigned-off-by: David Teigland \u003cteigland@redhat.com\u003e\n"
    },
    {
      "commit": "c5dec1c3034f1ae3503efbf641ff3b0273b64797",
      "tree": "d8c2d81ff2d944a0ba43e6ef7284482898af8b3b",
      "parents": [
        "476a4813cfddf7cf159956cc0e2d3c830c1507e3"
      ],
      "author": {
        "name": "FUJITA Tomonori",
        "email": "fujita.tomonori@lab.ntt.co.jp",
        "time": "Fri Apr 11 12:56:49 2008 +0200"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Mon Apr 21 09:50:08 2008 +0200"
      },
      "message": "block: convert bio_copy_user to bio_copy_user_iov\n\nThis patch enables bio_copy_user to take struct sg_iovec (renamed\nbio_copy_user_iov). bio_copy_user uses bio_copy_user_iov internally as\nbio_map_user uses bio_map_user_iov.\n\nThe major changes are:\n\n- adds sg_iovec array to struct bio_map_data\n\n- adds __bio_copy_iov that copy data between bio and\nsg_iovec. bio_copy_user_iov and bio_uncopy_user use it.\n\nSigned-off-by: FUJITA Tomonori \u003cfujita.tomonori@lab.ntt.co.jp\u003e\nCc: Tejun Heo \u003chtejun@gmail.com\u003e\nCc: Mike Christie \u003cmichaelc@cs.wisc.edu\u003e\nCc: James Bottomley \u003cJames.Bottomley@HansenPartnership.com\u003e\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\n"
    },
    {
      "commit": "2424b5dd062cbe3e0578ae7b11a1b360ad22f451",
      "tree": "75b6d67412969074237a371947280b419c5d43db",
      "parents": [
        "b844eba292b477cda14582bfc6f535deed57a82d"
      ],
      "author": {
        "name": "Dan Williams",
        "email": "dan.j.williams@intel.com",
        "time": "Mon Apr 07 15:35:01 2008 -0700"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Sat Apr 19 19:10:29 2008 -0700"
      },
      "message": "sysfs: refill attribute buffer when reading from offset 0\n\nRequiring userspace to close and re-open sysfs attributes has been the\npolicy since before 2.6.12.  It allows userspace to get a consistent\nsnapshot of kernel state and consume it with incremental reads and seeks.\n\nNow, if the file position is zero the kernel assumes userspace wants to see\nthe new value.  The application for this change is to allow a userspace\nRAID metadata handler to check the state of an array without causing any\nmemory allocations.  Thus not causing writeback to a raid array that might\nbe blocked waiting for userspace to take action.\n\nCc: Neil Brown \u003cneilb@suse.de\u003e\nAcked-by: Tejun Heo \u003chtejun@gmail.com\u003e\nSigned-off-by: Dan Williams \u003cdan.j.williams@intel.com\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n\n"
    },
    {
      "commit": "c6f87733823d69a8f12e391688ceeb1ff4922530",
      "tree": "2061036d1d015167a4de9e2c3a14810e6409f18f",
      "parents": [
        "3f62e5700b2a679ae987b32a68126dd6dcf2488f"
      ],
      "author": {
        "name": "Robert P. J. Day",
        "email": "rpjday@crashcourse.ca",
        "time": "Thu Mar 13 22:41:52 2008 -0400"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Sat Apr 19 19:10:27 2008 -0700"
      },
      "message": "SYSFS: Explicitly include required header file slab.h.\n\nAfter an experimental deletion of the unnecessary inclusion of\n\u003clinux/slab.h\u003e from the header file \u003clinux/percpu.h\u003e, the following\nfiles under fs/sysfs were exposed as needing to explicitly include\n\u003clinux/slab.h\u003e.\n\nSigned-off-by: Robert P. J. Day \u003crpjday@crashcourse.ca\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "6bcf19d02a5d7e627fa054f2f10e0a8d830df326",
      "tree": "5534e02f0141b87ac492ba8d6342469f76f3d907",
      "parents": [
        "da009f39f85a3ee9deeb10f0f05ddd4efdd67020"
      ],
      "author": {
        "name": "Kay Sievers",
        "email": "kay.sievers@vrfy.org",
        "time": "Sun Mar 09 21:26:02 2008 +0100"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Sat Apr 19 19:10:24 2008 -0700"
      },
      "message": "block: send disk \"change\" event for rescan_partitions()\n\nUserspace likes to get notified that the disk may have changed, when\nrescan_partitions() is called after partitioning or media change. It will\nmake it possible to update the state of the disk with the \"change\" event,\nbefore the following partition \"add\" events are handled.\n\nCc: David Zeuthen \u003cdavid@fubar.dk\u003e\nSigned-off-by: Kay Sievers \u003ckay.sievers@vrfy.org\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "ad775f5a8faa5845377f093ca11caf577404add9",
      "tree": "f124ff1038672b8d2ef004d75c844f740d8fe52b",
      "parents": [
        "2e4b7fcd926006531935a4c79a5e9349fe51125b"
      ],
      "author": {
        "name": "Dave Hansen",
        "email": "haveblue@us.ibm.com",
        "time": "Fri Feb 15 14:38:01 2008 -0800"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Sat Apr 19 00:29:28 2008 -0400"
      },
      "message": "[PATCH] r/o bind mounts: debugging for missed calls\n\nThere have been a few oopses caused by \u0027struct file\u0027s with NULL f_vfsmnts.\nThere was also a set of potentially missed mnt_want_write()s from\ndentry_open() calls.\n\nThis patch provides a very simple debugging framework to catch these kinds of\nbugs.  It will WARN_ON() them, but should stop us from having any oopses or\nmnt_writer count imbalances.\n\nI\u0027m quite convinced that this is a good thing because it found bugs in the\nstuff I was working on as soon as I wrote it.\n\n[hch: made it conditional on a debug option.\n      But it\u0027s still a little bit too ugly]\n\n[hch: merged forced remount r/o fix from Dave and akpm\u0027s fix for the fix]\n\nSigned-off-by: Dave Hansen \u003chaveblue@us.ibm.com\u003e\nAcked-by: Al Viro \u003cviro@ZenIV.linux.org.uk\u003e\nSigned-off-by: Christoph Hellwig \u003chch@lst.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "2e4b7fcd926006531935a4c79a5e9349fe51125b",
      "tree": "84ba12469c4da54585e9591569e9c35fe39b635e",
      "parents": [
        "3d733633a633065729c9e4e254b2e5442c00ef7e"
      ],
      "author": {
        "name": "Dave Hansen",
        "email": "haveblue@us.ibm.com",
        "time": "Fri Feb 15 14:38:00 2008 -0800"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Sat Apr 19 00:29:27 2008 -0400"
      },
      "message": "[PATCH] r/o bind mounts: honor mount writer counts at remount\n\nOriginally from: Herbert Poetzl \u003cherbert@13thfloor.at\u003e\n\nThis is the core of the read-only bind mount patch set.\n\nNote that this does _not_ add a \"ro\" option directly to the bind mount\noperation.  If you require such a mount, you must first do the bind, then\nfollow it up with a \u0027mount -o remount,ro\u0027 operation:\n\nIf you wish to have a r/o bind mount of /foo on bar:\n\n\tmount --bind /foo /bar\n\tmount -o remount,ro /bar\n\nAcked-by: Al Viro \u003cviro@ZenIV.linux.org.uk\u003e\nSigned-off-by: Christoph Hellwig \u003chch@infradead.org\u003e\nSigned-off-by: Dave Hansen \u003chaveblue@us.ibm.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "3d733633a633065729c9e4e254b2e5442c00ef7e",
      "tree": "8b52ba468f275f86221ddb77c29306a2405844fc",
      "parents": [
        "2c463e95480829a2fe8f386589516e13b1289db6"
      ],
      "author": {
        "name": "Dave Hansen",
        "email": "haveblue@us.ibm.com",
        "time": "Fri Feb 15 14:37:59 2008 -0800"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Sat Apr 19 00:29:27 2008 -0400"
      },
      "message": "[PATCH] r/o bind mounts: track numbers of writers to mounts\n\nThis is the real meat of the entire series.  It actually\nimplements the tracking of the number of writers to a mount.\nHowever, it causes scalability problems because there can be\nhundreds of cpus doing open()/close() on files on the same mnt at\nthe same time.  Even an atomic_t in the mnt has massive scalaing\nproblems because the cacheline gets so terribly contended.\n\nThis uses a statically-allocated percpu variable.  All want/drop\noperations are local to a cpu as long that cpu operates on the same\nmount, and there are no writer count imbalances.  Writer count\nimbalances happen when a write is taken on one cpu, and released\non another, like when an open/close pair is performed on two\n\nUpon a remount,ro request, all of the data from the percpu\nvariables is collected (expensive, but very rare) and we determine\nif there are any outstanding writers to the mount.\n\nI\u0027ve written a little benchmark to sit in a loop for a couple of\nseconds in several cpus in parallel doing open/write/close loops.\n\nhttp://sr71.net/~dave/linux/openbench.c\n\nThe code in here is a a worst-possible case for this patch.  It\ndoes opens on a _pair_ of files in two different mounts in parallel.\nThis should cause my code to lose its \"operate on the same mount\"\noptimization completely.  This worst-case scenario causes a 3%\ndegredation in the benchmark.\n\nI could probably get rid of even this 3%, but it would be more\ncomplex than what I have here, and I think this is getting into\nacceptable territory.  In practice, I expect writing more than 3\nbytes to a file, as well as disk I/O to mask any effects that this\nhas.\n\n(To get rid of that 3%, we could have an #defined number of mounts\nin the percpu variable.  So, instead of a CPU getting operate only\non percpu data when it accesses only one mount, it could stay on\npercpu data when it only accesses N or fewer mounts.)\n\n[AV] merged fix for __clear_mnt_mount() stepping on freed vfsmount\n\nAcked-by: Al Viro \u003cviro@ZenIV.linux.org.uk\u003e\nSigned-off-by: Christoph Hellwig \u003chch@infradead.org\u003e\nSigned-off-by: Dave Hansen \u003chaveblue@us.ibm.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "2c463e95480829a2fe8f386589516e13b1289db6",
      "tree": "7294d93a15f62ccc2c649ef9782b7f85ae7d1ef8",
      "parents": [
        "ec82687f29127a954dd0da95dc1e0a4ce92b560c"
      ],
      "author": {
        "name": "Dave Hansen",
        "email": "haveblue@us.ibm.com",
        "time": "Fri Feb 15 14:37:56 2008 -0800"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Sat Apr 19 00:29:27 2008 -0400"
      },
      "message": "[PATCH] r/o bind mounts: check mnt instead of superblock directly\n\nIf we depend on the inodes for writeability, we will not catch the r/o mounts\nwhen implemented.\n\nThis patches uses __mnt_want_write().  It does not guarantee that the mount\nwill stay writeable after the check.  But, this is OK for one of the checks\nbecause it is just for a printk().\n\nThe other two are probably unnecessary and duplicate existing checks in the\nVFS.  This won\u0027t make them better checks than before, but it will make them\ndetect r/o mounts.\n\nAcked-by: Al Viro \u003cviro@ZenIV.linux.org.uk\u003e\nSigned-off-by: Christoph Hellwig \u003chch@infradead.org\u003e\nSigned-off-by: Dave Hansen \u003chaveblue@us.ibm.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "ec82687f29127a954dd0da95dc1e0a4ce92b560c",
      "tree": "952b4f3f7128e2f5798607d595fb43d89c458e17",
      "parents": [
        "2f676cbc0d60ae806216c7a61c6971bd72dedde8"
      ],
      "author": {
        "name": "Dave Hansen",
        "email": "haveblue@us.ibm.com",
        "time": "Fri Feb 15 14:37:53 2008 -0800"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Sat Apr 19 00:29:26 2008 -0400"
      },
      "message": "[PATCH] r/o bind mounts: elevate count for xfs timestamp updates\n\nElevate the write count during the xfs m/ctime updates.\n\nXFS has to do it\u0027s own timestamp updates due to an unfortunate VFS\ndesign limitation, so it will have to track writers by itself aswell.\n\n[hch: split out from the touch_atime patch as it\u0027s not related to it at all]\n\nAcked-by: Al Viro \u003cviro@ZenIV.linux.org.uk\u003e\nSigned-off-by: Christoph Hellwig \u003chch@infradead.org\u003e\nSigned-off-by: Dave Hansen \u003chaveblue@us.ibm.com\u003e\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "2f676cbc0d60ae806216c7a61c6971bd72dedde8",
      "tree": "57287366150093260f18bdbe81596492e3e40aa1",
      "parents": [
        "9ac9b8474c39c3ae2c2b37d8e1f08db8a9146124"
      ],
      "author": {
        "name": "Dave Hansen",
        "email": "haveblue@us.ibm.com",
        "time": "Fri Feb 15 14:37:55 2008 -0800"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Sat Apr 19 00:29:26 2008 -0400"
      },
      "message": "[PATCH] r/o bind mounts: make access() use new r/o helper\n\nIt is OK to let access() go without using a mnt_want/drop_write() pair because\nit doesn\u0027t actually do writes to the filesystem, and it is inherently racy\nanyway.  This is a rare case when it is OK to use __mnt_is_readonly()\ndirectly.\n\nAcked-by: Al Viro \u003cviro@ZenIV.linux.org.uk\u003e\nSigned-off-by: Christoph Hellwig \u003chch@infradead.org\u003e\nSigned-off-by: Dave Hansen \u003chaveblue@us.ibm.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "9ac9b8474c39c3ae2c2b37d8e1f08db8a9146124",
      "tree": "e630074f48b8edd7a54805e5fb9b2b15896d052f",
      "parents": [
        "2af482a7edfb8810539cacc2fdd8242611ca43bb"
      ],
      "author": {
        "name": "Dave Hansen",
        "email": "haveblue@us.ibm.com",
        "time": "Fri Feb 15 14:37:52 2008 -0800"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Sat Apr 19 00:29:25 2008 -0400"
      },
      "message": "[PATCH] r/o bind mounts: write counts for truncate()\n\nAcked-by: Al Viro \u003cviro@ZenIV.linux.org.uk\u003e\nSigned-off-by: Christoph Hellwig \u003chch@lst.de\u003e\nSigned-off-by: Dave Hansen \u003chaveblue@us.ibm.com\u003e\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "2af482a7edfb8810539cacc2fdd8242611ca43bb",
      "tree": "a51f65bf608c47dd9e3a061258e6f461f3446349",
      "parents": [
        "4a3fd211ccfc08a88edc824300e25a87785c6a5f"
      ],
      "author": {
        "name": "Dave Hansen",
        "email": "haveblue@us.ibm.com",
        "time": "Fri Feb 15 14:37:50 2008 -0800"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Sat Apr 19 00:29:25 2008 -0400"
      },
      "message": "[PATCH] r/o bind mounts: elevate write count for chmod/chown callers\n\nchown/chmod,etc...  don\u0027t call permission in the same way that the normal\n\"open for write\" calls do.  They still write to the filesystem, so bump the\nwrite count during these operations.\n\nAcked-by: Al Viro \u003cviro@ZenIV.linux.org.uk\u003e\nSigned-off-by: Christoph Hellwig \u003chch@lst.de\u003e\nSigned-off-by: Dave Hansen \u003chaveblue@us.ibm.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "4a3fd211ccfc08a88edc824300e25a87785c6a5f",
      "tree": "99f1a76a99fa78464b8de731f7fdb5bcc9667a5e",
      "parents": [
        "42a74f206b914db13ee1f5ae932dcd91a77c8579"
      ],
      "author": {
        "name": "Dave Hansen",
        "email": "haveblue@us.ibm.com",
        "time": "Fri Feb 15 14:37:48 2008 -0800"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Sat Apr 19 00:29:25 2008 -0400"
      },
      "message": "[PATCH] r/o bind mounts: elevate write count for open()s\n\nThis is the first really tricky patch in the series.  It elevates the writer\ncount on a mount each time a non-special file is opened for write.\n\nWe used to do this in may_open(), but Miklos pointed out that __dentry_open()\nis used as well to create filps.  This will cover even those cases, while a\ncall in may_open() would not have.\n\nThere is also an elevated count around the vfs_create() call in open_namei().\nSee the comments for more details, but we need this to fix a \u0027create, remount,\nfail r/w open()\u0027 race.\n\nSome filesystems forego the use of normal vfs calls to create\nstruct files.   Make sure that these users elevate the mnt\nwriter count because they will get __fput(), and we need\nto make sure they\u0027re balanced.\n\nAcked-by: Al Viro \u003cviro@ZenIV.linux.org.uk\u003e\nSigned-off-by: Christoph Hellwig \u003chch@lst.de\u003e\nSigned-off-by: Dave Hansen \u003chaveblue@us.ibm.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "42a74f206b914db13ee1f5ae932dcd91a77c8579",
      "tree": "24e3dbe55edaacc750067ab9e01778255a6bff08",
      "parents": [
        "20ddee2c75339cc095f6191c3115f81da8955e96"
      ],
      "author": {
        "name": "Dave Hansen",
        "email": "haveblue@us.ibm.com",
        "time": "Fri Feb 15 14:37:46 2008 -0800"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Sat Apr 19 00:29:24 2008 -0400"
      },
      "message": "[PATCH] r/o bind mounts: elevate write count for ioctls()\n\nSome ioctl()s can cause writes to the filesystem.  Take these, and make them\nuse mnt_want/drop_write() instead.\n\n[AV: updated]\n\nAcked-by: Al Viro \u003cviro@ZenIV.linux.org.uk\u003e\nSigned-off-by: Christoph Hellwig \u003chch@lst.de\u003e\nSigned-off-by: Dave Hansen \u003chaveblue@us.ibm.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "20ddee2c75339cc095f6191c3115f81da8955e96",
      "tree": "de675e92d25f9946026132ac634c08f1c6e87916",
      "parents": [
        "74f9fdfa1f229284ee1ea58fa47f2cdeeb12f6fe"
      ],
      "author": {
        "name": "Dave Hansen",
        "email": "haveblue@us.ibm.com",
        "time": "Fri Feb 15 14:37:43 2008 -0800"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Sat Apr 19 00:29:24 2008 -0400"
      },
      "message": "[PATCH] r/o bind mounts: write count for file_update_time()\n\nAcked-by: Al Viro \u003cviro@ZenIV.linux.org.uk\u003e\nSigned-off-by: Christoph Hellwig \u003chch@lst.de\u003e\nSigned-off-by: Dave Hansen \u003chaveblue@us.ibm.com\u003e\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "74f9fdfa1f229284ee1ea58fa47f2cdeeb12f6fe",
      "tree": "6f368c91caf23e1795645d018c8ac971a4dceada",
      "parents": [
        "cdb70f3f74b31576cc4d707a3d3b00d159cab8bb"
      ],
      "author": {
        "name": "Dave Hansen",
        "email": "haveblue@us.ibm.com",
        "time": "Fri Feb 15 14:37:42 2008 -0800"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Sat Apr 19 00:29:24 2008 -0400"
      },
      "message": "[PATCH] r/o bind mounts: elevate write count for do_utimes()\n\nNow includes fix for oops seen by akpm.\n\n\"never let a libc developer write your kernel code\" - hch\n\n\"nor, apparently, a kernel developer\" - akpm\n\nAcked-by: Al Viro \u003cviro@ZenIV.linux.org.uk\u003e\nSigned-off-by: Christoph Hellwig \u003chch@lst.de\u003e\nCc: Valdis Kletnieks \u003cValdis.Kletnieks@vt.edu\u003e\nCc: Balbir Singh \u003cbalbir@in.ibm.com\u003e\nSigned-off-by: Dave Hansen \u003chaveblue@us.ibm.com\u003e\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "cdb70f3f74b31576cc4d707a3d3b00d159cab8bb",
      "tree": "6b2fd4e67c78811c29632c30854af29849c2594f",
      "parents": [
        "a761a1c03a739f04afd6c8d37fd16405bbe754da"
      ],
      "author": {
        "name": "Dave Hansen",
        "email": "haveblue@us.ibm.com",
        "time": "Fri Feb 15 14:37:41 2008 -0800"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Sat Apr 19 00:29:23 2008 -0400"
      },
      "message": "[PATCH] r/o bind mounts: write counts for touch_atime()\n\nRemove handling of NULL mnt while we are at it - that can\u0027t happen these days.\n\nAcked-by: Al Viro \u003cviro@ZenIV.linux.org.uk\u003e\nSigned-off-by: Christoph Hellwig \u003chch@lst.de\u003e\nSigned-off-by: Dave Hansen \u003chaveblue@us.ibm.com\u003e\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "a761a1c03a739f04afd6c8d37fd16405bbe754da",
      "tree": "004d789354828b582654369a55e480fea46369af",
      "parents": [
        "18f335aff86913de3c76f88d32c8135c1da62ce6"
      ],
      "author": {
        "name": "Dave Hansen",
        "email": "haveblue@us.ibm.com",
        "time": "Fri Feb 15 14:37:39 2008 -0800"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Sat Apr 19 00:29:23 2008 -0400"
      },
      "message": "[PATCH] r/o bind mounts: elevate write count for ncp_ioctl()\n\nAcked-by: Al Viro \u003cviro@ZenIV.linux.org.uk\u003e\nSigned-off-by: Christoph Hellwig \u003chch@lst.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Dave Hansen \u003chaveblue@us.ibm.com\u003e\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "18f335aff86913de3c76f88d32c8135c1da62ce6",
      "tree": "bf541547b9774137a161d200bace04ad152e80e3",
      "parents": [
        "9079b1eb1753f217c3de9f1b7dd7fd549cc3f0cf"
      ],
      "author": {
        "name": "Dave Hansen",
        "email": "haveblue@us.ibm.com",
        "time": "Fri Feb 15 14:37:38 2008 -0800"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Sat Apr 19 00:29:15 2008 -0400"
      },
      "message": "[PATCH] r/o bind mounts: elevate write count for xattr_permission() callers\n\nThis basically audits the callers of xattr_permission(), which calls\npermission() and can perform writes to the filesystem.\n\n[AV: add missing parts - removexattr() and nfsd posix acls, plug for a leak\nspotted by Miklos]\n\nAcked-by: Al Viro \u003cviro@ZenIV.linux.org.uk\u003e\nSigned-off-by: Christoph Hellwig \u003chch@lst.de\u003e\nSigned-off-by: Dave Hansen \u003chaveblue@us.ibm.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "9079b1eb1753f217c3de9f1b7dd7fd549cc3f0cf",
      "tree": "8e522ad0b16829849e4b1602270eb10997fba41d",
      "parents": [
        "75c3f29de7451677c59580b0a959f694f36aac28"
      ],
      "author": {
        "name": "Dave Hansen",
        "email": "haveblue@us.ibm.com",
        "time": "Fri Feb 15 14:37:49 2008 -0800"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Sat Apr 19 00:25:34 2008 -0400"
      },
      "message": "[PATCH] r/o bind mounts: get write access for vfs_rename() callers\n\nThis also uses the little helper in the NFS code to make an if() a little bit\nless ugly.  We introduced the helper at the beginning of the series.\n\nAcked-by: Al Viro \u003cviro@ZenIV.linux.org.uk\u003e\nSigned-off-by: Christoph Hellwig \u003chch@lst.de\u003e\nSigned-off-by: Dave Hansen \u003chaveblue@us.ibm.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "75c3f29de7451677c59580b0a959f694f36aac28",
      "tree": "c82ad50102bfa38f2dc6bb0f763cde9f3dff3790",
      "parents": [
        "463c3197263bd26ac59a00d2484990e17e35c50e"
      ],
      "author": {
        "name": "Dave Hansen",
        "email": "haveblue@us.ibm.com",
        "time": "Fri Feb 15 14:37:45 2008 -0800"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Sat Apr 19 00:25:34 2008 -0400"
      },
      "message": "[PATCH] r/o bind mounts: write counts for link/symlink\n\n[AV: add missing nfsd pieces]\n\nAcked-by: Al Viro \u003cviro@ZenIV.linux.org.uk\u003e\nSigned-off-by: Christoph Hellwig \u003chch@lst.de\u003e\nSigned-off-by: Dave Hansen \u003chaveblue@us.ibm.com\u003e\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "463c3197263bd26ac59a00d2484990e17e35c50e",
      "tree": "b27c04f978ccd447ae33f7387b6a4aba0033acc5",
      "parents": [
        "0622753b800e4cc6cb9319b36b27658c72dd7cdc"
      ],
      "author": {
        "name": "Dave Hansen",
        "email": "haveblue@us.ibm.com",
        "time": "Fri Feb 15 14:37:57 2008 -0800"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Sat Apr 19 00:25:34 2008 -0400"
      },
      "message": "[PATCH] r/o bind mounts: get callers of vfs_mknod/create/mkdir()\n\nThis takes care of all of the direct callers of vfs_mknod().\nSince a few of these cases also handle normal file creation\nas well, this also covers some calls to vfs_create().\n\nSo that we don\u0027t have to make three mnt_want/drop_write()\ncalls inside of the switch statement, we move some of its\nlogic outside of the switch and into a helper function\nsuggested by Christoph.\n\nThis also encapsulates a fix for mknod(S_IFREG) that Miklos\nfound.\n\n[AV: merged mkdir handling, added missing nfsd pieces]\n\nAcked-by: Al Viro \u003cviro@ZenIV.linux.org.uk\u003e\nSigned-off-by: Christoph Hellwig \u003chch@infradead.org\u003e\nSigned-off-by: Dave Hansen \u003chaveblue@us.ibm.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "0622753b800e4cc6cb9319b36b27658c72dd7cdc",
      "tree": "5a32b65a087ff7fd5effa8d3f6f1f9717d4391aa",
      "parents": [
        "49e0d02cf018d4edf24bfc8531a816a26367e4ce"
      ],
      "author": {
        "name": "Dave Hansen",
        "email": "haveblue@us.ibm.com",
        "time": "Fri Feb 15 14:37:34 2008 -0800"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Sat Apr 19 00:25:33 2008 -0400"
      },
      "message": "[PATCH] r/o bind mounts: elevate write count for rmdir and unlink.\n\nElevate the write count during the vfs_rmdir() and vfs_unlink().\n\n[AV: merged rmdir and unlink parts, added missing pieces in nfsd]\n\nAcked-by: Serge Hallyn \u003cserue@us.ibm.com\u003e\nAcked-by: Al Viro \u003cviro@ZenIV.linux.org.uk\u003e\nSigned-off-by: Christoph Hellwig \u003chch@lst.de\u003e\nSigned-off-by: Dave Hansen \u003chaveblue@us.ibm.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "49e0d02cf018d4edf24bfc8531a816a26367e4ce",
      "tree": "f1695d9ec2298b726ff39f42aaf8d4fd3ade8487",
      "parents": [
        "aceaf78da92a53f5e1b105649a1b8c0afdb2135c"
      ],
      "author": {
        "name": "Dave Hansen",
        "email": "haveblue@us.ibm.com",
        "time": "Fri Feb 15 14:37:32 2008 -0800"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Sat Apr 19 00:25:33 2008 -0400"
      },
      "message": "[PATCH] r/o bind mounts: drop write during emergency remount\n\nThe emergency remount code forcibly removes FMODE_WRITE from\nfilps.  The r/o bind mount code notices that this was done\nwithout a proper mnt_drop_write() and properly gives a\nwarning.\n\nThis patch does a mnt_drop_write() to keep everything\nbalanced.\n\nAcked-by: Al Viro \u003cviro@ZenIV.linux.org.uk\u003e\nSigned-off-by: Christoph Hellwig \u003chch@infradead.org\u003e\nSigned-off-by: Dave Hansen \u003chaveblue@us.ibm.com\u003e\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "aceaf78da92a53f5e1b105649a1b8c0afdb2135c",
      "tree": "cab04e05f8b504b0a11d4986045bc3b08a3a1e75",
      "parents": [
        "8366025eb80dfa0d8d94b286d53027081c280ef1"
      ],
      "author": {
        "name": "Dave Hansen",
        "email": "haveblue@us.ibm.com",
        "time": "Fri Feb 15 14:37:31 2008 -0800"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Sat Apr 19 00:25:32 2008 -0400"
      },
      "message": "[PATCH] r/o bind mounts: create helper to drop file write access\n\nIf someone decides to demote a file from r/w to just\nr/o, they can use this same code as __fput().\n\nNFS does just that, and will use this in the next\npatch.\n\nAV: drop write access in __fput() only after we evict from file list.\n\nSigned-off-by: Dave Hansen \u003chaveblue@us.ibm.com\u003e\nCc: Erez Zadok \u003cezk@cs.sunysb.edu\u003e\nCc: Trond Myklebust \u003ctrond.myklebust@fys.uio.no\u003e\nCc: \"J Bruce Fields\" \u003cbfields@fieldses.org\u003e\nAcked-by: Al Viro \u003cviro@ZenIV.linux.org.uk\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Christoph Hellwig \u003chch@lst.de\u003e\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "8366025eb80dfa0d8d94b286d53027081c280ef1",
      "tree": "052c9244cd9d763ad8467bb95b25d903d58b7f11",
      "parents": [
        "a70e65df8812c52252fa07a2eb92a46451a4427f"
      ],
      "author": {
        "name": "Dave Hansen",
        "email": "haveblue@us.ibm.com",
        "time": "Fri Feb 15 14:37:30 2008 -0800"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Sat Apr 19 00:25:32 2008 -0400"
      },
      "message": "[PATCH] r/o bind mounts: stub functions\n\nThis patch adds two function mnt_want_write() and mnt_drop_write().  These are\nused like a lock pair around and fs operations that might cause a write to the\nfilesystem.\n\nBefore these can become useful, we must first cover each place in the VFS\nwhere writes are performed with a want/drop pair.  When that is complete, we\ncan actually introduce code that will safely check the counts before allowing\nr/w\u003c-\u003er/o transitions to occur.\n\nAcked-by: Serge Hallyn \u003cserue@us.ibm.com\u003e\nAcked-by: Al Viro \u003cviro@ZenIV.linux.org.uk\u003e\nSigned-off-by: Christoph Hellwig \u003chch@infradead.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Dave Hansen \u003chaveblue@us.ibm.com\u003e\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "a70e65df8812c52252fa07a2eb92a46451a4427f",
      "tree": "b8154bebeb898743e89aeeea5971b410c7e49bf7",
      "parents": [
        "d57999e1527f0b0c818846dcba5a23015beb4823"
      ],
      "author": {
        "name": "Christoph Hellwig",
        "email": "hch@lst.de",
        "time": "Fri Feb 15 14:37:28 2008 -0800"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Sat Apr 19 00:25:32 2008 -0400"
      },
      "message": "[PATCH] merge open_namei() and do_filp_open()\n\nopen_namei() will, in the future, need to take mount write counts\nover its creation and truncation (via may_open()) operations.  It\nneeds to keep these write counts until any potential filp that is\ncreated gets __fput()\u0027d.\n\nThis gets complicated in the error handling and becomes very murky\nas to how far open_namei() actually got, and whether or not that\nmount write count was taken.  That makes it a bad interface.\n\nAll that the current do_filp_open() really does is allocate the\nnameidata on the stack, then call open_namei().\n\nSo, this merges those two functions and moves filp_open() over\nto namei.c so it can be close to its buddy: do_filp_open().  It\nalso gets a kerneldoc comment in the process.\n\nAcked-by: Al Viro \u003cviro@ZenIV.linux.org.uk\u003e\nSigned-off-by: Christoph Hellwig \u003chch@lst.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Dave Hansen \u003chaveblue@us.ibm.com\u003e\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "d57999e1527f0b0c818846dcba5a23015beb4823",
      "tree": "6cd6f1e773fb19b18531997131b0887f835dcf03",
      "parents": [
        "3925e6fc1f774048404fdd910b0345b06c699eb4"
      ],
      "author": {
        "name": "Dave Hansen",
        "email": "haveblue@us.ibm.com",
        "time": "Fri Feb 15 14:37:27 2008 -0800"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Sat Apr 19 00:25:31 2008 -0400"
      },
      "message": "[PATCH] do namei_flags calculation inside open_namei()\n\nMy end goal here is to make sure all users of may_open()\nreturn filps.  This will ensure that we properly release\nmount write counts which were taken for the filp in\nmay_open().\n\nThis patch moves the sys_open flags to namei flags\ncalculation into fs/namei.c.  We\u0027ll shortly be moving\nthe nameidata_to_filp() calls into namei.c, and this\ngets the sys_open flags to a place where we can get\nat them when we need them.\n\nAcked-by: Al Viro \u003cviro@ZenIV.linux.org.uk\u003e\nSigned-off-by: Christoph Hellwig \u003chch@lst.de\u003e\nSigned-off-by: Dave Hansen \u003chaveblue@us.ibm.com\u003e\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "6188e10d38b8d7244ee7776d5f1f88c837b4b93f",
      "tree": "6675e02c47fb684a613e10513816b5dcc5de28a9",
      "parents": [
        "d7b1acd3b524b39f418e463e836b48ac041954d6"
      ],
      "author": {
        "name": "Matthew Wilcox",
        "email": "matthew@wil.cx",
        "time": "Fri Apr 18 22:21:05 2008 -0400"
      },
      "committer": {
        "name": "Matthew Wilcox",
        "email": "willy@linux.intel.com",
        "time": "Fri Apr 18 22:22:54 2008 -0400"
      },
      "message": "Convert asm/semaphore.h users to linux/semaphore.h\n\nSigned-off-by: Matthew Wilcox \u003cwilly@linux.intel.com\u003e\n"
    },
    {
      "commit": "cb688371e27880d86c42323826846d1cd7caad8f",
      "tree": "1be4f5bb437e86a547365a94aed5ade23adb09da",
      "parents": [
        "d3135846f6c1858dbad6ccb780a42e6c98953e6d"
      ],
      "author": {
        "name": "Matthew Wilcox",
        "email": "matthew@wil.cx",
        "time": "Tue Feb 26 09:59:26 2008 -0500"
      },
      "committer": {
        "name": "Matthew Wilcox",
        "email": "willy@linux.intel.com",
        "time": "Fri Apr 18 22:16:44 2008 -0400"
      },
      "message": "fs: Remove unnecessary inclusions of asm/semaphore.h\n\nNone of these files use any of the functionality promised by\nasm/semaphore.h.\n\nSigned-off-by: Matthew Wilcox \u003cwilly@linux.intel.com\u003e\n"
    },
    {
      "commit": "334d094504c2fe1c44211ecb49146ae6bca8c321",
      "tree": "d3c0f68e4b9f8e3d2ccc39e7dfe5de0534a5fad9",
      "parents": [
        "d1a4be630fb068f251d64b62919f143c49ca8057",
        "d1643d24c61b725bef399cc1cf2944b4c9c23177"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Apr 18 18:02:35 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Apr 18 18:02:35 2008 -0700"
      },
      "message": "Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6.26\n\n* git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6.26: (1090 commits)\n  [NET]: Fix and allocate less memory for -\u003epriv\u0027less netdevices\n  [IPV6]: Fix dangling references on error in fib6_add().\n  [NETLABEL]: Fix NULL deref in netlbl_unlabel_staticlist_gen() if ifindex not found\n  [PKT_SCHED]: Fix datalen check in tcf_simp_init().\n  [INET]: Uninline the __inet_inherit_port call.\n  [INET]: Drop the inet_inherit_port() call.\n  SCTP: Initialize partial_bytes_acked to 0, when all of the data is acked.\n  [netdrvr] forcedeth: internal simplifications; changelog removal\n  phylib: factor out get_phy_id from within get_phy_device\n  PHY: add BCM5464 support to broadcom PHY driver\n  cxgb3: Fix __must_check warning with dev_dbg.\n  tc35815: Statistics cleanup\n  natsemi: fix MMIO for PPC 44x platforms\n  [TIPC]: Cleanup of TIPC reference table code\n  [TIPC]: Optimized initialization of TIPC reference table\n  [TIPC]: Remove inlining of reference table locking routines\n  e1000: convert uint16_t style integers to u16\n  ixgb: convert uint16_t style integers to u16\n  sb1000.c: make const arrays static\n  sb1000.c: stop inlining largish static functions\n  ...\n"
    },
    {
      "commit": "e675349e2bdbfb661fa0d8ff2441b4cf48fb7e48",
      "tree": "7443e324c951f375945905dc436b012c98a00e05",
      "parents": [
        "ef38ff9d372d4fe69e415370939a0f1fb5783af1",
        "2309e9e040fe29469fb85a384636c455b62fe525"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Apr 18 10:15:22 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Apr 18 10:15:22 2008 -0700"
      },
      "message": "Merge branch \u0027upstream-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/mfasheh/ocfs2\n\n* \u0027upstream-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/mfasheh/ocfs2: (64 commits)\n  ocfs2/net: Add debug interface to o2net\n  ocfs2: Only build ocfs2/dlm with the o2cb stack module\n  ocfs2/cluster: Get rid of arguments to the timeout routines\n  ocfs2: Put tree in MAINTAINERS\n  ocfs2: Use BUG_ON\n  ocfs2: Convert ocfs2 over to unlocked_ioctl\n  ocfs2: Improve rename locking\n  fs/ocfs2/aops.c: test for IS_ERR rather than 0\n  ocfs2: Add inode stealing for ocfs2_reserve_new_inode\n  ocfs2: Add ac_alloc_slot in ocfs2_alloc_context\n  ocfs2: Add a new parameter for ocfs2_reserve_suballoc_bits\n  ocfs2: Enable cross extent block merge.\n  ocfs2: Add support for cross extent block\n  ocfs2: Move /sys/o2cb to /sys/fs/o2cb\n  sysfs: Allow removal of symlinks in the sysfs root\n  ocfs2:  Reconnect after idle time out.\n  ocfs2/dlm: Cleanup lockres print\n  ocfs2/dlm: Fix lockname in lockres print function\n  ocfs2/dlm: Move dlm_print_one_mle() from dlmmaster.c to dlmdebug.c\n  ocfs2/dlm: Dumps the purgelist into a debugfs file\n  ...\n"
    },
    {
      "commit": "ef38ff9d372d4fe69e415370939a0f1fb5783af1",
      "tree": "fcf38cbbd55298606a695adaf7f2ea97f3185c19",
      "parents": [
        "fda31d7d4b5a9c663ac3ed1ba244018a88deecaf",
        "62be1f71677c53d5e51223807a06ac9052f49b0f"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Apr 18 10:02:46 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Apr 18 10:02:46 2008 -0700"
      },
      "message": "Merge git://git.kernel.org/pub/scm/linux/kernel/git/steve/gfs2-2.6-nmw\n\n* git://git.kernel.org/pub/scm/linux/kernel/git/steve/gfs2-2.6-nmw: (49 commits)\n  [GFS2] fix assertion in log_refund()\n  [GFS2] fix GFP_KERNEL misuses\n  [GFS2] test for IS_ERR rather than 0\n  [GFS2] Invalidate cache at correct point\n  [GFS2] fs/gfs2/recovery.c: suppress warnings\n  [GFS2] Faster gfs2_bitfit algorithm\n  [GFS2] Streamline quota lock/check for no-quota case\n  [GFS2] Remove drop of module ref where not needed\n  [GFS2] gfs2_adjust_quota has broken unstuffing code\n  [GFS2] possible null pointer dereference fixup\n  [GFS2] Need to ensure that sector_t is 64bits for GFS2\n  [GFS2] re-support special inode\n  [GFS2] remove gfs2_dev_iops\n  [GFS2] fix file_system_type leak on gfs2meta mount\n  [GFS2] Allow bmap to allocate extents\n  [GFS2] Fix a page lock / glock deadlock\n  [GFS2] proper extern for gfs2/locking/dlm/mount.c:gdlm_ops\n  [GFS2] gfs2/ops_file.c should #include \"ops_inode.h\"\n  [GFS2] be*_add_cpu conversion\n  [GFS2] Fix bug where we called drop_bh incorrectly\n  ...\n"
    },
    {
      "commit": "2309e9e040fe29469fb85a384636c455b62fe525",
      "tree": "e3ecf7af432e1504a0c785525bc4247305916173",
      "parents": [
        "93b06edb5127315473d87e075b2b1d1acf74659c"
      ],
      "author": {
        "name": "Sunil Mushran",
        "email": "sunil.mushran@oracle.com",
        "time": "Mon Apr 14 10:46:19 2008 -0700"
      },
      "committer": {
        "name": "Mark Fasheh",
        "email": "mfasheh@suse.com",
        "time": "Fri Apr 18 08:56:20 2008 -0700"
      },
      "message": "ocfs2/net: Add debug interface to o2net\n\nThis patch exposes o2net information via debugfs. The information includes\nthe list of sockets (sock_containers) as well as the list of outstanding\nmessages (send_tracking). Useful for o2dlm debugging.\n\n(This patch is derived from an earlier one written by Zach Brown that\nexposed the same information via /proc.)\n\n[Mark: checkpatch fixes]\n\nSigned-off-by: Sunil Mushran \u003csunil.mushran@oracle.com\u003e\nReviewed-by: Joel Becker \u003cjoel.becker@oracle.com\u003e\nSigned-off-by: Mark Fasheh \u003cmfasheh@suse.com\u003e\n"
    },
    {
      "commit": "93b06edb5127315473d87e075b2b1d1acf74659c",
      "tree": "bc11bd21d571b130cd446bed0db729f2264a9dc6",
      "parents": [
        "409753bf6da4a2db038027471abaf324e063db2f"
      ],
      "author": {
        "name": "Mark Fasheh",
        "email": "mfasheh@suse.com",
        "time": "Fri Apr 04 12:45:55 2008 -0700"
      },
      "committer": {
        "name": "Mark Fasheh",
        "email": "mfasheh@suse.com",
        "time": "Fri Apr 18 08:56:12 2008 -0700"
      },
      "message": "ocfs2: Only build ocfs2/dlm with the o2cb stack module\n\nfs/ocfs2/dlm/ocfs2_dlm.ko and fs/ocfs2/dlm/ocfs2_dlmfs.ko get built if\nCONFIG_FS_OCFS2 is specified. This isn\u0027t quite how it should happen any more\n- the \"o2cb\" dlm modules should only be built if CONFIG_FS_OCFS2_O2CB is\nset, so update the dlm Makefile accordingly.\n\nSigned-off-by: Mark Fasheh \u003cmfasheh@suse.com\u003e\nAcked-by: Randy Dunlap \u003crandy.dunlap@oracle.com\u003e\nAcked-by: Joel Becker \u003cjoel.becker@oracle.com\u003e\n"
    },
    {
      "commit": "409753bf6da4a2db038027471abaf324e063db2f",
      "tree": "3f59dcf8949aa09585837138fcd8dd76b97fcd23",
      "parents": [
        "dda47bce91b8624ef0806f7f8157ffc91e153c9d"
      ],
      "author": {
        "name": "Jeff Mahoney",
        "email": "jeffm@suse.com",
        "time": "Fri Mar 28 16:44:13 2008 -0700"
      },
      "committer": {
        "name": "Mark Fasheh",
        "email": "mfasheh@suse.com",
        "time": "Fri Apr 18 08:56:12 2008 -0700"
      },
      "message": "ocfs2/cluster: Get rid of arguments to the timeout routines\n\nWe keep seeing bug reports related to NULL pointer derefs in\no2net_set_nn_state(). When I originally wrote up the configurable timeout\npatch, I had tried to plan for multiple clusters. This was silly.\n\nThe timeout routines all use o2nm_single_cluster so there\u0027s no point in\npassing an argument at all. This patch removes the arguments and kills those\nbugs dead.\n\nSigned-off-by: Jeff Mahoney \u003cjeffm@suse.com\u003e\nSigned-off-by: Mark Fasheh \u003cmfasheh@suse.com\u003e\n"
    },
    {
      "commit": "b1f3550fa1471b691ad6c2f35b5b22e93eaa5855",
      "tree": "0d481a71d202883df116c55fdac4a4a60c4ca091",
      "parents": [
        "c9ec14884d69a303eef4faae42bd3c4e25b19941"
      ],
      "author": {
        "name": "Julia Lawall",
        "email": "julia@diku.dk",
        "time": "Tue Mar 04 15:21:05 2008 -0800"
      },
      "committer": {
        "name": "Mark Fasheh",
        "email": "mfasheh@suse.com",
        "time": "Fri Apr 18 08:56:11 2008 -0700"
      },
      "message": "ocfs2: Use BUG_ON\n\nif (...) BUG(); should be replaced with BUG_ON(...) when the test has no\nside-effects to allow a definition of BUG_ON that drops the code completely.\n\nThe semantic patch that makes this change is as follows:\n(http://www.emn.fr/x-info/coccinelle/)\n\n// \u003csmpl\u003e\n@ disable unlikely @ expression E,f; @@\n\n(\n  if (\u003c... f(...) ...\u003e) { BUG(); }\n|\n- if (unlikely(E)) { BUG(); }\n+ BUG_ON(E);\n)\n\n@@ expression E,f; @@\n\n(\n  if (\u003c... f(...) ...\u003e) { BUG(); }\n|\n- if (E) { BUG(); }\n+ BUG_ON(E);\n)\n// \u003c/smpl\u003e\n\nSigned-off-by: Julia Lawall \u003cjulia@diku.dk\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Mark Fasheh \u003cmfasheh@suse.com\u003e\n"
    },
    {
      "commit": "c9ec14884d69a303eef4faae42bd3c4e25b19941",
      "tree": "50ed19faff3fbaaab8dfa872b506501a24826df3",
      "parents": [
        "5dabd69515765156605b09261abf969236a77803"
      ],
      "author": {
        "name": "Andi Kleen",
        "email": "ak@suse.de",
        "time": "Sun Jan 27 03:17:17 2008 +0100"
      },
      "committer": {
        "name": "Mark Fasheh",
        "email": "mfasheh@suse.com",
        "time": "Fri Apr 18 08:56:11 2008 -0700"
      },
      "message": "ocfs2: Convert ocfs2 over to unlocked_ioctl\n\nAs far as I can see there is nothing in ocfs2_ioctl that requires the BKL,\nso use unlocked_ioctl\n\nSigned-off-by: Andi Kleen \u003cak@suse.de\u003e\nSigned-off-by: Mark Fasheh \u003cmfasheh@suse.com\u003e\n"
    },
    {
      "commit": "5dabd69515765156605b09261abf969236a77803",
      "tree": "4a44a7554c9513f012c4140793d1620001809999",
      "parents": [
        "58dadcdbc2584db050969f9781727fc5a3f618db"
      ],
      "author": {
        "name": "Jan Kara",
        "email": "jack@suse.cz",
        "time": "Thu Feb 21 18:00:00 2008 +0100"
      },
      "committer": {
        "name": "Mark Fasheh",
        "email": "mfasheh@suse.com",
        "time": "Fri Apr 18 08:56:11 2008 -0700"
      },
      "message": "ocfs2: Improve rename locking\n\nocfs2_rename() was being too aggressive with the rename lock - we only need\nit for certain forms of directory rename.\n\nSigned-off-by: Jan Kara \u003cjack@suse.cz\u003e\nSigned-off-by: Mark Fasheh \u003cmfasheh@suse.com\u003e\n"
    }
  ],
  "next": "58dadcdbc2584db050969f9781727fc5a3f618db"
}
