)]}'
{
  "log": [
    {
      "commit": "0aec63e67c69545ca757a73a66f5dcf05fa484bf",
      "tree": "f01b80fd415389506b2a719831dfd6a90c0b258f",
      "parents": [
        "0feb9bfcfa3f9bf67a4a1e3f2608700ad73f92ed"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Jan 06 15:36:48 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Fri Jan 06 20:23:04 2006 -0800"
      },
      "message": "[PATCH] Fix posix-cpu-timers sched_time accumulation\n\nI\u0027ve spent the past 3 days digging into a glibc testsuite failure in\ncurrent CVS, specifically libc/rt/tst-cputimer1.c The thr1 and thr2\ntimers fire too early in the second pass of this test.  The second\npass is noteworthy because it makes use of intervals, whereas the\nfirst pass does not.\n\nAll throughout the posix-cpu-timers.c code, the calculation of the\nprocess sched_time sum is implemented roughly as:\n\n\tunsigned long long sum;\n\n\tsum \u003d tsk-\u003esignal-\u003esched_time;\n\tt \u003d tsk;\n\tdo {\n\t\tsum +\u003d t-\u003esched_time;\n\t\tt \u003d next_thread(t);\n\t} while (t !\u003d tsk);\n\nIn fact this is the exact scheme used by check_process_timers().\n\nIn the case of check_process_timers(), current-\u003esched_time has just\nbeen updated (via scheduler_tick(), which is invoked by\nupdate_process_times(), which subsequently invokes\nrun_posix_cpu_timers()) So there is no special processing necessary\nwrt. that.\n\nIn other contexts, we have to allot for the fact that tsk-\u003esched_time\nmight be a bit out of date if we are current.  And the\nposix-cpu-timers.c code uses current_sched_time() to deal with that.\n\nUnfortunately it does so in an erroneous and inconsistent manner in\none spot which is what results in the early timer firing.\n\nIn cpu_clock_sample_group_locked(), it does this:\n\n\t\tcpu-\u003esched \u003d p-\u003esignal-\u003esched_time;\n\t\t/* Add in each other live thread.  */\n\t\twhile ((t \u003d next_thread(t)) !\u003d p) {\n\t\t\tcpu-\u003esched +\u003d t-\u003esched_time;\n\t\t}\n\t\tif (p-\u003etgid \u003d\u003d current-\u003etgid) {\n\t\t\t/*\n\t\t\t * We\u0027re sampling ourselves, so include the\n\t\t\t * cycles not yet banked.  We still omit\n\t\t\t * other threads running on other CPUs,\n\t\t\t * so the total can always be behind as\n\t\t\t * much as max(nthreads-1,ncpus) * (NSEC_PER_SEC/HZ).\n\t\t\t */\n\t\t\tcpu-\u003esched +\u003d current_sched_time(current);\n\t\t} else {\n\t\t\tcpu-\u003esched +\u003d p-\u003esched_time;\n\t\t}\n\nThe problem is the \"p-\u003etgid \u003d\u003d current-\u003etgid\" test.  If \"p\" is\nnot current, and the tgids are the same, we will add the process\nt-\u003esched_time twice into cpu-\u003esched and omit \"p\"\u0027s sched_time\nwhich is very very very wrong.\n\nposix-cpu-timers.c has a helper function, sched_ns(p) which takes care\nof this, so my fix is to use that here instead of this special tgid\ntest.\n\nThe fact that current can be one of the sub-threads of \"p\" points out\nthat we could make things a little bit more accurate, perhaps by using\nsched_ns() on every thread we process in these loops.  It also points\nout that we don\u0027t use the most accurate value for threads in the group\nactively running other cpus (and this is mentioned in the comment).\n\nBut that is a future enhancement, and this fix here definitely makes\nsense.\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "0feb9bfcfa3f9bf67a4a1e3f2608700ad73f92ed",
      "tree": "22c71657387b42787bc070502899a881ed909f39",
      "parents": [
        "d8d8f6a4fd635dcc9e4f946394c1fbde85eeab66",
        "ccf18968b1bbc2fb117190a1984ac2a826dac228"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Fri Jan 06 15:25:08 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Fri Jan 06 15:25:08 2006 -0800"
      },
      "message": "Merge master.kernel.org:/pub/scm/linux/kernel/git/gregkh/i2c-2.6\n"
    },
    {
      "commit": "d8d8f6a4fd635dcc9e4f946394c1fbde85eeab66",
      "tree": "0a1bc8ff40c12bb30066467e11ae9153f89514e7",
      "parents": [
        "57d1c91fa6d9146b309b7511f6432dea2a24858b",
        "a2167dc62e9142b9a4bfb20f7e001c0f0a26fd8c"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Fri Jan 06 15:24:28 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Fri Jan 06 15:24:28 2006 -0800"
      },
      "message": "Merge master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6\n"
    },
    {
      "commit": "57d1c91fa6d9146b309b7511f6432dea2a24858b",
      "tree": "d7958dd87eb950cc3eeaf8b32fc372c0e7ff6702",
      "parents": [
        "47853e7fa588bef826c9799a87b33904b32bd905",
        "37193147991a53b2e9f573d0ec47f63a2d4de8dc"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Fri Jan 06 15:23:56 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Fri Jan 06 15:23:56 2006 -0800"
      },
      "message": "Merge git://git.kernel.org/pub/scm/linux/kernel/git/sam/kbuild\n"
    },
    {
      "commit": "47853e7fa588bef826c9799a87b33904b32bd905",
      "tree": "bd7681d1aedf28125b86fb0218e64297f4d71ac9",
      "parents": [
        "221fc10ec89834329e5613e3cab4569ba22da410",
        "9e56904e41e242169007e69d9916059dab995d90"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Fri Jan 06 15:22:57 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Fri Jan 06 15:22:57 2006 -0800"
      },
      "message": "Merge git://git.linux-nfs.org/pub/linux/nfs-2.6\n"
    },
    {
      "commit": "221fc10ec89834329e5613e3cab4569ba22da410",
      "tree": "be6c44c8aab6c548082479b29e62e38c274eb115",
      "parents": [
        "76832c28de4fabbf32fe1e5a25194724a3430070"
      ],
      "author": {
        "name": "Evgeniy",
        "email": "dushistov@mail.ru",
        "time": "Fri Jan 06 21:18:01 2006 +0300"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Fri Jan 06 15:22:28 2006 -0800"
      },
      "message": "[PATCH] fs/ufs: debug mode compilation failure\n\nThis patch should fix compilation failure of fs/ufs/dir.c with defined UFS_DIR_DEBUG\n\nSigned-off-by: Evgeniy Dushistov \u003cdushistov@mail.ru\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "76832c28de4fabbf32fe1e5a25194724a3430070",
      "tree": "af30f03ef07b2532332b53f95f43f93c0ec3553d",
      "parents": [
        "c0e7dcc8bc01d7ea1865e7040a586207d1b34b36"
      ],
      "author": {
        "name": "Dimitri Sivanich",
        "email": "sivanich@sgi.com",
        "time": "Fri Jan 06 11:33:41 2006 -0600"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Fri Jan 06 15:22:28 2006 -0800"
      },
      "message": "[PATCH] shrink mmtimer memory size\n\nThis greatly reduces the amount of memory used by mmtimer on smaller\nmachines with large values of MAX_COMPACT_NODES.\n\nSigned-off-by: Dimitri Sivanich \u003csivanich@sgi.com\u003e\nSigned-off-by: Christoph Lameter \u003cclameter@sgi.com\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "c0e7dcc8bc01d7ea1865e7040a586207d1b34b36",
      "tree": "d142efa236f8dbc4a2f4175899503ac09bf3f356",
      "parents": [
        "d99cf9d679a520d67f81d805b7cb91c68e1847f0"
      ],
      "author": {
        "name": "Adrian Bunk",
        "email": "bunk@stusta.de",
        "time": "Fri Jan 06 18:26:29 2006 +0100"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Fri Jan 06 15:22:28 2006 -0800"
      },
      "message": "[PATCH] MAINTAINERS: remove the outdated DAC960 entry\n\nRandy Dunlap: \"Dave is no longer at OSDL and is no longer maintaining\nthat driver.\"\n\nSigned-off-by: Adrian Bunk \u003cbunk@stusta.de\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "a2167dc62e9142b9a4bfb20f7e001c0f0a26fd8c",
      "tree": "c6f2a4206952e51f765f3e7ef84892746579501c",
      "parents": [
        "76ab608d86cf1ef5c5c46819b5733eb9f9f964f8"
      ],
      "author": {
        "name": "Alexey Dobriyan",
        "email": "adobriyan@gmail.com",
        "time": "Fri Jan 06 13:24:54 2006 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Jan 06 13:24:54 2006 -0800"
      },
      "message": "[NET]: Endian-annotate in_aton()\n\nSigned-off-by: Alexey Dobriyan \u003cadobriyan@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "76ab608d86cf1ef5c5c46819b5733eb9f9f964f8",
      "tree": "aa8d9947a722459a0ae0e54c9391a8de7c59aeee",
      "parents": [
        "5f8ac64b15172c7ced7d7990eb28342092bc751b"
      ],
      "author": {
        "name": "Alexey Dobriyan",
        "email": "adobriyan@gmail.com",
        "time": "Fri Jan 06 13:24:29 2006 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Jan 06 13:24:29 2006 -0800"
      },
      "message": "[NET]: Endian-annotate struct iphdr\n\nAnd fix trivial warnings that emerged.\n\nSigned-off-by: Alexey Dobriyan \u003cadobriyan@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "5f8ac64b15172c7ced7d7990eb28342092bc751b",
      "tree": "63046817c9a6e8db513379337f01289c045a5d63",
      "parents": [
        "69549ddd2f894c4cead50ee2b60cc02990c389ad"
      ],
      "author": {
        "name": "Trent Jaeger",
        "email": "tjaeger@cse.psu.edu",
        "time": "Fri Jan 06 13:22:39 2006 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Jan 06 13:22:39 2006 -0800"
      },
      "message": "[LSM-IPSec]: Corrections to LSM-IPSec Nethooks\n\nThis patch contains two corrections to the LSM-IPsec Nethooks patches\npreviously applied.  \n\n(1) free a security context on a failed insert via xfrm_user \ninterface in xfrm_add_policy.  Memory leak.\n\n(2) change the authorization of the allocation of a security context\nin a xfrm_policy or xfrm_state from both relabelfrom and relabelto \nto setcontext.\n\nSigned-off-by: Trent Jaeger \u003ctjaeger@cse.psu.edu\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "69549ddd2f894c4cead50ee2b60cc02990c389ad",
      "tree": "ecd1f34216814c329330f8374d7cbfb59a024596",
      "parents": [
        "3cbc4ab58f79853740bf21f3736913d223ee50d4"
      ],
      "author": {
        "name": "Luiz Capitulino",
        "email": "lcapitulino@mandriva.com.br",
        "time": "Fri Jan 06 13:19:31 2006 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Jan 06 13:19:31 2006 -0800"
      },
      "message": "[PKTGEN]: Adds missing __init.\n\npktgen_find_thread() and pktgen_create_thread() are only called at\ninitialization time.\n\nSigned-off-by: Luiz Capitulino \u003clcapitulino@mandriva.com.br\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "3cbc4ab58f79853740bf21f3736913d223ee50d4",
      "tree": "6e620bb2332c6af44c8c2824ba95b29ea7c50da8",
      "parents": [
        "ee02b3a613a692a40e0f48a25d9d60cc751ebbe5"
      ],
      "author": {
        "name": "Joe",
        "email": "joecool1029@gmail.com",
        "time": "Fri Jan 06 13:15:11 2006 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Jan 06 13:15:11 2006 -0800"
      },
      "message": "[NETFILTER]: ipt_helper.c needs linux/interrupt.h\n\nFrom: Joe \u003cjoecool1029@gmail.com\u003e\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "ee02b3a613a692a40e0f48a25d9d60cc751ebbe5",
      "tree": "51c034027c96a213ac53cd831dee4cb24fd0ed17",
      "parents": [
        "a20a8554796bc4e28879beabd0db4bf3ce77b686"
      ],
      "author": {
        "name": "Stephen Hemminger",
        "email": "shemminger@osdl.org",
        "time": "Fri Jan 06 13:13:29 2006 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Jan 06 13:13:29 2006 -0800"
      },
      "message": "[BRIDGE] netfilter: vlan + hw checksum \u003d bug?\n\nIt looks like the bridge netfilter code does not correctly update\nthe hardware checksum after popping off the VLAN header.\n\nThis is by inspection, I have *not* tested this.\nTo test you would need to set up a filtering bridge with vlans\nand a device the does hardware receive checksum (skge, or sungem)\n\nSigned-off-by: Stephen Hemminger \u003cshemminger@osdl.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "a20a8554796bc4e28879beabd0db4bf3ce77b686",
      "tree": "2fdc866d3fe722e6eea6b6bb4017b9ab53927a62",
      "parents": [
        "4bad4dc919573dbe9a5b41dd9edff279e99822d7"
      ],
      "author": {
        "name": "Shaun Pereira",
        "email": "pereira.shaun@gmail.com",
        "time": "Fri Jan 06 13:11:35 2006 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Jan 06 13:11:35 2006 -0800"
      },
      "message": "[X25]: Fix for broken x25 module.\n\nWhen a user-space server application calls bind on a socket, then in kernel\nspace this bound socket is considered \u0027x25-linked\u0027 and the SOCK_ZAPPED flag\nis unset.(As in x25_bind()/af_x25.c).\n\nNow when a user-space client application attempts to connect to the server\non the listening socket, if the kernel accepts this in-coming call, then it\nreturns a new socket to userland and attempts to reply to the caller.\n\nThe reply/x25_sendmsg() will fail, because the new socket created on\ncall-accept has its SOCK_ZAPPED flag set by x25_make_new().\n(sock_init_data() called by x25_alloc_socket() called by x25_make_new()\nsets the flag to SOCK_ZAPPED)).\n\nFix: Using the sock_copy_flag() routine available in sock.h fixes this.\n\nTested on 32 and 64 bit kernels with x25 over tcp.\n\nSigned-off-by: Shaun Pereira \u003cpereira.shaun@gmail.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "4bad4dc919573dbe9a5b41dd9edff279e99822d7",
      "tree": "530b791512cfd2f310c5806d109242bccf090fd7",
      "parents": [
        "dbbc0988288d9643044e8bd8c7e7de70016ecd23"
      ],
      "author": {
        "name": "Kris Katterjohn",
        "email": "kjak@ispwest.com",
        "time": "Fri Jan 06 13:08:20 2006 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Jan 06 13:08:20 2006 -0800"
      },
      "message": "[NET]: Change sk_run_filter()\u0027s return type in net/core/filter.c\n\nIt should return an unsigned value, and fix sk_filter() as well.\n\nSigned-off-by: Kris Katterjohn \u003ckjak@ispwest.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "dbbc0988288d9643044e8bd8c7e7de70016ecd23",
      "tree": "6e3175bf90bb9702be4fe631b1db36f850cf4249",
      "parents": [
        "d99cf9d679a520d67f81d805b7cb91c68e1847f0"
      ],
      "author": {
        "name": "Kris Katterjohn",
        "email": "kjak@users.sourceforge.net",
        "time": "Fri Jan 06 13:05:58 2006 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Jan 06 13:05:58 2006 -0800"
      },
      "message": "[NET]: Use newer is_multicast_ether_addr() in some files\n\nThis uses is_multicast_ether_addr() because it has recently been\nchanged to do the same thing these seperate tests are doing.\n\nSigned-off-by: Kris Katterjohn \u003ckjak@users.sourceforge.net\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "ccf18968b1bbc2fb117190a1984ac2a826dac228",
      "tree": "7bc8fbf5722aecf1e84fa50c31c657864cba1daa",
      "parents": [
        "e91c021c487110386a07facd0396e6c3b7cf9c1f",
        "d99cf9d679a520d67f81d805b7cb91c68e1847f0"
      ],
      "author": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Fri Jan 06 12:59:59 2006 -0800"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Fri Jan 06 12:59:59 2006 -0800"
      },
      "message": "Merge ../torvalds-2.6/\n"
    },
    {
      "commit": "37193147991a53b2e9f573d0ec47f63a2d4de8dc",
      "tree": "8f1464d143b94fddf8c3ff47119def45f37d2d45",
      "parents": [
        "367cb704212cd0c9273ba2b1e62523139210563b"
      ],
      "author": {
        "name": "Adrian Bunk",
        "email": "bunk@stusta.de",
        "time": "Mon Jan 02 11:25:30 2006 +0100"
      },
      "committer": {
        "name": "Sam Ravnborg",
        "email": "sam@mars.ravnborg.org",
        "time": "Fri Jan 06 21:49:31 2006 +0100"
      },
      "message": "kconfig: fix gconfig with POSIXLY_CORRECT\u003d1\n\nThis patch fixed \"make gconfig\" with POSIXLY_CORRECT\u003d1 set.\n\nThis issue was reported by Jens Elkner \u003celkner@linofee.org\u003e in kernel\nBugzilla #2919.\n\nSigned-off-by: Adrian Bunk \u003cbunk@stusta.de\u003e\nSigned-off-by: Sam Ravnborg \u003csam@ravnborg.org\u003e\n"
    },
    {
      "commit": "367cb704212cd0c9273ba2b1e62523139210563b",
      "tree": "cda6402ea19e2b706ad8ac9a186f1e391ab3c6ea",
      "parents": [
        "20ede2741551d4a1d24313292beb0da915a55911"
      ],
      "author": {
        "name": "Sam Ravnborg",
        "email": "sam@mars.ravnborg.org",
        "time": "Fri Jan 06 21:17:50 2006 +0100"
      },
      "committer": {
        "name": "Sam Ravnborg",
        "email": "sam@mars.ravnborg.org",
        "time": "Fri Jan 06 21:17:50 2006 +0100"
      },
      "message": "kbuild: un-stringnify KBUILD_MODNAME\n\nNow when kbuild passes KBUILD_MODNAME with \"\" do not __stringify it when\nused. Remove __stringnify for all users.\nThis also fixes the output of:\n\n$ ls -l /sys/module/\ndrwxr-xr-x 4 root root 0 2006-01-05 14:24 pcmcia\ndrwxr-xr-x 4 root root 0 2006-01-05 14:24 pcmcia_core\ndrwxr-xr-x 3 root root 0 2006-01-05 14:24 \"processor\"\ndrwxr-xr-x 3 root root 0 2006-01-05 14:24 \"psmouse\"\n\nThe quoting of the module names will be gone again.\nThanks to GregKH + Kay Sievers for reproting this.\n\nSigned-off-by: Sam Ravnborg \u003csam@ravnborg.org\u003e\n"
    },
    {
      "commit": "9e56904e41e242169007e69d9916059dab995d90",
      "tree": "93078abbe0b10b9889c925b92e560111951f49f1",
      "parents": [
        "42181d4bafe9047d0cd7f92fc11d79496bd95034"
      ],
      "author": {
        "name": "J. Bruce Fields",
        "email": "bfields@fieldses.org",
        "time": "Tue Jan 03 09:56:01 2006 +0100"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Fri Jan 06 14:59:00 2006 -0500"
      },
      "message": "SUNRPC: Make krb5 report unsupported encryption types\n\n Print messages when an unsupported encrytion algorthm is requested or\n there is an error locating a supported algorthm.\n\n Signed-off-by: Kevin Coffman \u003ckwc@citi.umich.edu\u003e\n Signed-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\n Signed-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "42181d4bafe9047d0cd7f92fc11d79496bd95034",
      "tree": "70140df490e0c1ffa775423b1b76ab7d3dd62af2",
      "parents": [
        "9eed129bbde80cbd7ffeacaa1555ba1e0c9a0997"
      ],
      "author": {
        "name": "J. Bruce Fields",
        "email": "bfields@fieldses.org",
        "time": "Tue Jan 03 09:56:01 2006 +0100"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Fri Jan 06 14:58:59 2006 -0500"
      },
      "message": "SUNRPC: Make spkm3 report unsupported encryption types\n\n Print messages when an unsupported encrytion algorthm is requested or\n there is an error locating a supported algorthm.\n\n Signed-off-by: Kevin Coffman \u003ckwc@citi.umich.edu\u003e\n Signed-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\n Signed-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "9eed129bbde80cbd7ffeacaa1555ba1e0c9a0997",
      "tree": "49066f9b5321e09cf9696e5b69d454bf1e393eb0",
      "parents": [
        "26c78e156b1d1b2387ec33b5f2fb62d6e0a186a3"
      ],
      "author": {
        "name": "J. Bruce Fields",
        "email": "bfields@fieldses.org",
        "time": "Tue Jan 03 09:56:00 2006 +0100"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Fri Jan 06 14:58:59 2006 -0500"
      },
      "message": "SUNRPC: Update the spkm3 code to use the make_checksum interface\n\n Also update the tokenlen calculations to accomodate g_token_size().\n\n Signed-off-by: Andy Adamson \u003candros@citi.umich.edu\u003e\n Signed-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\n Signed-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "26c78e156b1d1b2387ec33b5f2fb62d6e0a186a3",
      "tree": "fdbcdc6baa25af41d6935eebd537997fa24bf495",
      "parents": [
        "58df095b732529ade8f4051b41d7c29731afecd6"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Tue Jan 03 09:55:58 2006 +0100"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Fri Jan 06 14:58:58 2006 -0500"
      },
      "message": "NFSv4: Fix an Oops in nfs_do_expire_all_delegations\n\n If the loop errors, we need to exit.\n\n Signed-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "58df095b732529ade8f4051b41d7c29731afecd6",
      "tree": "917819b96bac91e5daea7a31eb6eba66268952d9",
      "parents": [
        "0065db328533c390fbfb0fe0c46bcf9a278fb99e"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Tue Jan 03 09:55:57 2006 +0100"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Fri Jan 06 14:58:58 2006 -0500"
      },
      "message": "NFSv4: Allow entries in the idmap cache to expire\n\n If someone changes the uid/gid mapping in userland, then we do eventually\n want those changes to be propagated to the kernel. Currently the kernel\n assumes that it may cache entries forever.\n\n Add an expiration time + garbage collector for idmap entries.\n\n Signed-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "0065db328533c390fbfb0fe0c46bcf9a278fb99e",
      "tree": "3ef282aa05653857007760ce15a4119f198f8320",
      "parents": [
        "632e3bdc5006334cea894d078660b691685e1075"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Tue Jan 03 09:55:56 2006 +0100"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Fri Jan 06 14:58:58 2006 -0500"
      },
      "message": "SUNRPC: Clean up xprt_destroy()\n\n We ought never to be calling xprt_destroy() if there are still active\n rpc_tasks. Optimise away the broken code that attempts to \"fix\" that case.\n\n Signed-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "632e3bdc5006334cea894d078660b691685e1075",
      "tree": "c18dbe84dfe679d19a581ea0c9bfb931daa08917",
      "parents": [
        "eadb8c147154bff982f02accf31b847a1f142ace"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Tue Jan 03 09:55:55 2006 +0100"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Fri Jan 06 14:58:57 2006 -0500"
      },
      "message": "SUNRPC: Ensure client closes the socket when server initiates a close\n\n If the server decides to close the RPC socket, we currently don\u0027t actually\n respond until either another RPC call is scheduled, or until xprt_autoclose()\n gets called by the socket expiry timer (which may be up to 5 minutes\n later).\n\n This patch ensures that xprt_autoclose() is called much sooner if the\n server closes the socket.\n\n Signed-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "eadb8c147154bff982f02accf31b847a1f142ace",
      "tree": "875b2cefb6a5a96dcfc956b268128d3b37f9b0d2",
      "parents": [
        "cf3fff54a46e1f8fa4cc1deb783172a392077eb0"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Tue Jan 03 09:55:54 2006 +0100"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Fri Jan 06 14:58:57 2006 -0500"
      },
      "message": "NFS: get rid of some needless code obfuscation in xdr_encode_sattr().\n\n Signed-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "cf3fff54a46e1f8fa4cc1deb783172a392077eb0",
      "tree": "9dc139601f2227abfa4a8efdf996f765fbbdad60",
      "parents": [
        "f518e35aec984036903c1003e867f833747a9d79"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Tue Jan 03 09:55:53 2006 +0100"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Fri Jan 06 14:58:57 2006 -0500"
      },
      "message": "NFS: Send valid mode bits to the server\n\n inode-\u003ei_mode contains a lot more than just the mode bits. Make sure that\n we mask away this extra stuff in SETATTR calls to the server.\n\n Signed-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "f518e35aec984036903c1003e867f833747a9d79",
      "tree": "2697838e0b1e6cc80565204de8b46430ded1246a",
      "parents": [
        "922004120b10dcb0ce04b55014168e8a7a8c1a0e"
      ],
      "author": {
        "name": "Chuck Lever",
        "email": "cel@netapp.com",
        "time": "Tue Jan 03 09:55:52 2006 +0100"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Fri Jan 06 14:58:56 2006 -0500"
      },
      "message": "SUNRPC: get rid of cl_chatty\n\n Clean up: Every ULP that uses the in-kernel RPC client, except the NLM\n client, sets cl_chatty.  There\u0027s no reason why NLM shouldn\u0027t set it, so\n just get rid of cl_chatty and always be verbose.\n\n Test-plan:\n Compile with CONFIG_NFS enabled.\n\n Signed-off-by: Chuck Lever \u003ccel@netapp.com\u003e\n Signed-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "922004120b10dcb0ce04b55014168e8a7a8c1a0e",
      "tree": "4209bbd1043d9ddf09f2f277a65af758aa3631da",
      "parents": [
        "35f5a422ce1af836007f811b613c440d0e348e06"
      ],
      "author": {
        "name": "Chuck Lever",
        "email": "cel@netapp.com",
        "time": "Tue Jan 03 09:55:51 2006 +0100"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Fri Jan 06 14:58:56 2006 -0500"
      },
      "message": "SUNRPC: transport switch API for setting port number\n\n At some point, transport endpoint addresses will no longer be IPv4.  To hide\n the structure of the rpc_xprt\u0027s address field from ULPs and port mappers,\n add an API for setting the port number during an RPC bind operation.\n\n Test-plan:\n Destructive testing (unplugging the network temporarily).  Connectathon\n with UDP and TCP.  NFSv2/3 and NFSv4 mounting should be carefully checked.\n Probably need to rig a server where certain services aren\u0027t running, or\n that returns an error for some typical operation.\n\n Signed-off-by: Chuck Lever \u003ccel@netapp.com\u003e\n Signed-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "35f5a422ce1af836007f811b613c440d0e348e06",
      "tree": "25aac5cccce27a6ed5ebb4e161f813af2adbaf56",
      "parents": [
        "02107148349f31eee7c0fb06fd7a880df73dbd20"
      ],
      "author": {
        "name": "Chuck Lever",
        "email": "cel@netapp.com",
        "time": "Tue Jan 03 09:55:50 2006 +0100"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Fri Jan 06 14:58:56 2006 -0500"
      },
      "message": "SUNRPC: new interface to force an RPC rebind\n\n We\u0027d like to hide fields in rpc_xprt and rpc_clnt from upper layer protocols.\n Start by creating an API to force RPC rebind, replacing logic that simply\n sets cl_port to zero.\n\n Test-plan:\n Destructive testing (unplugging the network temporarily).  Connectathon\n with UDP and TCP.  NFSv2/3 and NFSv4 mounting should be carefully checked.\n Probably need to rig a server where certain services aren\u0027t running, or\n that returns an error for some typical operation.\n\n Signed-off-by: Chuck Lever \u003ccel@netapp.com\u003e\n Signed-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "02107148349f31eee7c0fb06fd7a880df73dbd20",
      "tree": "37bffd81e08b8e50394ce89a1aa7a3961f0ffbe7",
      "parents": [
        "03c21733938aad0758f5f88e1cc7ede69fc3c910"
      ],
      "author": {
        "name": "Chuck Lever",
        "email": "cel@netapp.com",
        "time": "Tue Jan 03 09:55:49 2006 +0100"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Fri Jan 06 14:58:55 2006 -0500"
      },
      "message": "SUNRPC: switchable buffer allocation\n\n Add RPC client transport switch support for replacing buffer management\n on a per-transport basis.\n\n In the current IPv4 socket transport implementation, RPC buffers are\n allocated as needed for each RPC message that is sent.  Some transport\n implementations may choose to use pre-allocated buffers for encoding,\n sending, receiving, and unmarshalling RPC messages, however.  For\n transports capable of direct data placement, the buffers can be carved\n out of a pre-registered area of memory rather than from a slab cache.\n\n Test-plan:\n Millions of fsx operations.  Performance characterization with \"sio\" and\n \"iozone\".  Use oprofile and other tools to look for significant regression\n in CPU utilization.\n\n Signed-off-by: Chuck Lever \u003ccel@netapp.com\u003e\n Signed-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "03c21733938aad0758f5f88e1cc7ede69fc3c910",
      "tree": "d6e7295cb3d325d1de975eb072b363212ba1f6e6",
      "parents": [
        "a659753ecc66945e9c69823fcbbe222b446c66d7"
      ],
      "author": {
        "name": "J. Bruce Fields",
        "email": "bfields@fieldses.org",
        "time": "Tue Jan 03 09:55:48 2006 +0100"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Fri Jan 06 14:58:55 2006 -0500"
      },
      "message": "NFSv3: try get_root user-supplied security_flavor\n\n Thanks to Ed Keizer for bug and root cause.  He says: \"... we could only mount\n the top-level Solaris share. We could not mount deeper into the tree.\n Investigation showed that Solaris allows UNIX authenticated FSINFO only on the\n top level of the share. This is a problem because we share/export our home\n directories one level higher than we mount them. I.e. we share the partition\n and not the individual home directories. This prevented access to home\n directories.\"\n\n We still may need to try auth_sys for the case where the client doesn\u0027t have\n appropriate credentials.\n\n Signed-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\n Signed-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "a659753ecc66945e9c69823fcbbe222b446c66d7",
      "tree": "2f52a68f46f9ac73819fb8afa0c290ea85f3dc2f",
      "parents": [
        "64a318ee2af9000df482d7a125c3b3e1f1007404"
      ],
      "author": {
        "name": "J. Bruce Fields",
        "email": "bfields@fieldses.org",
        "time": "Tue Jan 03 09:55:46 2006 +0100"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Fri Jan 06 14:58:54 2006 -0500"
      },
      "message": "NLM: fix parsing of sm notify procedure\n\n The procedure that decodes statd sm_notify call seems to be skipping a\n few arguments.  How did this ever work?\n\n \u003eFrom folks at Polyserve.\n\n Signed-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\n Signed-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "64a318ee2af9000df482d7a125c3b3e1f1007404",
      "tree": "7b39e558cccce484635dc847a016bbcb5e83abdb",
      "parents": [
        "2c5acd2e1a73cad59203a1bace21e6b03f2920a9"
      ],
      "author": {
        "name": "J. Bruce Fields",
        "email": "bfields@fieldses.org",
        "time": "Tue Jan 03 09:55:46 2006 +0100"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Fri Jan 06 14:58:54 2006 -0500"
      },
      "message": "NLM: Further cancel fixes\n\n If the server receives an NLM cancel call and finds no waiting lock to\n cancel, then chances are the lock has already been applied, and the client\n just hadn\u0027t yet processed the NLM granted callback before it sent the\n cancel.\n\n The Open Group text, for example, perimts a server to return either success\n (LCK_GRANTED) or failure (LCK_DENIED) in this case.  But returning an error\n seems more helpful; the client may be able to use it to recognize that a\n race has occurred and to recover from the race.\n\n So, modify the relevant functions to return an error in this case.\n\n Signed-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\n Signed-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "2c5acd2e1a73cad59203a1bace21e6b03f2920a9",
      "tree": "8fbd8725f4ca96c1d77d3c00a5756beaf5fa8abc",
      "parents": [
        "5996a298da43a03081e9ba2116983d173001c862"
      ],
      "author": {
        "name": "J. Bruce Fields",
        "email": "bfields@fieldses.org",
        "time": "Tue Jan 03 09:55:45 2006 +0100"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Fri Jan 06 14:58:54 2006 -0500"
      },
      "message": "NLM: clean up nlmsvc_delete_block\n\n The fl_next check here is superfluous (and possibly a layering violation).\n\n Signed-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\n Signed-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "5996a298da43a03081e9ba2116983d173001c862",
      "tree": "533a3289102051cc3e033eff5730301776e64d31",
      "parents": [
        "f232142cc21127c829559923eb405d1bcb2e2278"
      ],
      "author": {
        "name": "J. Bruce Fields",
        "email": "bfields@fieldses.org",
        "time": "Tue Jan 03 09:55:44 2006 +0100"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Fri Jan 06 14:58:53 2006 -0500"
      },
      "message": "NLM: don\u0027t unlock on cancel requests\n\n Currently when lockd gets an NLM_CANCEL request, it also does an unlock for\n the same range.  This is incorrect.\n\n The Open Group documentation says that \"This procedure cancels an\n *outstanding* blocked lock request.\"  (Emphasis mine.)\n\n Also, consider a client that holds a lock on the first byte of a file, and\n requests a lock on the entire file.  If the client cancels that request\n (perhaps because the requesting process is signalled), the server shouldn\u0027t\n apply perform an unlock on the entire file, since that will also remove the\n previous lock that the client was already granted.\n\n Or consider a lock request that actually *downgraded* an exclusive lock to\n a shared lock.\n\n Signed-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\n Signed-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "f232142cc21127c829559923eb405d1bcb2e2278",
      "tree": "4ac11e21c008a26b6e9e5ad3ac4db8b2920534a9",
      "parents": [
        "fb459f45f7c7689714023d41b3dca999bb90a5d3"
      ],
      "author": {
        "name": "J. Bruce Fields",
        "email": "bfields@fieldses.org",
        "time": "Tue Jan 03 09:55:42 2006 +0100"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Fri Jan 06 14:58:53 2006 -0500"
      },
      "message": "NLM: Clean up nlmsvc_grant_reply locking\n\n Slightly simpler logic here makes it more trivial to verify that the up\u0027s\n and down\u0027s are balanced here.  Break out an assignment from a conditional\n while we\u0027re at it.\n\n Signed-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\n Signed-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "fb459f45f7c7689714023d41b3dca999bb90a5d3",
      "tree": "5352bfb2157ad3edfd617e721a3c32e8617b4757",
      "parents": [
        "a72b44222d222749d54b3e370d825094352e389f"
      ],
      "author": {
        "name": "Adrian Bunk",
        "email": "bunk@stusta.de",
        "time": "Tue Jan 03 09:55:41 2006 +0100"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Fri Jan 06 14:58:53 2006 -0500"
      },
      "message": "SUNRPC: net/sunrpc/xdr.c: remove xdr_decode_string()\n\n This patch removes ths unused function xdr_decode_string().\n\nSigned-off-by: Adrian Bunk \u003cbunk@stusta.de\u003e\nAcked-by: Neil Brown \u003cneilb@suse.de\u003e\nAcked-by: Charles Lever \u003cCharles.Lever@netapp.com\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "a72b44222d222749d54b3e370d825094352e389f",
      "tree": "d64815b696d207927a4154a2cbc649552708c6f2",
      "parents": [
        "a895b4a198dd06f8353328867e4f6cfd28b63081"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Tue Jan 03 09:55:41 2006 +0100"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Fri Jan 06 14:58:52 2006 -0500"
      },
      "message": "NFSv4: Allow user to set the port used by the NFSv4 callback channel\n\n Signed-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "a895b4a198dd06f8353328867e4f6cfd28b63081",
      "tree": "88a20d173f39170f40e03eede9103f3b0e10b980",
      "parents": [
        "fa178f29c0f8a0dce748181a5351f4a92fd4f455"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Tue Jan 03 09:55:40 2006 +0100"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Fri Jan 06 14:58:52 2006 -0500"
      },
      "message": "NFS: Clean up weak cache consistency code\n\n ...and ensure that nfs_update_inode() respects wcc\n\n Signed-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "fa178f29c0f8a0dce748181a5351f4a92fd4f455",
      "tree": "07de5ced8d16d832ebed98c58a2c0498affa12db",
      "parents": [
        "beb2a5ec386e5ce6891ebd1c06b913da04354b40"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Tue Jan 03 09:55:38 2006 +0100"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Fri Jan 06 14:58:51 2006 -0500"
      },
      "message": "NFSv4: Ensure DELEGRETURN returns attributes\n\n Upon return of a write delegation, the server will almost always bump the\n change attribute. Ensure that we pick up that change so that we don\u0027t\n invalidate our data cache unnecessarily.\n\n Signed-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "beb2a5ec386e5ce6891ebd1c06b913da04354b40",
      "tree": "370e0065936e5739de638389af6c85ee960a6b28",
      "parents": [
        "969b7f2522c90dfed5d0d2553a91522bda2c3bf3"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Tue Jan 03 09:55:37 2006 +0100"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Fri Jan 06 14:58:51 2006 -0500"
      },
      "message": "NFSv4: Ensure change attribute returned by GETATTR callback conforms to spec\n\n According to RFC3530 we\u0027re supposed to cache the change attribute\n at the time the client receives a write delegation.\n If the inode is clean, a CB_GETATTR callback by the server to the\n client is supposed to return the cached change attribute.\n If, OTOH, the inode is dirty, the client should bump the cached\n change attribute by 1.\n\n Signed-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "969b7f2522c90dfed5d0d2553a91522bda2c3bf3",
      "tree": "762dddd9aa1bce49c85ea2ec5db3440938242e6e",
      "parents": [
        "566dd6064e89b15ff2dec666a421bebf0f98f26c"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Tue Jan 03 09:55:36 2006 +0100"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Fri Jan 06 14:58:51 2006 -0500"
      },
      "message": "SUNRPC: Fix a potential race in rpc_pipefs.\n\n Signed-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "566dd6064e89b15ff2dec666a421bebf0f98f26c",
      "tree": "45ccdc3084c56557ba5baeae771be7c1e0564ae5",
      "parents": [
        "70b9ecbdb9c5fdc731f8780bffd45d9519020c4a"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Tue Jan 03 09:55:35 2006 +0100"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Fri Jan 06 14:58:50 2006 -0500"
      },
      "message": "NFS: Make directIO aware of compound pages...\n\n ...and avoid calling set_page_dirty on them\n\n Signed-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "70b9ecbdb9c5fdc731f8780bffd45d9519020c4a",
      "tree": "4678182bd417945cd424a652396510bc53eff8b7",
      "parents": [
        "24174119c73983d5217da8f56a12c79a9b57e056"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Tue Jan 03 09:55:34 2006 +0100"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Fri Jan 06 14:58:50 2006 -0500"
      },
      "message": "NFS: Make stat() return updated mtimes after a write()\n\n The SuS states that a call to write() will cause mtime to be updated on\n the file. In order to satisfy that requirement, we need to flush out\n any cached writes in nfs_getattr().\n Speed things up slightly by not committing the writes.\n\n Signed-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "24174119c73983d5217da8f56a12c79a9b57e056",
      "tree": "38904c36afc94c6833cb9296c705e654ff286e43",
      "parents": [
        "40859d7ee64ed6bfad8a4e93f9bb5c1074afadff"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Tue Jan 03 09:55:33 2006 +0100"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Fri Jan 06 14:58:50 2006 -0500"
      },
      "message": "NFSv4: Ensure that we return the delegation on the target of a rename too.\n\n Signed-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "40859d7ee64ed6bfad8a4e93f9bb5c1074afadff",
      "tree": "ed4069423c3d6551035d5b6116f50452cdac4103",
      "parents": [
        "325cfed9ae901320e9234b18c21434b783dbe342"
      ],
      "author": {
        "name": "Chuck Lever",
        "email": "cel@netapp.com",
        "time": "Wed Nov 30 18:09:02 2005 -0500"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Fri Jan 06 14:58:49 2006 -0500"
      },
      "message": "NFS: support large reads and writes on the wire\n\n Most NFS server implementations allow up to 64KB reads and writes on the\n wire.  The Solaris NFS server allows up to a megabyte, for instance.\n\n Now the Linux NFS client supports transfer sizes up to 1MB, too.  This will\n help reduce protocol and context switch overhead on read/write intensive NFS\n workloads, and support larger atomic read and write operations on servers\n that support them.\n\n Test-plan:\n Connectathon and iozone on mount point with wsize\u003drsize\u003e32768 over TCP.\n Tests with NFS over UDP to verify the maximum RPC payload size cap.\n\n Signed-off-by: Chuck Lever \u003ccel@netapp.com\u003e\n Signed-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "325cfed9ae901320e9234b18c21434b783dbe342",
      "tree": "4c842a04bbb20427b2cf6a40a28fdbddf96bbae3",
      "parents": [
        "dc20f803904dbf30f834dcc43c14701dfce32491"
      ],
      "author": {
        "name": "Chuck Lever",
        "email": "cel@netapp.com",
        "time": "Wed Nov 30 18:08:55 2005 -0500"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Fri Jan 06 14:58:49 2006 -0500"
      },
      "message": "NFS: make \"inode number mismatch\" message more useful\n\n To help NFS users and server developers, make the \"inode number mismatch\"\n message display more useful information.\n\n Test-plan:\n None.\n\n Signed-off-by: Chuck Lever \u003ccel@netapp.com\u003e\n Signed-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "dc20f803904dbf30f834dcc43c14701dfce32491",
      "tree": "27d12ce7f8c7455501c93198d194824a346ce2ad",
      "parents": [
        "a911fd9a6046200e439b4af172e8379c0942eec3"
      ],
      "author": {
        "name": "Chuck Lever",
        "email": "cel@netapp.com",
        "time": "Wed Nov 30 18:08:57 2005 -0500"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Fri Jan 06 14:58:48 2006 -0500"
      },
      "message": "NFS: get rid of useless kernel log message\n\n nfs_statfs() generates a log message when GETATTR returns an error.  This\n is usually a useless message.  Make it a dprintk.\n\n Test plan:\n None\n\n Signed-off-by: Chuck Lever \u003ccel@netapp.com\u003e\n Signed-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "a911fd9a6046200e439b4af172e8379c0942eec3",
      "tree": "f67582f100edef03085705fc919b4b068775d57a",
      "parents": [
        "6b59a75460eb9527145d7bd55068e5d32bee8a44"
      ],
      "author": {
        "name": "Chuck Lever",
        "email": "cel@netapp.com",
        "time": "Wed Nov 30 18:08:59 2005 -0500"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Fri Jan 06 14:58:48 2006 -0500"
      },
      "message": "NFS: simplify inlined bit ops in nfs_page.h\n\n Minor cleanup:  inlined bit ops in nfs_page.h can be simpler.\n\n Test plan:\n Write-intensive workload against a server that requires COMMITs.\n\n Signed-off-by: Chuck Lever \u003ccel@netapp.com\u003e\n Signed-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "6b59a75460eb9527145d7bd55068e5d32bee8a44",
      "tree": "e813365a2bdc3605fbc6580d05189b8878185ef6",
      "parents": [
        "ce1a8e6796150233f5098100f70217521dc7c08f"
      ],
      "author": {
        "name": "Chuck Lever",
        "email": "cel@netapp.com",
        "time": "Wed Nov 30 18:08:19 2005 -0500"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Fri Jan 06 14:58:48 2006 -0500"
      },
      "message": "NFS: Fix error recovery code in fs/nfs/inode.c:__init_nfs()\n\n Red Hat found a problem in the error recovery logic in __init_nfs.\n\n Signed-off-by: Chuck Lever \u003ccel@netapp.com\u003e\n Signed-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "ce1a8e6796150233f5098100f70217521dc7c08f",
      "tree": "439d2abd246e051c43d1cdb7ee3b77b8864fd2b3",
      "parents": [
        "286d7d6a0cb38d3d4316a1dfea9b0c0fc5a6455b"
      ],
      "author": {
        "name": "Chuck Lever",
        "email": "cel@netapp.com",
        "time": "Wed Nov 30 18:08:17 2005 -0500"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Fri Jan 06 14:58:47 2006 -0500"
      },
      "message": "NFS: use generic_write_checks() to sanity check direct writes\n\n Replace ad hoc write parameter sanity checking in nfs_file_direct_write()\n with a call to generic_write_checks().  This should make the proper checks\n modulo the O_LARGEFILE flag, and should catch NFSv2-specific limitations by\n virtue of i_sb-\u003es_maxbytes.\n\n Test plan:\n Posix compliance testing with both NFSv2 and NFSv3.\n\n Signed-off-by: Chuck Lever \u003ccel@netapp.com\u003e\n Signed-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "286d7d6a0cb38d3d4316a1dfea9b0c0fc5a6455b",
      "tree": "844ea8a14db8261a3977ae4d460e227402a4a426",
      "parents": [
        "b4454fe1a7cb76a248d0641c9d68a44a1b8d9a1f"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Tue Jan 03 09:55:26 2006 +0100"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Fri Jan 06 14:58:47 2006 -0500"
      },
      "message": "NFSv4: Remove requirement for machine creds for the \"setclientid\" operation\n\n Use a cred from the nfs4_client-\u003ecl_state_owners list.\n\n Signed-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "b4454fe1a7cb76a248d0641c9d68a44a1b8d9a1f",
      "tree": "50ddc265e9700b1924e45ffce0f4583ba1013177",
      "parents": [
        "58d9714a44a79bba9b414da3ffbf3c753dc5915f"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Tue Jan 03 09:55:25 2006 +0100"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Fri Jan 06 14:58:47 2006 -0500"
      },
      "message": "NFSv4: Remove requirement for machine creds for the \"renew\" operation\n\n In RFC3530, the RENEW operation is allowed to use either\n\n the same principal, RPC security flavour and (if RPCSEC_GSS), the same\n  mechanism and service that was used for SETCLIENTID_CONFIRM\n\n OR\n\n Any principal, RPC security flavour and service combination that\n currently has an OPEN file on the server.\n\n Choose the latter since that doesn\u0027t require us to keep credentials for\n the same principal for the entire duration of the mount.\n\n Signed-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "58d9714a44a79bba9b414da3ffbf3c753dc5915f",
      "tree": "623141f0a40a470c0c81c2edcd8c45c6b0daf4f9",
      "parents": [
        "5043e900f5404c01864fbeb5826aa7de3981bbc1"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Tue Jan 03 09:55:24 2006 +0100"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Fri Jan 06 14:58:46 2006 -0500"
      },
      "message": "NFSv4: Send RENEW requests to the server only when we\u0027re holding state\n\n Signed-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "5043e900f5404c01864fbeb5826aa7de3981bbc1",
      "tree": "eaefbbcfd6afb79cc1ad8c9beed49cc56d9ecd53",
      "parents": [
        "433fbe4c8837e3cc2ba6a6374edf28737d01a2e9"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Tue Jan 03 09:55:23 2006 +0100"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Fri Jan 06 14:58:46 2006 -0500"
      },
      "message": "NFS: Convert instances of kernel_thread() to kthread()\n\n Convert private implementations in NFSv4 state recovery and delegation\n code to use kthreads.\n\n Signed-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "433fbe4c8837e3cc2ba6a6374edf28737d01a2e9",
      "tree": "9448a58eafca388efaab5d3653c818fe60a4450d",
      "parents": [
        "26e976a884be9aa08f8ff906372f25f68df0d948"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Tue Jan 03 09:55:22 2006 +0100"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Fri Jan 06 14:58:45 2006 -0500"
      },
      "message": "NFSv4: State recovery cleanup\n\n Use wait_on_bit() when waiting for state recovery to complete.\n\n Signed-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "26e976a884be9aa08f8ff906372f25f68df0d948",
      "tree": "ef675345b5c6126dca86699e077b75a375b504b9",
      "parents": [
        "2bd615797ef32ec06ef0ee44198a7aecc21ffd8c"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Tue Jan 03 09:55:21 2006 +0100"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Fri Jan 06 14:58:45 2006 -0500"
      },
      "message": "NFSv4: OPEN/LOCK/LOCKU/CLOSE will automatically renew the NFSv4 lease\n\n Cut down on the number of unnecessary RENEW requests on the wire.\n\n Signed-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "2bd615797ef32ec06ef0ee44198a7aecc21ffd8c",
      "tree": "5ef07d09b9e3674dffce1a24dfb46e6d23410a72",
      "parents": [
        "fe650407a86823bcafbfbee96c7bc6a1b5cd1c76"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Tue Jan 03 09:55:19 2006 +0100"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Fri Jan 06 14:58:45 2006 -0500"
      },
      "message": "SUNRPC: Ensure that SIGKILL will always terminate a synchronous RPC call.\n\n ...and make sure that the \"intr\" flag also enables SIGHUP and SIGTERM to\n interrupt RPC calls too (as per the Solaris implementation).\n\n Signed-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "fe650407a86823bcafbfbee96c7bc6a1b5cd1c76",
      "tree": "38e899d40fabba538bb558c0dcc3d38f830beadb",
      "parents": [
        "a5d16a4d090bd2af86e648ed9bb205903fcf1e86"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Tue Jan 03 09:55:18 2006 +0100"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Fri Jan 06 14:58:44 2006 -0500"
      },
      "message": "NFSv4: Make DELEGRETURN an interruptible operation.\n\n Signed-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "a5d16a4d090bd2af86e648ed9bb205903fcf1e86",
      "tree": "9fd615f3991e50d07583010d9703a3d1aced8419",
      "parents": [
        "911d1aaf26fc4d771174d98fcab710a44e2a5fa0"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Tue Jan 03 09:55:17 2006 +0100"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Fri Jan 06 14:58:44 2006 -0500"
      },
      "message": "NFSv4: Convert LOCK rpc call into an asynchronous RPC call\n\n In order to allow users to interrupt/cancel it.\n\n Signed-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "911d1aaf26fc4d771174d98fcab710a44e2a5fa0",
      "tree": "e16df0f68093d2dc0abd5f55c2d46ff7705fffb8",
      "parents": [
        "864472e9b8fa76ffaad17dfcb84d79e16df6828c"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Tue Jan 03 09:55:16 2006 +0100"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Fri Jan 06 14:58:44 2006 -0500"
      },
      "message": "NFSv4: locking XDR cleanup\n\n Get rid of some unnecessary intermediate structures\n\n Signed-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "864472e9b8fa76ffaad17dfcb84d79e16df6828c",
      "tree": "1cc5c4624c36be0b9aebdabae30d1a5385e04dee",
      "parents": [
        "e761692381f294ea079d2e869fcd7c0afc79e394"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Tue Jan 03 09:55:15 2006 +0100"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Fri Jan 06 14:58:43 2006 -0500"
      },
      "message": "NFSv4: Make open recovery track O_RDWR, O_RDONLY and O_WRONLY correctly\n\n When recovering from a delegation recall or a network partition, we need\n to replay open(O_RDWR), open(O_RDONLY) and open(O_WRONLY) separately.\n\n Signed-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "e761692381f294ea079d2e869fcd7c0afc79e394",
      "tree": "34ebc00c001cddc94866936c460547d311e5dabb",
      "parents": [
        "cdd4e68b5f0ed12c64b3e2be83655d2a47588a74"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Tue Jan 03 09:55:13 2006 +0100"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Fri Jan 06 14:58:43 2006 -0500"
      },
      "message": "NFSv4: Make nfs4_state track O_RDWR, O_RDONLY and O_WRONLY separately\n\n A closer reading of RFC3530 reveals that OPEN_DOWNGRADE must always\n specify a access modes that have been the argument of a previous OPEN\n operation.\n IOW: doing OPEN(O_RDWR) and then OPEN_DOWNGRADE(O_WRONLY) is forbidden\n unless the user called OPEN(O_WRONLY)\n\n In order to fix that, we really need to track the three possible open\n states separately.\n\n Signed-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "cdd4e68b5f0ed12c64b3e2be83655d2a47588a74",
      "tree": "c31565c36e0550655207d2edcabaa6ea1f3217f7",
      "parents": [
        "24ac23ab88df5b21b5b2df8cde748bf99b289099"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Tue Jan 03 09:55:12 2006 +0100"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Fri Jan 06 14:58:42 2006 -0500"
      },
      "message": "NFSv4: Make open_confirm() asynchronous too\n\n Signed-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "24ac23ab88df5b21b5b2df8cde748bf99b289099",
      "tree": "e5e599fc55fc1744284077b320f3541a3658b958",
      "parents": [
        "e60859ac0e50f660d23b72e42e05f58757dcfeff"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Tue Jan 03 09:55:11 2006 +0100"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Fri Jan 06 14:58:42 2006 -0500"
      },
      "message": "NFSv4: Convert open() into an asynchronous RPC call\n\n OPEN is a stateful operation, so we must ensure that it always\n completes. In order to allow users to interrupt the operation,\n we need to make the RPC call asynchronous, and then wait on\n completion (or cancel).\n\n Signed-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "e60859ac0e50f660d23b72e42e05f58757dcfeff",
      "tree": "a48b07cea18971545bd6670f66f8b8341d393cbc",
      "parents": [
        "89991c24e48b76f40aa3bd8c40c1e87c75d10a33"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Tue Jan 03 09:55:10 2006 +0100"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Fri Jan 06 14:58:42 2006 -0500"
      },
      "message": "SUNRPC: rpc_execute should not return task-\u003etk_status;\n\n Signed-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "89991c24e48b76f40aa3bd8c40c1e87c75d10a33",
      "tree": "82e112cea2034a47b9f0c65e4607d093a4ebb684",
      "parents": [
        "e56e0b78eb1097a8e06512b9ed4be94d7538e7ac"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Tue Jan 03 09:55:09 2006 +0100"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Fri Jan 06 14:58:41 2006 -0500"
      },
      "message": "SUNRPC: Get rid of some unused exports\n\n Signed-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "e56e0b78eb1097a8e06512b9ed4be94d7538e7ac",
      "tree": "fe2b82993dd62323f9891f28bdb79c7cb2b01442",
      "parents": [
        "06f814a3ad0ddfe19e6e4f44e3da5d490547faf3"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Tue Jan 03 09:55:08 2006 +0100"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Fri Jan 06 14:58:41 2006 -0500"
      },
      "message": "NFSv4: Allocate OPEN call RPC arguments using kmalloc()\n\n Cleanup in preparation for making OPEN calls interruptible by the user.\n\n Signed-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "06f814a3ad0ddfe19e6e4f44e3da5d490547faf3",
      "tree": "576f5f3c884b10b3b6349523af70a113f75d6634",
      "parents": [
        "44c288732fdbd7e38460d156a40d29590bf93bce"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Tue Jan 03 09:55:07 2006 +0100"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Fri Jan 06 14:58:40 2006 -0500"
      },
      "message": "NFSv4: Make locku use the new RPC \"wait on completion\" interface.\n\n Signed-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "44c288732fdbd7e38460d156a40d29590bf93bce",
      "tree": "d4239fe37529b4799e85443f803db754ef66f874",
      "parents": [
        "4ce70ada1ff1d0b80916ec9ec5764ce44a50a54f"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Tue Jan 03 09:55:06 2006 +0100"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Fri Jan 06 14:58:40 2006 -0500"
      },
      "message": "NFSv4: stateful NFSv4 RPC call interface\n\n The NFSv4 model requires us to complete all RPC calls that might\n establish state on the server whether or not the user wants to\n interrupt it. We may also need to schedule new work (including\n new RPC calls) in order to cancel the new state.\n\n The asynchronous RPC model will allow us to ensure that RPC calls\n always complete, but in order to allow for \"synchronous\" RPC, we\n want to add the ability to wait for completion.\n The waits are, of course, interruptible.\n\n Signed-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "4ce70ada1ff1d0b80916ec9ec5764ce44a50a54f",
      "tree": "9bc9ffc691679a4423a6b8724a27607c9ad7ea2c",
      "parents": [
        "963d8fe53339128ee46a7701f2e36305f0ccff8c"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Tue Jan 03 09:55:05 2006 +0100"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Fri Jan 06 14:58:40 2006 -0500"
      },
      "message": "SUNRPC: Further cleanups\n\n Signed-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "963d8fe53339128ee46a7701f2e36305f0ccff8c",
      "tree": "426736c70a8e05cb1d945d5c7f44ea6475edd113",
      "parents": [
        "abbcf28f23d53e8ec56a91f3528743913fa2694a"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Tue Jan 03 09:55:04 2006 +0100"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Fri Jan 06 14:58:39 2006 -0500"
      },
      "message": "RPC: Clean up RPC task structure\n\n Shrink the RPC task structure. Instead of storing separate pointers\n for task-\u003etk_exit and task-\u003etk_release, put them in a structure.\n\n Also pass the user data pointer as a parameter instead of passing it via\n task-\u003etk_calldata. This enables us to nest callbacks.\n\n Signed-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "abbcf28f23d53e8ec56a91f3528743913fa2694a",
      "tree": "97dafc3840e4660ac0fcf99bbdc7eddc2fecd08a",
      "parents": [
        "abd3e641d5ef9f836ab2f2b04d80b8619b051531"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Tue Jan 03 09:55:03 2006 +0100"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Fri Jan 06 14:58:39 2006 -0500"
      },
      "message": "SUNRPC: Yet more RPC cleanups\n\n Signed-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "abd3e641d5ef9f836ab2f2b04d80b8619b051531",
      "tree": "053c82b4c23a5fb419691154879acff3f487923b",
      "parents": [
        "22905f775dd6a8b73be99826dcad07ceec00244b"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Tue Jan 03 09:55:02 2006 +0100"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Fri Jan 06 14:58:39 2006 -0500"
      },
      "message": "NFS: Work correctly with single-page -\u003ewritepage() calls\n\n Ensure that we always initiate flushing of data before we exit\n a single-page -\u003ewritepage() call.\n\n Signed-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "22905f775dd6a8b73be99826dcad07ceec00244b",
      "tree": "960c0ad3d10fa208a31b78256788f332e5ebdd48",
      "parents": [
        "d99cf9d679a520d67f81d805b7cb91c68e1847f0"
      ],
      "author": {
        "name": "Andrew Morton",
        "email": "akpm@osdl.org",
        "time": "Wed Nov 16 15:07:01 2005 -0800"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Fri Jan 06 14:58:38 2006 -0500"
      },
      "message": "identify multipage -\u003ewritepages() calls\n\n NFS needs to be able to distinguish between single-page -\u003ewritepage() calls and\n multipage -\u003ewritepages() calls.\n\n For the single-page writepage calls NFS can kick off the I/O within the\n context of -\u003ewritepage().\n\n For multipage -\u003ewritepages calls, nfs_writepage() will leave the I/O pending\n and nfs_writepages() will kick off the I/O when it all has been queued up\n within NFS.\n\n Cc: Trond Myklebust \u003ctrond.myklebust@fys.uio.no\u003e\n Signed-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\n Signed-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "20ede2741551d4a1d24313292beb0da915a55911",
      "tree": "b59c359badc493ab24fc892e0e7ea0c6157dad3e",
      "parents": [
        "117a93db1dcd6ed61336b27e4e2938f791c1841b"
      ],
      "author": {
        "name": "Brian Gerst",
        "email": "bgerst@didntduck.org",
        "time": "Thu Jan 05 12:10:52 2006 -0500"
      },
      "committer": {
        "name": "Sam Ravnborg",
        "email": "sam@mars.ravnborg.org",
        "time": "Fri Jan 06 20:52:32 2006 +0100"
      },
      "message": "gitignore: ignore shared objects\n\nMany arches make shared objects for VDSOs.  Generally exclude them.\n\nSigned-off-by: Brian Gerst \u003cbgerst@didntduck.org\u003e\nSigned-off-by: Sam Ravnborg \u003csam@ravnborg.org\u003e\n"
    },
    {
      "commit": "117a93db1dcd6ed61336b27e4e2938f791c1841b",
      "tree": "b869ef55f3048f125c06e70429f04c38f31bf578",
      "parents": [
        "253dfa6e465c054a73bd3b13af51c34c9d8d233d"
      ],
      "author": {
        "name": "Rene Scharfe",
        "email": "rene.scharfe@lsrfire.ath.cx",
        "time": "Wed Jan 04 20:42:03 2006 +0100"
      },
      "committer": {
        "name": "Sam Ravnborg",
        "email": "sam@mars.ravnborg.org",
        "time": "Fri Jan 06 20:46:21 2006 +0100"
      },
      "message": "kbuild: Use git in scripts/setlocalversion\n\nCurrently scripts/setlocalversion is a Perl script that tries to figure\nout the current git commit ID of a repo without using git.  It also\nimports Digest::MD5 without using it and generally is too big for the\nsmall task it does. :]  And it always reports a git ID, even when the\nHEAD is tagged -- this is a bug.\n\nThis patch replaces it with a Bourne Shell script that uses git\ncommands to do the same.  I can\u0027t come up with a scenario where someone\nwould use a git repo and refuse to install git core at the same time,\nso I think it\u0027s reasonable to assume git is available.\n\nThe new script also reports uncommitted changes by adding -git_dirty to\nthe version string.  Obviously you can\u0027t see from that _what_ has been\nchanged from the last commit, so it\u0027s more of a reminder that you\nforgot to commit something.\n\nThe script is easily extensible: simply add a check for Mercurial (or\nwhatever) below the git check.\n\nNote: the script doesn\u0027t print a newline char anymore.  That\u0027s only\nbecause it was easier to implement it that way, not a feature (or bug).\n\u0027make kernelrelease\u0027 doesn\u0027t care.\n\nSigned-off-by: Rene Scharfe \u003crene.scharfe@lsrfire.ath.cx\u003e\nAcked-by: Ryan Anderson \u003cryan@michonline.com\u003e\nSigned-off-by: Sam Ravnborg \u003csam@ravnborg.org\u003e\n"
    },
    {
      "commit": "253dfa6e465c054a73bd3b13af51c34c9d8d233d",
      "tree": "c9d510b30f41958afe74271f501c9586b4619e73",
      "parents": [
        "9f155b9802bb7049cd0f216c3fe903b58620df11"
      ],
      "author": {
        "name": "Sam Ravnborg",
        "email": "sam@mars.ravnborg.org",
        "time": "Fri Jan 06 20:33:41 2006 +0100"
      },
      "committer": {
        "name": "Sam Ravnborg",
        "email": "sam@mars.ravnborg.org",
        "time": "Fri Jan 06 20:33:41 2006 +0100"
      },
      "message": "kbuild: document howto build external modules using several directories\n\nUpdate modules.txt with info how to build external modules\nwith files in several directories.\nThe question popped up on lkml often enough to warrant this,\nlet\u0027s see if people read this stuff - or google hits it.\n\nSigned-off-by: Sam Ravnborg \u003csam@ravnborg.org\u003e\n"
    },
    {
      "commit": "d99cf9d679a520d67f81d805b7cb91c68e1847f0",
      "tree": "415aefe6d168df27c006fcc53b1ea5242eabaaea",
      "parents": [
        "7ed40918a386afc2e14a6d3da563ea6d13686c25",
        "e650c305ec3178818b317dad37a6d9c7fa8ba28d"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Fri Jan 06 09:01:25 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Fri Jan 06 09:01:25 2006 -0800"
      },
      "message": "Merge branch \u0027post-2.6.15\u0027 of git://brick.kernel.dk/data/git/linux-2.6-block\n\nManual fixup for merge with Jens\u0027 \"Suspend support for libata\", commit\nID 9b847548663ef1039dd49f0eb4463d001e596bc3.\n\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "7ed40918a386afc2e14a6d3da563ea6d13686c25",
      "tree": "e180ba59fa65290a12a731aaf304d2aa840f3ffb",
      "parents": [
        "9b847548663ef1039dd49f0eb4463d001e596bc3"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Fri Jan 06 08:43:16 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Fri Jan 06 08:43:16 2006 -0800"
      },
      "message": "x86: remove bogus \u0027pci\u003dusepirqmask\u0027 suggestion when no irq is defined\n\nThis was harmless, but for the case of a device that had no irq\npre-defined we would incorrectly suggest that \"usepirqmask\" might make a\ndifference.  It never would, and the message was just confusing people.\n\nReported in the dmesg of Etienne Lorrain.\n\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "9b847548663ef1039dd49f0eb4463d001e596bc3",
      "tree": "105a0eece522b1347bea57f609f6c04ed673fdb3",
      "parents": [
        "88202a0c84e1951d6630d1d557d4801a8cc5b5ef"
      ],
      "author": {
        "name": "Jens Axboe",
        "email": "axboe@suse.de",
        "time": "Fri Jan 06 09:28:07 2006 +0100"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Fri Jan 06 08:36:09 2006 -0800"
      },
      "message": "[PATCH] Suspend support for libata\n\nThis patch adds suspend patch to libata, and ata_piix in particular. For\nmost low level drivers, they should just need to add the 4 hooks to\nwork. As I can only test ata_piix, I didn\u0027t enable it for more\nthough.\n\nSuspend support is the single most important feature on a notebook, and\nmost new notebooks have sata drives. It\u0027s quite embarrassing that we\n_still_ do not support this. Right now, it\u0027s perfectly possible to\nsuspend the drive in mid-transfer.\n\nSigned-off-by: Jens Axboe \u003caxboe@suse.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "88202a0c84e1951d6630d1d557d4801a8cc5b5ef",
      "tree": "5a1aadc008de1ee68f40a4bb667157f248211230",
      "parents": [
        "6d7ff7380b2e28c2807da3bf9fa614d91d15bacf"
      ],
      "author": {
        "name": "NeilBrown",
        "email": "neilb@suse.de",
        "time": "Fri Jan 06 00:21:36 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Fri Jan 06 08:34:10 2006 -0800"
      },
      "message": "[PATCH] md: allow sync-speed to be controlled per-device\n\nAlso export current (average) speed and status in sysfs.\n\nSigned-off-by: Neil Brown \u003cneilb@suse.de\u003e\nAcked-by: Greg KH \u003cgreg@kroah.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "6d7ff7380b2e28c2807da3bf9fa614d91d15bacf",
      "tree": "1f995a4f047a041c86b52efe0db221c76c7d0327",
      "parents": [
        "83303b613d00718b07ec0a4dee7c99aa66629d96"
      ],
      "author": {
        "name": "NeilBrown",
        "email": "neilb@suse.de",
        "time": "Fri Jan 06 00:21:16 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Fri Jan 06 08:34:10 2006 -0800"
      },
      "message": "[PATCH] md: support adding new devices to md arrays via sysfs\n\nWriting major:minor to md/new_dev will bind that device to the array.\n\nSigned-off-by: Neil Brown \u003cneilb@suse.de\u003e\nAcked-by: Greg KH \u003cgreg@kroah.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "83303b613d00718b07ec0a4dee7c99aa66629d96",
      "tree": "e2c7c113d2f2f69aa426c3a3a355d84089bb13ce",
      "parents": [
        "6961ece46c7d02de1bb83914900608e39633787d"
      ],
      "author": {
        "name": "NeilBrown",
        "email": "neilb@suse.de",
        "time": "Fri Jan 06 00:21:06 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Fri Jan 06 08:34:10 2006 -0800"
      },
      "message": "[PATCH] md: allow available size of component devices to be set via sysfs\n\nSigned-off-by: Neil Brown \u003cneilb@suse.de\u003e\nAcked-by: Greg KH \u003cgreg@kroah.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "6961ece46c7d02de1bb83914900608e39633787d",
      "tree": "55aadb7f85c2ac17f88753257bba3b3ca76b16f8",
      "parents": [
        "93c8cad03f02dbd1532a5413bdced25f000d5728"
      ],
      "author": {
        "name": "Andrew Morton",
        "email": "akpm@osdl.org",
        "time": "Fri Jan 06 00:20:59 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Fri Jan 06 08:34:10 2006 -0800"
      },
      "message": "[PATCH] md-export-rdev-data_offset-via-sysfs-fix\n\ndrivers/md/md.c: In function `offset_show\u0027:\ndrivers/md/md.c:1670: warning: long long unsigned int format, different type arg (arg 3)\n\nCc: Neil Brown \u003cneilb@suse.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "93c8cad03f02dbd1532a5413bdced25f000d5728",
      "tree": "80930b6670c21088ed78362fe9281deba82ff7dd",
      "parents": [
        "014236d2b8ec6faea2a6134ab8e019d84d67b524"
      ],
      "author": {
        "name": "NeilBrown",
        "email": "neilb@suse.de",
        "time": "Fri Jan 06 00:20:56 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Fri Jan 06 08:34:09 2006 -0800"
      },
      "message": "[PATCH] md: export rdev-\u003edata_offset via sysfs\n\nSigned-off-by: Neil Brown \u003cneilb@suse.de\u003e\nAcked-by: Greg KH \u003cgreg@kroah.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "014236d2b8ec6faea2a6134ab8e019d84d67b524",
      "tree": "80f655fe0631f56544b96f2b9750f93e327b23de",
      "parents": [
        "2bf071bf50580380a8c3afe5eef8152a66be96c7"
      ],
      "author": {
        "name": "NeilBrown",
        "email": "neilb@suse.de",
        "time": "Fri Jan 06 00:20:55 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Fri Jan 06 08:34:09 2006 -0800"
      },
      "message": "[PATCH] md: expose device slot information via sysfs\n\nThis the role that a device has in an array can be viewed and set.\n\nSigned-off-by: Neil Brown \u003cneilb@suse.de\u003e\nAcked-by: Greg KH \u003cgreg@kroah.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "2bf071bf50580380a8c3afe5eef8152a66be96c7",
      "tree": "513ef2291446e2b489a2281df4d1f21fb6fb3d96",
      "parents": [
        "da943b9912df063322d37b1a1f285460531d481d"
      ],
      "author": {
        "name": "NeilBrown",
        "email": "neilb@suse.de",
        "time": "Fri Jan 06 00:20:55 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Fri Jan 06 08:34:09 2006 -0800"
      },
      "message": "[PATCH] md: keep better track of dev/array size when assembling md arrays\n\nMove the checks - that dev size is never less than array size - into\nbind_rdev_to_array to make sure it always happens properly (there is one place\nwhere currently it doesn\u0027t).\n\nAlso reject any superblock which claims an array size smaller than the device\nin question can hold.\n\nSigned-off-by: Neil Brown \u003cneilb@suse.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "da943b9912df063322d37b1a1f285460531d481d",
      "tree": "09ec69816055934d264b0a0272435fee9abb2b95",
      "parents": [
        "4dbcdc751cb25ffca3a8374cbc5ab6de961cc545"
      ],
      "author": {
        "name": "NeilBrown",
        "email": "neilb@suse.de",
        "time": "Fri Jan 06 00:20:54 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Fri Jan 06 08:34:09 2006 -0800"
      },
      "message": "[PATCH] md: allow md/raid_disks to be settable\n\nIf array is active, try to reshape, else just set the value.\n\nSigned-off-by: Neil Brown \u003cneilb@suse.de\u003e\nAcked-by: Greg KH \u003cgreg@kroah.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "4dbcdc751cb25ffca3a8374cbc5ab6de961cc545",
      "tree": "61d1eb6e35c0eec66e5a8610c1f57b1e6eec135c",
      "parents": [
        "d9d166c2a9d5d01af34396793950aa695883eed4"
      ],
      "author": {
        "name": "NeilBrown",
        "email": "neilb@suse.de",
        "time": "Fri Jan 06 00:20:52 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Fri Jan 06 08:34:09 2006 -0800"
      },
      "message": "[PATCH] md: count corrected read errors per drive\n\nStore this total in superblock (As appropriate), and make it available to\nuserspace via sysfs.\n\nSigned-off-by: Neil Brown \u003cneilb@suse.de\u003e\nAcked-by: Greg KH \u003cgreg@kroah.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "d9d166c2a9d5d01af34396793950aa695883eed4",
      "tree": "6cb593cc0636476ebec9a9690aa48997510f9701",
      "parents": [
        "8bb93aaca2062cd54cc2c58c76ee8409cae209a7"
      ],
      "author": {
        "name": "NeilBrown",
        "email": "neilb@suse.de",
        "time": "Fri Jan 06 00:20:51 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Fri Jan 06 08:34:09 2006 -0800"
      },
      "message": "[PATCH] md: allow array level to be set textually via sysfs\n\nSigned-off-by: Neil Brown \u003cneilb@suse.de\u003e\nAcked-by: Greg KH \u003cgreg@kroah.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "8bb93aaca2062cd54cc2c58c76ee8409cae209a7",
      "tree": "12efef0262795f4d4462c8ac8e0fd6e2117ee81a",
      "parents": [
        "a35b0d695d44410eb1734c9abb632725a3138628"
      ],
      "author": {
        "name": "NeilBrown",
        "email": "neilb@suse.de",
        "time": "Fri Jan 06 00:20:50 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Fri Jan 06 08:34:08 2006 -0800"
      },
      "message": "[PATCH] md: expose md metadata format in sysfs\n\nAllow it to be set to a particular version, or \u0027none\u0027.\n\nSigned-off-by: Neil Brown \u003cneilb@suse.de\u003e\nAcked-by: Greg KH \u003cgreg@kroah.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "a35b0d695d44410eb1734c9abb632725a3138628",
      "tree": "0da4a3ba93cf8a1fd2b4dcad3dd251def752942d",
      "parents": [
        "3b34380ae8c5df6debd85183c7fa1ac05f79b7d2"
      ],
      "author": {
        "name": "NeilBrown",
        "email": "neilb@suse.de",
        "time": "Fri Jan 06 00:20:49 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Fri Jan 06 08:34:08 2006 -0800"
      },
      "message": "[PATCH] md: allow md array component size to be accessed and set via sysfs\n\nSigned-off-by: Neil Brown \u003cneilb@suse.de\u003e\nAcked-by: Greg KH \u003cgreg@kroah.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "3b34380ae8c5df6debd85183c7fa1ac05f79b7d2",
      "tree": "9979f8b402b0566db286081eb7f5c26418964348",
      "parents": [
        "03c902e17f40cfed63cd2494616f35fc9c58571b"
      ],
      "author": {
        "name": "NeilBrown",
        "email": "neilb@suse.de",
        "time": "Fri Jan 06 00:20:47 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Fri Jan 06 08:34:08 2006 -0800"
      },
      "message": "[PATCH] md: allow chunk_size to be settable through sysfs\n\n... only before array is started of course.\n\nSigned-off-by: Neil Brown \u003cneilb@suse.de\u003e\nAcked-by: Greg KH \u003cgreg@kroah.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "03c902e17f40cfed63cd2494616f35fc9c58571b",
      "tree": "bfa65142a20a9b424dbd078149cecaa0177086fb",
      "parents": [
        "c708443c004f2310abdd7f1c353daa372b37f7a2"
      ],
      "author": {
        "name": "NeilBrown",
        "email": "neilb@suse.de",
        "time": "Fri Jan 06 00:20:46 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Fri Jan 06 08:34:08 2006 -0800"
      },
      "message": "[PATCH] md: fix rdev-\u003epending counts in raid1\n\nWhen we do a user-requested check/repair, we lose count of the outstanding\nrequests...\n\nAlso make sure that when anything is written to md/sync_action, the\nRECOVERY_NEEDED flag is set and the thread is woken up so any changes take\neffect.\n\nSigned-off-by: Neil Brown \u003cneilb@suse.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "c708443c004f2310abdd7f1c353daa372b37f7a2",
      "tree": "b02286101b7f8e9bcad8c30240cb5247010398b3",
      "parents": [
        "07dbd37727049c0d56e313e5afcf8db07a9c3e37"
      ],
      "author": {
        "name": "NeilBrown",
        "email": "neilb@suse.de",
        "time": "Fri Jan 06 00:20:45 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Fri Jan 06 08:34:08 2006 -0800"
      },
      "message": "[PATCH] md: make sure bitmap updates are visible through filesystem\n\nWhen we update a page_cache page in the kernel, we need to flush_dache_page or\nuserspace might not see the change.\n\nSigned-off-by: Neil Brown \u003cneilb@suse.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "07dbd37727049c0d56e313e5afcf8db07a9c3e37",
      "tree": "8886cd0f15ee885e0b2e4d7cede65631b48a8a2a",
      "parents": [
        "2989ddbd6e1d9638a188311b896362c4bf7b7c25"
      ],
      "author": {
        "name": "Adrian Bunk",
        "email": "bunk@stusta.de",
        "time": "Fri Jan 06 00:20:44 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Fri Jan 06 08:34:07 2006 -0800"
      },
      "message": "[PATCH] drivers/md/md.c: make md_new_event() static\n\nMake the needlessly global function md_new_event() static.\n\nSigned-off-by: Adrian Bunk \u003cbunk@stusta.de\u003e\nCc: Neil Brown \u003cneilb@cse.unsw.edu.au\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    }
  ],
  "next": "2989ddbd6e1d9638a188311b896362c4bf7b7c25"
}
