)]}'
{
  "log": [
    {
      "commit": "7b11fb51567dedeaf6dc03f0135c0a8bb2399818",
      "tree": "e4fd6f20d2aea1c4addddb01bf7dc2fa2b1cd5f4",
      "parents": [
        "e845c06bced7f5f325e0f9aefd3207cd45c21ff2"
      ],
      "author": {
        "name": "H. Peter Anvin",
        "email": "hpa@zytor.com",
        "time": "Wed Jan 30 13:30:07 2008 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Jan 30 13:30:07 2008 +0100"
      },
      "message": "x86: unify asm/cpufeature.h\n\nasm/cpufeature.h was already almost unified; this completes the job.\n\nSigned-off-by: H. Peter Anvin \u003chpa@zytor.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n"
    },
    {
      "commit": "e845c06bced7f5f325e0f9aefd3207cd45c21ff2",
      "tree": "ca3902e4602af2903cc8d3e9936aebb69021477d",
      "parents": [
        "39d44a51474a52bec6d72d30ebc76f5159101d90"
      ],
      "author": {
        "name": "H. Peter Anvin",
        "email": "hpa@zytor.com",
        "time": "Wed Jan 30 13:30:06 2008 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Jan 30 13:30:06 2008 +0100"
      },
      "message": "x86: add \u003casm/asm.h\u003e\n\nCreate \u003casm/asm.h\u003e, with common definitions suitable for assembly\nunification.\n\nSigned-off-by: H. Peter Anvin \u003chpa@zytor.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n"
    },
    {
      "commit": "53d517cdbaac704352b3d0c10fecb99e0b54572e",
      "tree": "4056bc99a4e6077d7d968d30ea21895e425a83ef",
      "parents": [
        "83bd01024b1fdfc41d9b758e5669e80fca72df66"
      ],
      "author": {
        "name": "Guillaume Chazarain",
        "email": "guichaz@yahoo.fr",
        "time": "Wed Jan 30 13:30:06 2008 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Jan 30 13:30:06 2008 +0100"
      },
      "message": "x86: scale cyc_2_nsec according to CPU frequency\n\nscale the sched_clock() cyc_2_nsec scaling factor according to\nCPU frequency changes.\n\n[ mingo@elte.hu: simplified it and fixed it for SMP. ]\n\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n"
    },
    {
      "commit": "6e7c402590b75b6b45138792445ee0f0315a8473",
      "tree": "94db814d496502932ab55acc560a728925f87540",
      "parents": [
        "b02aae9cf52956dfe1bec73f77f81a3d05d3902b"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Jan 30 13:30:05 2008 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Jan 30 13:30:05 2008 +0100"
      },
      "message": "x86: various changes and cleanups to in_p/out_p delay details\n\nvarious changes to the in_p/out_p delay details:\n\n- add the io_delay\u003dnone method\n- make each method selectable from the kernel config\n- simplify the delay code a bit by getting rid of an indirect function call\n- add the /proc/sys/kernel/io_delay_type sysctl\n- change \u0027io_delay\u003dstandard|alternate\u0027 to io_delay\u003d0x80 and io_delay\u003d0xed\n- make the io delay config not depend on CONFIG_DEBUG_KERNEL\n\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nTested-by: \"David P. Reed\" \u003cdpreed@reed.com\u003e\n"
    },
    {
      "commit": "b02aae9cf52956dfe1bec73f77f81a3d05d3902b",
      "tree": "ce715a107c853960cc9541377aeae0ff31ac25f7",
      "parents": [
        "4c6b8b4d62fb4cb843c32db71e0a8301039908f3"
      ],
      "author": {
        "name": "Rene Herman",
        "email": "rene.herman@gmail.com",
        "time": "Wed Jan 30 13:30:05 2008 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Jan 30 13:30:05 2008 +0100"
      },
      "message": "x86: provide a DMI based port 0x80 I/O delay override.\n\nx86: provide a DMI based port 0x80 I/O delay override.\n\nCertain (HP) laptops experience trouble from our port 0x80 I/O delay\nwrites. This patch provides for a DMI based switch to the \"alternate\ndiagnostic port\" 0xed (as used by some BIOSes as well) for these.\n\nDavid P. Reed confirmed that port 0xed works for him and provides a\nproper delay. The symptoms of _not_ working are a hanging machine,\nwith \"hwclock\" use being a direct trigger.\n\nEarlier versions of this attempted to simply use udelay(2), with the\n2 being a value tested to be a nicely conservative upper-bound with\nhelp from many on the linux-kernel mailinglist but that approach has\ntwo problems.\n\nFirst, pre-loops_per_jiffy calibration (which is post PIT init while\nsome implementations of the PIT are actually one of the historically\nproblematic devices that need the delay) udelay() isn\u0027t particularly\nwell-defined. We could initialise loops_per_jiffy conservatively (and\nbased on CPU family so as to not unduly delay old machines) which\nwould sort of work, but...\n\nSecond, delaying isn\u0027t the only effect that a write to port 0x80 has.\nIt\u0027s also a PCI posting barrier which some devices may be explicitly\nor implicitly relying on. Alan Cox did a survey and found evidence\nthat additionally some drivers may be racy on SMP without the bus\nlocking outb.\n\nSwitching to an inb() makes the timing too unpredictable and as such,\nthis DMI based switch should be the safest approach for now. Any more\ninvasive changes should get more rigid testing first. It\u0027s moreover\nonly very few machines with the problem and a DMI based hack seems\nto fit that situation.\n\nThis also introduces a command-line parameter \"io_delay\" to override\nthe DMI based choice again:\n\n\tio_delay\u003d\u003cstandard|alternate\u003e\n\nwhere \"standard\" means using the standard port 0x80 and \"alternate\"\nport 0xed.\n\nThis retains the udelay method as a config (CONFIG_UDELAY_IO_DELAY) and\ncommand-line (\"io_delay\u003dudelay\") choice for testing purposes as well.\n\nThis does not change the io_delay() in the boot code which is using\nthe same port 0x80 I/O delay but those do not appear to be a problem\nas David P. Reed reported the problem was already gone after using the\nudelay version. He moreover reported that booting with \"acpi\u003doff\" also\nfixed things and seeing as how ACPI isn\u0027t touched until after this DMI\nbased I/O port switch I believe it\u0027s safe to leave the ones in the boot\ncode be.\n\nThe DMI strings from David\u0027s HP Pavilion dv9000z are in there already\nand we need to get/verify the DMI info from other machines with the\nproblem, notably the HP Pavilion dv6000z.\n\nThis patch is partly based on earlier patches from Pavel Machek and\nDavid P. Reed.\n\nSigned-off-by: Rene Herman \u003crene.herman@gmail.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n"
    },
    {
      "commit": "5c9c9bec0589be696c70c5efb448b17d5ab720e2",
      "tree": "b4fe757645a01c76ed297792f03a4ba10743bd55",
      "parents": [
        "9484b1eb4d05957d3114dc63026448eb66106c06"
      ],
      "author": {
        "name": "Rafael J. Wysocki",
        "email": "rjw@sisk.pl",
        "time": "Wed Jan 30 13:30:04 2008 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Jan 30 13:30:04 2008 +0100"
      },
      "message": "x86: hibernation: document __save_processor_state() on x86\n\nDocument the fact that __save_processor_state() has to save all CPU\nregisters referred to by the kernel in case a different kernel is\nused to load and restore a hibernation image containing it.\n\nSigend-off-by: Rafael J. Wysocki \u003crjw@sisk.pl\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n"
    },
    {
      "commit": "6378ddb592158db4b42197f1bc8666228800e379",
      "tree": "f9b1e671dfd12fb221f6140dd231ccb14cd9f27e",
      "parents": [
        "bbe4d18ac2e058c56adb0cd71f49d9ed3216a405"
      ],
      "author": {
        "name": "Venki Pallipadi",
        "email": "venkatesh.pallipadi@intel.com",
        "time": "Wed Jan 30 13:30:04 2008 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Jan 30 13:30:04 2008 +0100"
      },
      "message": "time: track accurate idle time with tick_sched.idle_sleeptime\n\nCurrent idle time in kstat is based on jiffies and is coarse grained.\ntick_sched.idle_sleeptime is making some attempt to keep track of idle time\nin a fine grained manner.  But, it is not handling the time spent in\ninterrupts fully.\n\nMake tick_sched.idle_sleeptime accurate with respect to time spent on\nhandling interrupts and also add tick_sched.idle_lastupdate, which keeps\ntrack of last time when idle_sleeptime was updated.\n\nThis statistics will be crucial for cpufreq-ondemand governor, which can\nshed some conservative gaurd band that is uses today while setting the\nfrequency.  The ondemand changes that uses the exact idle time is coming\nsoon.\n\nSigned-off-by: Venkatesh Pallipadi \u003cvenkatesh.pallipadi@intel.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n"
    },
    {
      "commit": "e3f37a54f690d3e64995ea7ecea08c5ab3070faf",
      "tree": "1d9d62d95b747ef47cdf994357bd9a41d02889a3",
      "parents": [
        "45fe4fe19120a22f7339f5bb110447170c25fca9"
      ],
      "author": {
        "name": "Balaji Rao",
        "email": "balajirrao@gmail.com",
        "time": "Wed Jan 30 13:30:03 2008 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Jan 30 13:30:03 2008 +0100"
      },
      "message": "x86: assign IRQs to HPET timers\n\nThe userspace API for the HPET (see Documentation/hpet.txt) did not work. The\nHPET_IE_ON ioctl was failing as there was no IRQ assigned to the timer\ndevice. This patch fixes it by allocating IRQs to timer blocks in the HPET.\n\narch/x86/kernel/hpet.c |   13 +++++--------\ndrivers/char/hpet.c    |   45 ++++++++++++++++++++++++++++++++++++++-------\ninclude/linux/hpet.h   |    2 +-\n3 files changed, 44 insertions(+), 16 deletions(-)\n\nSigned-off-by: Balaji Rao \u003cbalajirrao@gmail.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n"
    },
    {
      "commit": "4713e22ce81eb8b3353e16435362eb3d0ec95640",
      "tree": "6f96151bd9b182d6b9d706d3ad3b4fe8c99e7f7e",
      "parents": [
        "316da3b3fc8efa9a5d2c99e0d449f01ff38c6aba"
      ],
      "author": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Wed Jan 30 13:30:02 2008 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Jan 30 13:30:02 2008 +0100"
      },
      "message": "clocksource: add unregister function to disable unusable clocksources\n\nOn x86 the PIT might become an unusable clocksource. Add an unregister\nfunction to provide a possibilty to remove the PIT from the list of\navailable clock sources.\n\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "df619e6bafeb8e129aba3173d384544d7fa6e3c2",
      "tree": "4481ebe17b1dec19b9b2598e66c8bc6eea4320d3",
      "parents": [
        "1ada5cba6a0318f90e45b38557e7b5206a9cba38"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Jan 30 13:30:02 2008 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Jan 30 13:30:02 2008 +0100"
      },
      "message": "x86: offer is_hpet_enabled() on !CONFIG_HPET_TIMER too\n\noffer is_hpet_enabled() on !CONFIG_HPET_TIMER too.\n\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n"
    },
    {
      "commit": "1d76c2622813fbc692b0d323028cfef9ee36051a",
      "tree": "c94e425658e6532273e4fd0fc5185cf069b5ee3f",
      "parents": [
        "186e3cb8a465bac010ee3b020768d2fa2b505aef"
      ],
      "author": {
        "name": "Atsushi Nemoto",
        "email": "anemo@mba.ocn.ne.jp",
        "time": "Wed Jan 30 13:30:01 2008 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Jan 30 13:30:01 2008 +0100"
      },
      "message": "clocksource: make CLOCKSOURCE_MASK bullet-proof\n\nSigned-off-by: Atsushi Nemoto \u003canemo@mba.ocn.ne.jp\u003e\nCc: john stultz \u003cjohnstul@us.ibm.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n"
    },
    {
      "commit": "a6fa8e5a6172a5a5bc06ed04f34e50b36c978127",
      "tree": "ec7750ea6438f85e2a1a94722962c7dbc3767100",
      "parents": [
        "213eca7f4888e9817e8076cdab6b9f7295c181f6"
      ],
      "author": {
        "name": "Pavel Machek",
        "email": "pavel@ucw.cz",
        "time": "Wed Jan 30 13:30:00 2008 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Jan 30 13:30:00 2008 +0100"
      },
      "message": "time: clean hungarian notation from timers\n\nClean up hungarian notation from timer code.\n\nSigned-off-by: Pavel Machek \u003cpavel@suse.cz\u003e\nCc: john stultz \u003cjohnstul@us.ibm.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n"
    },
    {
      "commit": "99fadcd76465842c014c88b8c9c19b457e9debc0",
      "tree": "34b61c6444beacc58bc643285441a553af420dc4",
      "parents": [
        "3a10c30acc4821ca000b52ed0edafd0d3bf26a52"
      ],
      "author": {
        "name": "Benny Halevy",
        "email": "bhalevy@panasas.com",
        "time": "Wed Jan 23 08:59:08 2008 +0200"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Wed Jan 30 02:06:11 2008 -0500"
      },
      "message": "nfs: convert NFS_*(inode) helpers to static inline\n\nSigned-off-by: Benny Halevy \u003cbhalevy@panasas.com\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "3a10c30acc4821ca000b52ed0edafd0d3bf26a52",
      "tree": "535fe870e12f9a032112b16d4e31fe1d813ea2c3",
      "parents": [
        "fc6014771bde8a215a9a4ea24b45f76afeb3c922"
      ],
      "author": {
        "name": "Benny Halevy",
        "email": "bhalevy@panasas.com",
        "time": "Wed Jan 23 08:58:59 2008 +0200"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Wed Jan 30 02:06:11 2008 -0500"
      },
      "message": "nfs: obliterate NFS_FLAGS macro\n\nuse NFS_I(inode)-\u003eflags instead\n\nSigned-off-by: Benny Halevy \u003cbhalevy@panasas.com\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "f1ec08cb9492cab579f85f9d937c79788b1dfde3",
      "tree": "d43da0c7d36c547f562b678bb725f688a9be470f",
      "parents": [
        "b91e101fca70319f9ca839311bceff5f44dfc1ed"
      ],
      "author": {
        "name": "Chuck Lever",
        "email": "chuck.lever@oracle.com",
        "time": "Mon Jan 14 15:11:53 2008 -0500"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Wed Jan 30 02:06:09 2008 -0500"
      },
      "message": "SUNRPC: Use appropriate argument types in rpcb client\n\nClean up: Follow recommendations of Chapter 5 of Documentation/CodingStyle\nand use \"u32\" instead of \"__u32\" for types in definitions that are not\nshared with user space.\n\nSigned-off-by: Chuck Lever \u003cchuck.lever@oracle.com\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "c0e07cb68db353c0ffbb0f82401cf6d79c253aed",
      "tree": "9f27b46baf81d544aef9bdfa4ecec937c5343f93",
      "parents": [
        "65fdf7d264213a9a8de44f9a20e002a26c267a76"
      ],
      "author": {
        "name": "Chuck Lever",
        "email": "chuck.lever@oracle.com",
        "time": "Mon Jan 14 12:32:05 2008 -0500"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Wed Jan 30 02:06:08 2008 -0500"
      },
      "message": "NFS: NFS version number is unsigned\n\nRPC protocol version numbers are unsigned.\n\nSigned-off-by: Chuck Lever \u003cchuck.lever@oracle.com\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "883bb163f84e0a54b29846c61621f52db3f27393",
      "tree": "ea11b2d1ba85cbb4422ae7ff615d6d186d709af1",
      "parents": [
        "1093a60ef34bb12010fe7ea4b780bee1c57cfbbe"
      ],
      "author": {
        "name": "Chuck Lever",
        "email": "chuck.lever@oracle.com",
        "time": "Tue Jan 15 16:04:20 2008 -0500"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Wed Jan 30 02:06:07 2008 -0500"
      },
      "message": "NLM: Introduce an arguments structure for nlmclnt_init()\n\nClean up: pass 5 arguments to nlmclnt_init() in a structure similar to the\nnew nfs_client_initdata structure.\n\nSigned-off-by: Chuck Lever \u003cchuck.lever@oracle.com\u003e\n"
    },
    {
      "commit": "1093a60ef34bb12010fe7ea4b780bee1c57cfbbe",
      "tree": "bc558d58ae38aab7e615883eceef1ec253c2d646",
      "parents": [
        "9289e7f91add1c09c3ec8571a2080f7507730b8d"
      ],
      "author": {
        "name": "Chuck Lever",
        "email": "chuck.lever@oracle.com",
        "time": "Fri Jan 11 17:09:59 2008 -0500"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Wed Jan 30 02:06:07 2008 -0500"
      },
      "message": "NLM/NFS: Use cached nlm_host when calling nlmclnt_proc()\n\nNow that each NFS mount point caches its own nlm_host structure, it can be\npassed to nlmclnt_proc() for each lock request.  By pinning an nlm_host for\neach mount point, we trade the overhead of looking up or creating a fresh\nnlm_host struct during every NLM procedure call for a little extra memory.\n\nWe also restrict the nlmclnt_proc symbol to limit the use of this call to\nin-tree modules.\n\nNote that nlm_lookup_host() (just removed from the client\u0027s per-request\nNLM processing) could also trigger an nlm_host garbage collection.  Now\nclient-side nlm_host garbage collection occurs only during NFS mount\nprocessing.  Since the NFS client now holds a reference on these nlm_host\nstructures, they wouldn\u0027t have been affected by garbage collection\nanyway.\n\nGiven that nlm_lookup_host() reorders the global nlm_host chain after\nevery successful lookup, and that a garbage collection could be triggered\nduring the call, we\u0027ve removed a significant amount of per-NLM-request\nCPU processing overhead.\n\nSidebar: there are only a few remaining references to the internals of\nNFS inodes in the client-side NLM code.  The only references I found are\nrelated to extracting or comparing the inode\u0027s file handle via NFS_FH().\nOne is in nlmclnt_grant(); the other is in nlmclnt_setlockargs().\n\nSigned-off-by: Chuck Lever \u003cchuck.lever@oracle.com\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "9289e7f91add1c09c3ec8571a2080f7507730b8d",
      "tree": "f8fd567e331b02efda2e09986fdfb37c1461dfc8",
      "parents": [
        "52c4044d00fe703eb3fb18e0d8dfd1c196eb28be"
      ],
      "author": {
        "name": "Chuck Lever",
        "email": "chuck.lever@oracle.com",
        "time": "Fri Jan 11 17:09:52 2008 -0500"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Wed Jan 30 02:06:07 2008 -0500"
      },
      "message": "NFS: Invoke nlmclnt_init during NFS mount processing\n\nCache an appropriate nlm_host structure in the NFS client\u0027s mount point\nmetadata for later use.\n\nNote that there is no need to set NFS_MOUNT_NONLM in the error case -- if\nnfs_start_lockd() returns a non-zero value, its callers ensure that the\nmount request fails outright.\n\nSigned-off-by: Chuck Lever \u003cchuck.lever@oracle.com\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "52c4044d00fe703eb3fb18e0d8dfd1c196eb28be",
      "tree": "e8ff891bc68ee10ebe3d067b13ba31e2deb645bb",
      "parents": [
        "86d61d8638ddf9cdf87df26c7fa69b2804425fbe"
      ],
      "author": {
        "name": "Chuck Lever",
        "email": "chuck.lever@oracle.com",
        "time": "Fri Jan 11 17:09:44 2008 -0500"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Wed Jan 30 02:06:06 2008 -0500"
      },
      "message": "NLM: Introduce external nlm_host set-up and tear-down functions\n\nWe would like to remove the per-lock-operation nlm_lookup_host() call from\nnlmclnt_proc().\n\nThe new architecture pins an nlm_host structure to each NFS client\nsuperblock that has the \"lock\" mount option set.  The NFS client passes\nin the pinned nlm_host structure during each call to nlmclnt_proc().  NFS\nclient unmount processing \"puts\" the nlm_host so it can be garbage-\ncollected later.\n\nThis patch introduces externally callable NLM functions that handle\nmount-time nlm_host set up and tear-down.\n\nSigned-off-by: Chuck Lever \u003cchuck.lever@oracle.com\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "b454ae906085cf7774fb4756746680c9b03b6f84",
      "tree": "c5f84a9524dd7a9c7470ef0782e2d79df94d3f5e",
      "parents": [
        "cab6fc1b77c3ec4471d7d54ff6db9ad2dd59c2f5"
      ],
      "author": {
        "name": "Chuck Lever",
        "email": "chuck.lever@oracle.com",
        "time": "Mon Jan 07 18:34:48 2008 -0500"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Wed Jan 30 02:06:04 2008 -0500"
      },
      "message": "SUNRPC: fewer conditionals in the format_ip_address routines\n\nClean up: have the set up routines explicitly pass the strings to be used\nfor the transport name and NETID.  This removes a number of conditionals\nand dependencies on rpc_xprt.prot, which is overloaded.\n\nTighten up type checking on the address_strings array while we\u0027re at it.\n\nSigned-off-by: Chuck Lever \u003cchuck.lever@oracle.com\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "59dca3b28cb915745019d4f4c27d97b6b6ab12c6",
      "tree": "6e3bde647bba09070ece738af13ce4bf569ba95e",
      "parents": [
        "331702337f2b2e7cef40366ee207a25604df4671"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Thu Jan 03 16:29:06 2008 -0500"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Wed Jan 30 02:06:00 2008 -0500"
      },
      "message": "NFS: Fix the \u0027proto\u003d\u0027 mount option\n\nCurrently, if you have a server mounted using networking protocol, you\ncannot specify a different value using the \u0027proto\u003d\u0027 option on another\nmountpoint.\n\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "331702337f2b2e7cef40366ee207a25604df4671",
      "tree": "72b2a1942cc7e7d0b08a119f10fb2a299f550550",
      "parents": [
        "7a3e3e18e40848b6f01d44407ce86b91b8535fbd"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Thu Dec 20 16:03:59 2007 -0500"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Wed Jan 30 02:05:59 2008 -0500"
      },
      "message": "NFS: Support per-mountpoint timeout parameters.\n\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "ba7392bb37cb12781890f45d7ddee1618e33a036",
      "tree": "4c9a6cb3b22cae407f810c214275ab107ee3fc77",
      "parents": [
        "2881ae74e68ecfe3b32a90936e5d93a9ba598c3a"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Thu Dec 20 16:03:55 2007 -0500"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Wed Jan 30 02:05:59 2008 -0500"
      },
      "message": "SUNRPC: Add support for per-client timeout values\n\nIn order to be able to support setting the timeo and retrans parameters on\na per-mountpoint basis, we move the rpc_timeout structure into the\nrpc_clnt.\n\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "2881ae74e68ecfe3b32a90936e5d93a9ba598c3a",
      "tree": "d454fdf3b5da159935ca268648d45b5d1a29027d",
      "parents": [
        "698b6d088e8a5d907596c689d5ae9109611c5b59"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Thu Dec 20 16:03:54 2007 -0500"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Wed Jan 30 02:05:58 2008 -0500"
      },
      "message": "SUNRPC: Clean up the transport timeout initialisation\n\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "69dd716c5ffd89f5ba14ffb871d633ecea74d13a",
      "tree": "bbf720dc7f16f99adc09063f934033eb9e36b307",
      "parents": [
        "3c7c7e4812e40e50a9ce9d687432ab5515cb3f2f"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Fri Dec 14 14:56:07 2007 -0500"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Wed Jan 30 02:05:58 2008 -0500"
      },
      "message": "NFSv4: Add socket proto argument to setclientid\n\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "6e4cffd7b2cf86022dcf9cceeb63f16ff852caa1",
      "tree": "9f92711937e876f2e2e143c612fcbfb7c1b7d03a",
      "parents": [
        "3b0d3f93d01bb013c3dcf9555d2d111c91ac6a1e"
      ],
      "author": {
        "name": "Chuck Lever",
        "email": "chuck.lever@oracle.com",
        "time": "Mon Dec 10 14:58:15 2007 -0500"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Wed Jan 30 02:05:54 2008 -0500"
      },
      "message": "NFS: Expand server address storage in nfs_client struct\n\nPrepare for managing larger addresses in the NFS client by widening the\nnfs_client struct\u0027s cl_addr field.\n\nSigned-off-by: Chuck Lever \u003cchuck.lever@oracle.com\u003e\nCc: Aurelien Charbon \u003caurelien.charbon@ext.bull.net\u003e\n\n(Modified to work with the new parameters for nfs_alloc_client)\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "4392f2592297876967191238a341667a6d4fc456",
      "tree": "752a74033c647bd659d17e57155d23418d6e333d",
      "parents": [
        "cc38bac3a0093b3b7928efc6ff8e9faf9e75f41d"
      ],
      "author": {
        "name": "Chuck Lever",
        "email": "chuck.lever@oracle.com",
        "time": "Mon Dec 10 14:57:01 2007 -0500"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Wed Jan 30 02:05:51 2008 -0500"
      },
      "message": "NFS: Increase size of cl_ipaddr field to hold IPv6 addresses\n\nThe nfs_client\u0027s cl_ipaddr field needs to be larger to hold strings that\nrepresent IPv6 addresses.\n\nSigned-off-by: Chuck Lever \u003cchuck.lever@oracle.com\u003e\nCc: Aurelien Charbon \u003caurelien.charbon@ext.bull.net\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "cc38bac3a0093b3b7928efc6ff8e9faf9e75f41d",
      "tree": "971f0653619e9068408d2938af37147f7448a53d",
      "parents": [
        "0fb2b7e945f55a8317e5f58db7c068aab5b825a1"
      ],
      "author": {
        "name": "Chuck Lever",
        "email": "chuck.lever@oracle.com",
        "time": "Mon Dec 10 14:56:54 2007 -0500"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Wed Jan 30 02:05:51 2008 -0500"
      },
      "message": "NFS: Ensure NFSv4 SETCLIENTID send buffer is large enough\n\nEnsure that the RPC buffer size specified for NFSv4 SETCLIENTID procedures\nmatches what we are encoding into the buffer.  See the definition of\nstruct nfs4_setclientid {} and the encode_setclientid() function.\n\nSigned-off-by: Chuck Lever \u003cchuck.lever@oracle.com\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "0fb2b7e945f55a8317e5f58db7c068aab5b825a1",
      "tree": "3463c1bfe730486292309d0851ad2dd94c081e23",
      "parents": [
        "0a48f5d70fa9e87269d076fe27f3563f4375c479"
      ],
      "author": {
        "name": "Chuck Lever",
        "email": "chuck.lever@oracle.com",
        "time": "Mon Dec 10 14:56:46 2007 -0500"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Wed Jan 30 02:05:50 2008 -0500"
      },
      "message": "SUNRPC: Move universal address definitions to global header\n\nUniversal addresses are defined in RFC 1833 and clarified in RFC 3530.  We\nneed to use them in several places in the NFS and RPC clients, so move the\nrelevant definition and block comment to an appropriate global include\nfile.\n\nSigned-off-by: Chuck Lever \u003cchuck.lever@oracle.com\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "40c553193df41920de659f0446e5d214c862e827",
      "tree": "4ee62a79fae0ebba26d119a1aae89bfd1a552c10",
      "parents": [
        "c81468a1a766921f11ae44e8a99816ac8dc7b015"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Fri Dec 14 14:56:07 2007 -0500"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Wed Jan 30 02:05:49 2008 -0500"
      },
      "message": "NFS: Remove the redundant nfs_client-\u003ecl_nfsversion\n\nWe can get the same information from the rpc_ops structure instead.\n\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "bfc69a456642a51c89dfd8e5184468857cb44f32",
      "tree": "0853b31afcc2c8bd24a0e94e9280d1c1083501de",
      "parents": [
        "5cce428d953cc3843b100e078dbc3c01c6411b85"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Mon Oct 15 18:18:29 2007 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Wed Jan 30 02:05:47 2008 -0500"
      },
      "message": "NFS: define a function to update nfsi-\u003ecache_change_attribute\n\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "c087567d3ffb2c7c61e091982e6ca45478394f1a",
      "tree": "39350f856b53101f98fb789d9afefb89f7b80802",
      "parents": [
        "a4a874990cbc1bc5df6f357c4f2d043cd1923e15"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Wed Jul 18 18:32:38 2007 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Wed Jan 30 02:05:41 2008 -0500"
      },
      "message": "SUNRPC: Remove the obsolete RPC_WAITQ macro\n\nNow that we\u0027ve killed off all the users.\n\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "47fe064831a2a949f6c1e0086f61a105e99ea867",
      "tree": "e5a7d80ef3e3ab936257253de9c25f3dad62a2f9",
      "parents": [
        "0773769191d943358a8392fa86abd756d004c4b6"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Thu Oct 25 18:42:55 2007 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Wed Jan 30 02:05:40 2008 -0500"
      },
      "message": "SUNRPC: Unexport rpc_init_task() and rpc_execute()\n\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "e8f5d77c8029ff8f5dcd1dfc133aac0bbbffd92b",
      "tree": "590563991cc37325ef6c346745f0163c329e3e2c",
      "parents": [
        "b5627943ab6fabbc13a45d92683363a3d08a249f"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Thu Oct 25 18:42:53 2007 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Wed Jan 30 02:05:38 2008 -0500"
      },
      "message": "SUNRPC: allow the caller of rpc_run_task to preallocate the struct rpc_task\n\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "b5627943ab6fabbc13a45d92683363a3d08a249f",
      "tree": "2b422b80ed83d5f1df823070815792eba4e0d286",
      "parents": [
        "5138fde01161cd7976fdc51f6a17da73adaa6baf"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Thu Oct 25 18:42:21 2007 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Wed Jan 30 02:05:35 2008 -0500"
      },
      "message": "SUNRPC: Remove the now unused function rpc_call_setup()\n\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "bdc7f021f3a1fade77adf3c2d7f65690566fddfe",
      "tree": "c076431ac83fc75cde00dc3d3a218fabae449980",
      "parents": [
        "b3ef8b3bb93300e58a4c4806207de3de4eb76f48"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Sat Jul 14 15:40:00 2007 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Wed Jan 30 02:05:32 2008 -0500"
      },
      "message": "NFS: Clean up the (commit|read|write)_setup() callback routines\n\nMove the common code for setting up the nfs_write_data and nfs_read_data\nstructures into fs/nfs/read.c, fs/nfs/write.c and fs/nfs/direct.c.\n\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "77de2c590ec72828156d85fa13a96db87301cc68",
      "tree": "9e14b6c75df046d406f0652f98eb520db64d3675",
      "parents": [
        "5085925902cc4d93b9a4992936edd2aee70a5e15"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Thu Oct 25 18:40:21 2007 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Wed Jan 30 02:05:31 2008 -0500"
      },
      "message": "SUNRPC: Add a helper rpc_call_start() that initialises task-\u003etk_action\n\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "3ff7576ddac06c3d07089e241b40826d24bbf1ac",
      "tree": "7f5998434b7d0dd1f08ff7ee65c93fab4861a6d3",
      "parents": [
        "c970aa85e71bd581726c42df843f6f129db275ac"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Sat Jul 14 15:40:00 2007 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Wed Jan 30 02:05:30 2008 -0500"
      },
      "message": "SUNRPC: Clean up the initialisation of priority queue scheduling info.\n\nWe want the default scheduling priority (priority \u003d\u003d 0) to remain\nRPC_PRIORITY_NORMAL.\n\nAlso ensure that the priority wait queue scheduling is per process id\ninstead of sometimes being per thread, and sometimes being per inode.\n\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "c970aa85e71bd581726c42df843f6f129db275ac",
      "tree": "e7fc90ee4064196d357045fd173764e0b8fc8ca8",
      "parents": [
        "84115e1cd4a3614c4e566d4cce31381dce3dbef9"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Sat Jul 14 15:39:59 2007 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Wed Jan 30 02:05:30 2008 -0500"
      },
      "message": "SUNRPC: Clean up rpc_run_task\n\nMake it use the new task initialiser structure instead of acting as a\nwrapper.\n\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "84115e1cd4a3614c4e566d4cce31381dce3dbef9",
      "tree": "01b2de7163deb6b3a789811183d8b8c1329b900c",
      "parents": [
        "e8914c65f7f8d4e8701b8e78a12b714872ea0402"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Sat Jul 14 15:39:59 2007 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Wed Jan 30 02:05:30 2008 -0500"
      },
      "message": "SUNRPC: Cleanup of rpc_task initialisation\n\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "62da3b24880bccd4ffc32cf8d9a7e23fab475bdd",
      "tree": "334804c6eb817bd7827f58dbe86ced455160052d",
      "parents": [
        "3ebb067d92ebe5bcfd282acf12bade891d334d07"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Tue Nov 06 18:44:20 2007 -0500"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Wed Jan 30 02:05:27 2008 -0500"
      },
      "message": "SUNRPC: Rename xprt_disconnect()\n\nxprt_disconnect() should really only be called when the transport shutdown\nis completed, and it is time to wake up any pending tasks. Rename it to\nxprt_disconnect_done() in order to reflect the semantical change.\n\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "3b948ae5be5e22532584113e2e02029519bbad8f",
      "tree": "3bfa346bfbc9808c164d3d36af29a2090a5a0628",
      "parents": [
        "67a391d72ca7efb387c30ec761a487e50a3ff085"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Mon Nov 05 17:42:39 2007 -0500"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Wed Jan 30 02:05:25 2008 -0500"
      },
      "message": "SUNRPC: Allow the client to detect if the TCP connection is closed\n\nAdd an xprt-\u003estate bit to enable the TCP -\u003estate_change() method to signal\nwhether or not the TCP connection is in the process of closing down.\nThis will to be used by the reconnection logic in a separate patch.\n\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "66af1e558538137080615e7ad6d1f2f80862de01",
      "tree": "f5f9680b86846d4df8312cd9bd729d6e10c7b5e8",
      "parents": [
        "ef818a28fac9bd214e676986d8301db0582b92a9"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Tue Nov 06 10:18:36 2007 -0500"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Wed Jan 30 02:05:24 2008 -0500"
      },
      "message": "SUNRPC: Fix a race in xs_tcp_state_change()\n\nWhen scheduling the autoclose RPC call, we want to ensure that we don\u0027t\nrace against the test_bit() call in xprt_clear_locked().\n\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "ef818a28fac9bd214e676986d8301db0582b92a9",
      "tree": "b1825d1ecdfa6b35951a61f6bc54363236c12cd0",
      "parents": [
        "2f74c0a05612b9c2014b5b67833dba9b9f523948"
      ],
      "author": {
        "name": "Steve Dickson",
        "email": "SteveD@redhat.com",
        "time": "Thu Nov 08 04:05:04 2007 -0500"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Wed Jan 30 02:05:24 2008 -0500"
      },
      "message": "NFS: Stop sillyname renames and unmounts from racing\n\nAdded an active/deactive mechanism to the nfs_server structure\nallowing async operations to hold off umount until the\noperations are done.\n\nSigned-off-by: Steve Dickson \u003csteved@redhat.com\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "acee478afc6ff7e1b8852d9a4dca1ff36021414d",
      "tree": "94aa75336122b4914af0cfa91eaf1329b2c519d3",
      "parents": [
        "8b1f9ee56e21e505a3d5d3e33f823006d1abdbaf"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Tue Jan 22 17:13:07 2008 -0500"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Wed Jan 30 02:05:24 2008 -0500"
      },
      "message": "NFS: Clean up the write request locking.\n\nEnsure that we set/clear NFS_PAGE_TAG_LOCKED when the nfs_page is hashed.\n\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "7da975a231ae8c11593fd79d1083215321be213a",
      "tree": "5d18bdf4713d1140bb08b3f7ca00938f37b32af7",
      "parents": [
        "023ccde109b995bb99862bf9c87efd006b1d1885"
      ],
      "author": {
        "name": "Martin K. Petersen",
        "email": "martin.petersen@oracle.com",
        "time": "Tue Jan 29 19:12:06 2008 +0100"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Tue Jan 29 21:55:15 2008 +0100"
      },
      "message": "Fix blktrace compile warning\n\nrequest_queue_t is deprecated\n\nSigned-off-by: Martin K. Petersen \u003cmartin.petersen@oracle.com\u003e\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\n"
    },
    {
      "commit": "023ccde109b995bb99862bf9c87efd006b1d1885",
      "tree": "c1a889bde7f895441bbec792f94641d4716b2887",
      "parents": [
        "d6d48196961729b79509dcaeeb0f0fb4fbb47d29"
      ],
      "author": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Tue Jan 29 14:08:06 2008 +0100"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Tue Jan 29 21:55:14 2008 +0100"
      },
      "message": "block: fix warning on compile with CONFIG_BLOCK\n\nstruct io_context was not defined, just add an empty forward decl.\n\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\n"
    },
    {
      "commit": "0ba6c33bcddc64a54b5f1c25a696c4767dc76292",
      "tree": "62e616f97a4762d8e75bf732e4827af2d15d52c5",
      "parents": [
        "21af0297c7e56024a5ccc4d8ad2a590f9ec371ba",
        "85040bcb4643cba578839e953f25e2d1965d83d0"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jan 29 22:54:01 2008 +1100"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jan 29 22:54:01 2008 +1100"
      },
      "message": "Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6.25\n\n* git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6.25: (1470 commits)\n  [IPV6] ADDRLABEL: Fix double free on label deletion.\n  [PPP]: Sparse warning fixes.\n  [IPV4] fib_trie: remove unneeded NULL check\n  [IPV4] fib_trie: More whitespace cleanup.\n  [NET_SCHED]: Use nla_policy for attribute validation in ematches\n  [NET_SCHED]: Use nla_policy for attribute validation in actions\n  [NET_SCHED]: Use nla_policy for attribute validation in classifiers\n  [NET_SCHED]: Use nla_policy for attribute validation in packet schedulers\n  [NET_SCHED]: sch_api: introduce constant for rate table size\n  [NET_SCHED]: Use typeful attribute parsing helpers\n  [NET_SCHED]: Use typeful attribute construction helpers\n  [NET_SCHED]: Use NLA_PUT_STRING for string dumping\n  [NET_SCHED]: Use nla_nest_start/nla_nest_end\n  [NET_SCHED]: Propagate nla_parse return value\n  [NET_SCHED]: act_api: use PTR_ERR in tcf_action_init/tcf_action_get\n  [NET_SCHED]: act_api: use nlmsg_parse\n  [NET_SCHED]: act_api: fix netlink API conversion bug\n  [NET_SCHED]: sch_netem: use nla_parse_nested_compat\n  [NET_SCHED]: sch_atm: fix format string warning\n  [NETNS]: Add namespace for ICMP replying code.\n  ...\n"
    },
    {
      "commit": "21af0297c7e56024a5ccc4d8ad2a590f9ec371ba",
      "tree": "5d288c1877b1ae9fbe24aa7fabd79565e73d3d2f",
      "parents": [
        "5ea293a9048d3a58cb0c840fa719d85ad14cba47",
        "a9d2517c7a5c8028fbc5296d3af3c75597d3d180"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jan 29 22:48:03 2008 +1100"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jan 29 22:48:03 2008 +1100"
      },
      "message": "Merge branch \u0027upstream\u0027 of git://ftp.linux-mips.org/pub/scm/upstream-linus\n\n* \u0027upstream\u0027 of git://ftp.linux-mips.org/pub/scm/upstream-linus: (68 commits)\n  [MIPS] remove Documentation/mips/GT64120.README\n  [MIPS] Malta: remaining bits of the board support code cleanup\n  [MIPS] Malta: make the helper function static\n  [MIPS] Malta: fix braces at single statement blocks\n  [MIPS] Malta, Atlas: move an extern function declaration to the header file\n  [MIPS] Malta: Use C89 style for comments\n  [MIPS] Malta: else should follow close brace in malta_int.c\n  [MIPS] Malta: remove a superfluous comment\n  [MIPS] Malta: include \u003clinux/cpu.h\u003e instead of \u003casm/cpu.h\u003e\n  [MIPS] Malta, Atlas, Sead: remove an extern from .c files\n  [MIPS] Malta: fix oversized lines in malta_int.c\n  [MIPS] Malta: remove a dead function declaration\n  [MIPS] Malta: use tabs not spaces\n  [MIPS] Malta: set up the screen info in a separate function\n  [MIPS] Malta: check the PCI clock frequency in a separate function\n  [MIPS] Malta: use the KERN_ facility level in printk()\n  [MIPS] Malta: use Linux kernel style for structure initialization\n  [MIPS]: constify function pointer tables\n  [MIPS] compat: handle argument endianess of sys32_(f)truncate64 with merge_64\n  [MIPS] Cobalt 64-bits kernels can be safely unmarked experimental\n  ...\n"
    },
    {
      "commit": "5ea293a9048d3a58cb0c840fa719d85ad14cba47",
      "tree": "88d1dd1eece2cfcbd858ff2c00fb0240dcfab3c7",
      "parents": [
        "03bc26cfefd6db756e6bc7fcda11dc17ada7be16",
        "d3883ecebbf9e095b9e379dabbbe8b2c1ee7a41c"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jan 29 22:46:14 2008 +1100"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jan 29 22:46:14 2008 +1100"
      },
      "message": "Merge git://git.kernel.org/pub/scm/linux/kernel/git/sam/kbuild\n\n* git://git.kernel.org/pub/scm/linux/kernel/git/sam/kbuild: (79 commits)\n  Remove references to \"make dep\"\n  kconfig: document use of HAVE_*\n  Introduce new section reference annotations tags: __ref, __refdata, __refconst\n  kbuild: warn about ld added unique sections\n  kbuild: add verbose option to Section mismatch reporting in modpost\n  kconfig: tristate choices with mixed tristate and boolean values\n  asm-generic/vmlix.lds.h: simplify __mem{init,exit}* dependencies\n  remove __attribute_used__\n  kbuild: support ARCH\u003dx86 in buildtar\n  kconfig: remove \"enable\"\n  kbuild: simplified warning report in modpost\n  kbuild: introduce a few helpers in modpost\n  kbuild: use simpler section mismatch warnings in modpost\n  kbuild: link vmlinux.o before kallsyms passes\n  kbuild: introduce new option to enhance section mismatch analysis\n  Use separate sections for __dev/__cpu/__mem code/data\n  compiler.h: introduce __section()\n  all archs: consolidate init and exit sections in vmlinux.lds.h\n  kbuild: check section names consistently in modpost\n  kbuild: introduce blacklisting in modpost\n  ...\n"
    },
    {
      "commit": "03bc26cfefd6db756e6bc7fcda11dc17ada7be16",
      "tree": "36b4cdbd02e464a016d78e4b520595922d803e68",
      "parents": [
        "8cd226ca3f64f28c8123ebfaa6afe8dc8c18b174",
        "6494a93d55fad586238cc1940e846c6d03e1aaf6"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jan 29 22:45:39 2008 +1100"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jan 29 22:45:39 2008 +1100"
      },
      "message": "Merge branch \u0027master\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/rusty/linux-2.6-for-linus\n\n* \u0027master\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/rusty/linux-2.6-for-linus:\n  Module: check to see if we have a built in module with the same name\n  module: add module taint on ndiswrapper\n  module: fix the module name length in param_sysfs_builtin\n  module: make module_address_lookup safe\n  module: better OOPS and lockdep coverage for loading modules\n  module: Fix gratuitous sprintf in module.c\n  module: wait for dependent modules doing init.\n  module: Don\u0027t report discarded init pages as kernel text.\n"
    },
    {
      "commit": "bbdda5e1fe9c1a5b34a2b552910f5f4c0dc24485",
      "tree": "a78542754115d4d40de321b187c15a192ff17e97",
      "parents": [
        "ae9cef0b7949c0d528962127f2bccf7c753949df"
      ],
      "author": {
        "name": "Dmitri Vorobiev",
        "email": "dmitri.vorobiev@gmail.com",
        "time": "Thu Jan 24 19:52:53 2008 +0300"
      },
      "committer": {
        "name": "Ralf Baechle",
        "email": "ralf@linux-mips.org",
        "time": "Tue Jan 29 10:15:05 2008 +0000"
      },
      "message": "[MIPS] Malta, Atlas: move an extern function declaration to the header file\n\nThis was compile-tested using default configs for the boards\naffected by this change.\n\nThis patch does not introduce any functional changes.\n\nSigned-off-by: Dmitri Vorobiev \u003cdmitri.vorobiev@gmail.com\u003e\nSigned-off-by: Ralf Baechle \u003cralf@linux-mips.org\u003e\n"
    },
    {
      "commit": "1997267072d6bfadb37d336779e6122c2d44343d",
      "tree": "42d89cf3c681a2f53697c0b7dc7be6e95687365a",
      "parents": [
        "f80714966795ecfe6261509d0270d9761b07b462"
      ],
      "author": {
        "name": "Dmitri Vorobiev",
        "email": "dmitri.vorobiev@gmail.com",
        "time": "Thu Jan 24 19:52:48 2008 +0300"
      },
      "committer": {
        "name": "Ralf Baechle",
        "email": "ralf@linux-mips.org",
        "time": "Tue Jan 29 10:15:04 2008 +0000"
      },
      "message": "[MIPS] Malta, Atlas, Sead: remove an extern from .c files\n\nThis patch moves the \"extern\" declaration for the function\nmips_reboot_setup() from the board setup .c files to the\nheader file include/asm-mips/mips-boards/generic.h.\n\nThis fixes a warning produced by the checkpatch.pl script.\n\nNo functional changes introduced.\n\nThis was compile-tested by building the kernel for all\nthree boards affected by this change. All builds finished\nsuccessfully.\n\nSigned-off-by: Dmitri Vorobiev \u003cdmitri.vorobiev@gmail.com\u003e\nSigned-off-by: Ralf Baechle \u003cralf@linux-mips.org\u003e\n"
    },
    {
      "commit": "302922e5f6901eb6f29c58539631f71b3d9746b8",
      "tree": "b7e41f0da3bc8710363ab6cd020ace21d35a9ac6",
      "parents": [
        "9900485893c004245cbaeef050fe6ba5453a5925"
      ],
      "author": {
        "name": "Ralf Baechle",
        "email": "ralf@linux-mips.org",
        "time": "Tue Jan 29 10:15:02 2008 +0000"
      },
      "committer": {
        "name": "Ralf Baechle",
        "email": "ralf@linux-mips.org",
        "time": "Tue Jan 29 10:15:02 2008 +0000"
      },
      "message": "[MIPS] Qemu: Remove platform.\n\nThe Qemu platform was originally implemented to have an easily supportable\nplatform until Qemu reaches a state where it emulates a real world system.\nSince the latest release Qemu is capable of emulating the MIPSsim and\nMalta platforms, so this goal has been reached.  The Qemu plaform is also\nrather underfeatured so less useful than a Malta emulation.\n\nSigned-off-by: Ralf Baechle \u003cralf@linux-mips.org\u003e\n"
    },
    {
      "commit": "2d47c58efadd33b8399f3f440b7e9cf93692f262",
      "tree": "bd19c49649d6d6b3cc47859514f2fdad72d47b62",
      "parents": [
        "9c746edb35c9800e2ad9f64b5d96d0732c42b74b"
      ],
      "author": {
        "name": "Ralf Baechle",
        "email": "ralf@linux-mips.org",
        "time": "Tue Jan 29 10:15:01 2008 +0000"
      },
      "committer": {
        "name": "Ralf Baechle",
        "email": "ralf@linux-mips.org",
        "time": "Tue Jan 29 10:15:01 2008 +0000"
      },
      "message": "[MIPS] Delete CONFIG_MSP_FPGA\n\nOriginally noticed by Jiri Olsa \u003colsajiri@gmail.com\u003e.\n\nSigned-off-by: Ralf Baechle \u003cralf@linux-mips.org\u003e\n"
    },
    {
      "commit": "71466dd477c7a67d188d1d8310c7016a88531a04",
      "tree": "7836b852fff6c6d3bf738685e1a2484d07560c36",
      "parents": [
        "991f8b6ac5a7284612679f4a095578b460555e8f"
      ],
      "author": {
        "name": "Yoichi Yuasa",
        "email": "yoichi_yuasa@tripeaks.co.jp",
        "time": "Wed Dec 12 22:20:19 2007 +0900"
      },
      "committer": {
        "name": "Ralf Baechle",
        "email": "ralf@linux-mips.org",
        "time": "Tue Jan 29 10:15:00 2008 +0000"
      },
      "message": "[MIPS] remove unneeded button check for reset\n\nRemoved unneeded button check for reset.\nBecause, the Cobalt has power switch.\n\nSigned-off-by: Yoichi Yuasa \u003cyoichi_yuasa@tripeaks.co.jp\u003e\nSigned-off-by: Ralf Baechle \u003cralf@linux-mips.org\u003e\n"
    },
    {
      "commit": "c9662341f8a09cffd7234a89cc066c342fe343bf",
      "tree": "09cace456902e8e61bb04c259863ee231d6336cc",
      "parents": [
        "fa71c96002d1b02cd1ba1a4477d4b8ad95b587f9"
      ],
      "author": {
        "name": "Yoichi Yuasa",
        "email": "yoichi_yuasa@tripeaks.co.jp",
        "time": "Sun Dec 09 21:19:36 2007 +0900"
      },
      "committer": {
        "name": "Ralf Baechle",
        "email": "ralf@linux-mips.org",
        "time": "Tue Jan 29 10:15:00 2008 +0000"
      },
      "message": "[MIPS] time: remove unused mips_timer_state()\n\nSigned-off-by: Yoichi Yuasa \u003cyoichi_yuasa@tripeaks.co.jp\u003e\nSigned-off-by: Ralf Baechle \u003cralf@linux-mips.org\u003e\n"
    },
    {
      "commit": "ae0c69acd61918cecd8e2949d9575271bc2fdfff",
      "tree": "7b040c1d75ee729d4c22bd01fbad6abd7ae68796",
      "parents": [
        "39a51109dd14001185b0cd122ca46cce1d0795bf"
      ],
      "author": {
        "name": "Ralf Baechle",
        "email": "ralf@linux-mips.org",
        "time": "Tue Jan 29 10:15:00 2008 +0000"
      },
      "committer": {
        "name": "Ralf Baechle",
        "email": "ralf@linux-mips.org",
        "time": "Tue Jan 29 10:15:00 2008 +0000"
      },
      "message": "[MIPS] fixmap: delete unused __set_fixmap, set_fixmap and set_fixmap_nocache\n\nSigned-off-by: Ralf Baechle \u003cralf@linux-mips.org\u003e\n"
    },
    {
      "commit": "231a35d37293ab88d325a9cb94e5474c156282c0",
      "tree": "75f38d069e5e49de03fb789975b8a102c282b979",
      "parents": [
        "237cfee1db66147aef4457f02b56a41e6f84bfd3"
      ],
      "author": {
        "name": "Thomas Bogendoerfer",
        "email": "tsbogend@alpha.franken.de",
        "time": "Fri Jan 04 23:31:07 2008 +0100"
      },
      "committer": {
        "name": "Ralf Baechle",
        "email": "ralf@linux-mips.org",
        "time": "Tue Jan 29 10:14:59 2008 +0000"
      },
      "message": "[MIPS] RM: Collected changes\n\n- EISA support for non PCI RMs (RM200 and RM400-xxx). The major part\n  is the splitting of the EISA and onboard ISA of the RM200, which\n  makes the EISA bus on the RM200 look like on other RMs.\n- 64bit kernel support\n- system type detection is now common for big and little endian\n- moved sniprom code to arch/mips/fw\n- added call_o32 function to arch/mips/fw/lib, which uses a private\n  stack for calling prom functions\n- fix problem with ISA interrupts, which makes using PIT clockevent\n  possible\n\nSigned-off-by: Thomas Bogendoerfer \u003ctsbogend@alpha.franken.de\u003e\nSigned-off-by: Ralf Baechle \u003cralf@linux-mips.org\u003e\n"
    },
    {
      "commit": "237cfee1db66147aef4457f02b56a41e6f84bfd3",
      "tree": "75560d951a0a18184040d03184b9d4b2cff20f02",
      "parents": [
        "c5ec1983e45d25446a023e98207e30ab1bf2311a"
      ],
      "author": {
        "name": "Manuel Lauss",
        "email": "mano@roarinelk.homelinux.net",
        "time": "Thu Dec 06 09:07:55 2007 +0100"
      },
      "committer": {
        "name": "Ralf Baechle",
        "email": "ralf@linux-mips.org",
        "time": "Tue Jan 29 10:14:59 2008 +0000"
      },
      "message": "[MIPS] Alchemy: Au1210/Au1250 CPU support\n\nThis patch adds IDs for new Au1200 variants: Au1210 and Au1250.\nThey are essentially identical to the Au1200 except for the Au1210\nwhich has a different SoC-ID in the PRId register [bits 31:24].\nThe Au1250 is a \"Au1200 V0.2\".\n\nSigned-off-by: Manuel Lauss \u003cmano@roarinelk.homelinux.net\u003e\nSigned-off-by: Ralf Baechle \u003cralf@linux-mips.org\u003e\n"
    },
    {
      "commit": "e2defae5a9b4f8d1acb058be212ef89c8763dc5b",
      "tree": "3a0e72b5df8ee181e6c30fb6d1cba636c460a9fd",
      "parents": [
        "81149be11327cbad006f82318f46e0b68a7b14ad"
      ],
      "author": {
        "name": "Thomas Bogendoerfer",
        "email": "tsbogend@alpha.franken.de",
        "time": "Sun Dec 02 13:00:32 2007 +0100"
      },
      "committer": {
        "name": "Ralf Baechle",
        "email": "ralf@linux-mips.org",
        "time": "Tue Jan 29 10:14:58 2008 +0000"
      },
      "message": "[MIPS] IP28 support\n\nAdd support for SGI IP28 machines (Indigo 2 with R10k CPUs)\nThis work is mainly based on Peter Fuersts work.\n\nSigned-off-by: Thomas Bogendoerfer \u003ctsbogend@alpha.franken.de\u003e\nSigned-off-by: Ralf Baechle \u003cralf@linux-mips.org\u003e\n"
    },
    {
      "commit": "81149be11327cbad006f82318f46e0b68a7b14ad",
      "tree": "89f80708e00d05fddd3d8e303396aa84a3a18d2b",
      "parents": [
        "c7c6b39050aed4af913c17970ebfb592bae757fc"
      ],
      "author": {
        "name": "Ralf Baechle",
        "email": "ralf@linux-mips.org",
        "time": "Tue Jan 29 10:14:58 2008 +0000"
      },
      "committer": {
        "name": "Ralf Baechle",
        "email": "ralf@linux-mips.org",
        "time": "Tue Jan 29 10:14:58 2008 +0000"
      },
      "message": "[MIPS] Remove CONFIG_SIBYTE_PT{1120,1125,SWARM}\n\nAccording to Broadcom the PT systems are production test systems which\nnever reached customers so no need to keep the fragmentary support we\ncurrently have.\n\nSigned-off-by: Ralf Baechle \u003cralf@linux-mips.org\u003e\n"
    },
    {
      "commit": "930bff882296c02ca81db108672ef4ca06c37db5",
      "tree": "53288137d4f7cc02d8ca417edb2b25221c3007cd",
      "parents": [
        "2064ba23e58daa929eec6f5e7a2abc24574a95b9"
      ],
      "author": {
        "name": "Thomas Bogendoerfer",
        "email": "tsbogend@alpha.franken.de",
        "time": "Sun Nov 25 11:47:56 2007 +0100"
      },
      "committer": {
        "name": "Ralf Baechle",
        "email": "ralf@linux-mips.org",
        "time": "Tue Jan 29 10:14:58 2008 +0000"
      },
      "message": "[MIPS] IP28: added cache barrier to assembly routines\n\nIP28 needs special treatment to avoid speculative accesses. gcc\ntakes care for .c code, but for assembly code we need to do it\nmanually.\n\nThis is taken from Peter Fuersts IP28 patches.\n\nSigned-off-by: Thomas Bogendoerfer \u003ctsbogend@alpha.franken.de\u003e\nSigned-off-by: Ralf Baechle \u003cralf@linux-mips.org\u003e\n"
    },
    {
      "commit": "2064ba23e58daa929eec6f5e7a2abc24574a95b9",
      "tree": "77967a6451b379f49a62c364e7ef352a0de50f5a",
      "parents": [
        "68efdb81c6c3b5c1df7169a4b460907198b19103"
      ],
      "author": {
        "name": "Atsushi Nemoto",
        "email": "anemo@mba.ocn.ne.jp",
        "time": "Sat Nov 24 01:20:27 2007 +0900"
      },
      "committer": {
        "name": "Ralf Baechle",
        "email": "ralf@linux-mips.org",
        "time": "Tue Jan 29 10:14:58 2008 +0000"
      },
      "message": "[MIPS] TXx9 watchdog support for rbhma3100,rbhma4200,rbhma4500\n\nThis patch adds support for txx9wdt driver to rbhma3100, rbhma4200 and\nrbhma4500 platform.\n\nSigned-off-by: Atsushi Nemoto \u003canemo@mba.ocn.ne.jp\u003e\nSigned-off-by: Ralf Baechle \u003cralf@linux-mips.org\u003e\n"
    },
    {
      "commit": "68efdb81c6c3b5c1df7169a4b460907198b19103",
      "tree": "1c0c13caef893bc853a814f0bb76081dface5db8",
      "parents": [
        "e9c33572a92aa2ee565da5136745ea304ac23d9a"
      ],
      "author": {
        "name": "Thomas Bogendoerfer",
        "email": "tsbogend@alpha.franken.de",
        "time": "Sun Nov 25 11:27:06 2007 +0100"
      },
      "committer": {
        "name": "Ralf Baechle",
        "email": "ralf@linux-mips.org",
        "time": "Tue Jan 29 10:14:58 2008 +0000"
      },
      "message": "[MIPS] IP22/IP28: fix extracting board/chip rev\n\nTaken from Peter Fuersts IP28 patches\n\nSigned-off-by: Thomas Bogendoerfer \u003ctsbogend@alpha.franken.de\u003e\nSigned-off-by: Ralf Baechle \u003cralf@linux-mips.org\u003e\n"
    },
    {
      "commit": "e9c33572a92aa2ee565da5136745ea304ac23d9a",
      "tree": "c2a56008c9205540438352363fbcfea593019741",
      "parents": [
        "87353d8ac39c52784da605ecbe965ecdfad609ad"
      ],
      "author": {
        "name": "Thomas Bogendoerfer",
        "email": "tsbogend@alpha.franken.de",
        "time": "Mon Nov 26 23:40:01 2007 +0100"
      },
      "committer": {
        "name": "Ralf Baechle",
        "email": "ralf@linux-mips.org",
        "time": "Tue Jan 29 10:14:57 2008 +0000"
      },
      "message": "[MIPS] Use real cache invalidate\n\nR10k non coherent machines need a real dma cache invalidate to get rid of\nspeculative stores in cache.  For other machines this promises a slight\nspeedup.\n\nSigned-off-by: Thomas Bogendoerfer \u003ctsbogend@alpha.franken.de\u003e\nSigned-off-by: Ralf Baechle \u003cralf@linux-mips.org\u003e\n"
    },
    {
      "commit": "87353d8ac39c52784da605ecbe965ecdfad609ad",
      "tree": "c95ce7cbe9b099c21cab71a195621801b04bc05a",
      "parents": [
        "19388fb092d89e179575bd0b44f51b57e175edf5"
      ],
      "author": {
        "name": "Ralf Baechle",
        "email": "ralf@linux-mips.org",
        "time": "Mon Nov 19 12:23:51 2007 +0000"
      },
      "committer": {
        "name": "Ralf Baechle",
        "email": "ralf@linux-mips.org",
        "time": "Tue Jan 29 10:14:57 2008 +0000"
      },
      "message": "[MIPS] SMP: Call platform methods via ops structure.\n\nSigned-off-by: Ralf Baechle \u003cralf@linux-mips.org\u003e\n"
    },
    {
      "commit": "0ab7aefc4d43a6dee26c891b41ef9c7a67d2379b",
      "tree": "4a627b7079979ad43b08cef297b2a6eb78d0a78e",
      "parents": [
        "92b1e6a64a8d9d5ed3ec8797eed8b36e2164a410"
      ],
      "author": {
        "name": "Ralf Baechle",
        "email": "ralf@linux-mips.org",
        "time": "Fri Mar 02 20:42:04 2007 +0000"
      },
      "committer": {
        "name": "Ralf Baechle",
        "email": "ralf@linux-mips.org",
        "time": "Tue Jan 29 10:14:57 2008 +0000"
      },
      "message": "[MIPS] MT: Scheduler support for SMT\n\nSigned-off-by: Ralf Baechle \u003cralf@linux-mips.org\u003e\n"
    },
    {
      "commit": "48ef2626aeecac3b160d1aee38ac46d6c3540122",
      "tree": "e9b18c973f8fa2a18be20f51e6de7b828e0cd2d2",
      "parents": [
        "2206583dd5e370c3c3a30f7e67272e44abab9093"
      ],
      "author": {
        "name": "Andrew Sharp",
        "email": "andy.sharp@onstor.com",
        "time": "Wed Oct 31 14:11:24 2007 -0700"
      },
      "committer": {
        "name": "Ralf Baechle",
        "email": "ralf@linux-mips.org",
        "time": "Tue Jan 29 10:14:55 2008 +0000"
      },
      "message": "[MIPS] Put cast inside macro instead of all the callers\n\nSince all the callers of the PHYS_TO_XKPHYS macro call with a constant,\nput the cast to LL inside the macro where it really should be rather\nthan in all the callers.  This makes macros like PHYS_TO_XKSEG_UNCACHED\nwork without gcc whining.\n\nSigned-off-by: Andrew Sharp \u003candy.sharp@onstor.com\u003e\nSigned-off-by: Ralf Baechle \u003cralf@linux-mips.org\u003e\n"
    },
    {
      "commit": "7f3f4900619743f4e3af21e9228748c3d692a2c2",
      "tree": "71b1924fc4abeedd95fa0b97da8abbf5e631a61c",
      "parents": [
        "417345d8f5bacc291138c99a292a8ca69947530e"
      ],
      "author": {
        "name": "Yoichi Yuasa",
        "email": "yoichi_yuasa@tripeaks.co.jp",
        "time": "Fri Oct 26 22:42:31 2007 +0900"
      },
      "committer": {
        "name": "Ralf Baechle",
        "email": "ralf@linux-mips.org",
        "time": "Tue Jan 29 10:14:55 2008 +0000"
      },
      "message": "[MIPS] remove unused mips_machtype\n\nRemoved unused mips_machtype.  These are only set but not used.\n\nSigned-off-by: Yoichi Yuasa \u003cyoichi_yuasa@tripeaks.co.jp\u003e\nSigned-off-by: Ralf Baechle \u003cralf@linux-mips.org\u003e\n"
    },
    {
      "commit": "417345d8f5bacc291138c99a292a8ca69947530e",
      "tree": "a8a5e61b0466fd0a914bef82fc266a87eccaa016",
      "parents": [
        "8b6c2324bf2b023e26d53052bbcddcbf2f2c97ee"
      ],
      "author": {
        "name": "Christoph Hellwig",
        "email": "hch@lst.de",
        "time": "Mon Oct 29 14:23:43 2007 +0000"
      },
      "committer": {
        "name": "Ralf Baechle",
        "email": "ralf@linux-mips.org",
        "time": "Tue Jan 29 10:14:55 2008 +0000"
      },
      "message": "[MIPS] CFE: Make code remotely resemble Linux code.\n\nSigned-off-by: Ralf Baechle \u003cralf@linux-mips.org\u003e\n"
    },
    {
      "commit": "619b6e18fce20e4b2d0082cde989f37e1be7b3e1",
      "tree": "b56120c0de584f6672aa7e4533163435613f5203",
      "parents": [
        "20d60d9973c3b441902b0a3f4f6f7e7ade08f77d"
      ],
      "author": {
        "name": "Maciej W. Rozycki",
        "email": "macro@linux-mips.org",
        "time": "Tue Oct 23 12:43:25 2007 +0100"
      },
      "committer": {
        "name": "Ralf Baechle",
        "email": "ralf@linux-mips.org",
        "time": "Tue Jan 29 10:14:55 2008 +0000"
      },
      "message": "[MIPS] R4000/R4400 daddiu erratum workaround\n\n This complements the generic R4000/R4400 errata workaround code and adds \nbits for the daddiu problem.  In most places it just modifies handwritten \nassembly code so that the assembler is allowed to use a temporary register \nas daddiu may now be treated as a macro that expands to a sequence of li \nand daddu.  It is the AT register or, where AT is unavailable or used \nexplicitly for another purpose, an explicitly-named register is selected, \nusing the .set at\u003d\u003creg\u003e feature added recently to gas.  This feature is \nonly used if CONFIG_CPU_DADDI_WORKAROUNDS has been set, so if the \nworkaround remains disabled, the required version of binutils stays \nunchanged.\n\n Similarly, daddiu instructions put in branch delay slots in noreorder \nfragments are now taken out of them and the assembler is allowed to \nreorder them itself as possible (which it does making the whole idea of \nscheduling them into delay slots manually questionable).\n\n Also in the very few places where such a simple conversion was not \npossible, a handcoded longer sequence is implemented.\n\n Other than that there are changes to code responsible for building the \nTLB fault and page clear/copy handlers to avoid daddiu as appropriate.  \nThese are only effective if the erratum is verified to be present at the \nrun time.\n\n Finally there is a trivial update to __delay(), because it uses daddiu in \na branch delay slot.\n\nSigned-off-by: Maciej W. Rozycki \u003cmacro@linux-mips.org\u003e\nSigned-off-by: Ralf Baechle \u003cralf@linux-mips.org\u003e\n"
    },
    {
      "commit": "20d60d9973c3b441902b0a3f4f6f7e7ade08f77d",
      "tree": "2dbadcb5600fcb486612ec30d972e6c29195ee1d",
      "parents": [
        "2b22c034d04d3632a339d14d5803c8f94e412608"
      ],
      "author": {
        "name": "Maciej W. Rozycki",
        "email": "macro@linux-mips.org",
        "time": "Tue Oct 23 12:43:11 2007 +0100"
      },
      "committer": {
        "name": "Ralf Baechle",
        "email": "ralf@linux-mips.org",
        "time": "Tue Jan 29 10:14:54 2008 +0000"
      },
      "message": "[MIPS] R4000/R4400 errata workarounds\n\n This is the gereric part of R4000/R4400 errata workarounds.  They include \ncompiler and assembler support as well as some source code modifications \nto address the problems with some combinations of multiply/divide+shift \ninstructions as well as the daddi and daddiu instructions.\n\n Changes included are as follows:\n\n1. New Kconfig options to select workarounds by platforms as necessary.\n\n2. Arch top-level Makefile to pass necessary options to the compiler; also \n   incompatible configurations are detected (-mno-sym32 unsupported as \n   horribly intrusive for little gain).\n\n3. Bug detection updated and shuffled -- the multiply/divide+shift problem \n   is lethal enough that if not worked around it makes the kernel crash in \n   time_init() because of a division by zero; the daddiu erratum might \n   also trigger early potentially, though I have not observed it.  On the \n   other hand the daddi detection code requires the exception subsystem to \n   have been initialised (and is there mainly for information).\n\n4. r4k_daddiu_bug() added so that the existence of the erratum can be \n   queried by code at the run time as necessary; useful for generated code \n   like TLB fault and copy/clear page handlers.\n\n5. __udelay() updated as it uses multiplication in inline assembly.\n\n Note that -mdaddi requires modified toolchain (which has been maintained \nby myself and available from my site for ~4years now -- versions covered \nare GCC 2.95.4 - 4.1.2 and binutils from 2.13 onwards).  The -mfix-r4000 \nand -mfix-r4400 have been standard for a while though.\n\nSigned-off-by: Maciej W. Rozycki \u003cmacro@linux-mips.org\u003e\nSigned-off-by: Ralf Baechle \u003cralf@linux-mips.org\u003e\n"
    },
    {
      "commit": "6dd06c9fbe025f542bce4cdb91790c0f91962722",
      "tree": "5c946eb93f30c64fd435bdd6d1064880ef21557a",
      "parents": [
        "bb9d3d56e792d2619cc0903df4ac01d86ac1261d"
      ],
      "author": {
        "name": "Rusty Russell",
        "email": "rusty@rustcorp.com.au",
        "time": "Tue Jan 29 17:13:22 2008 -0500"
      },
      "committer": {
        "name": "Rusty Russell",
        "email": "rusty@rustcorp.com.au",
        "time": "Tue Jan 29 17:13:23 2008 +1100"
      },
      "message": "module: make module_address_lookup safe\n\nmodule_address_lookup releases preemption then returns a pointer into\nthe module space.  The only user (kallsyms) copies the result, so just\ndo that under the preempt disable.\n\nSigned-off-by: Rusty Russell \u003crusty@rustcorp.com.au\u003e\n"
    },
    {
      "commit": "7b7510662f4d05ddcc45d435769860e73e6aa20e",
      "tree": "adf0fe32c57c53099b6604bcf40d914398a5504c",
      "parents": [
        "b939e3766ec19eb556cb784c2faace253c6e1560"
      ],
      "author": {
        "name": "Mingming Cao",
        "email": "cmm@us.ibm.com",
        "time": "Mon Jan 28 23:58:27 2008 -0500"
      },
      "committer": {
        "name": "Theodore Ts\u0027o",
        "email": "tytso@mit.edu",
        "time": "Mon Jan 28 23:58:27 2008 -0500"
      },
      "message": "jbd2: add lockdep support\n\nPorted from similar patch for the jbd layer.\n\nSigned-off-by: Mingming Cao \u003ccmm@us.ibm.com\u003e\nSigned-off-by: \"Theodore Ts\u0027o\" \u003ctytso@mit.edu\u003e\n\n"
    },
    {
      "commit": "c9de560ded61faa5b754137b7753da252391c55a",
      "tree": "2c4311377c4aa72450e27f531e198fe3e1c67db0",
      "parents": [
        "1988b51e476bd097d910c9245b53f2e38aedaf0d"
      ],
      "author": {
        "name": "Alex Tomas",
        "email": "alex@clusterfs.com",
        "time": "Tue Jan 29 00:19:52 2008 -0500"
      },
      "committer": {
        "name": "Theodore Ts\u0027o",
        "email": "tytso@mit.edu",
        "time": "Tue Jan 29 00:19:52 2008 -0500"
      },
      "message": "ext4: Add multi block allocator for ext4\n\nSigned-off-by: Alex Tomas \u003calex@clusterfs.com\u003e\nSigned-off-by: Andreas Dilger \u003cadilger@clusterfs.com\u003e\nSigned-off-by: Aneesh Kumar K.V \u003caneesh.kumar@linux.vnet.ibm.com\u003e\nSigned-off-by: Eric Sandeen \u003csandeen@redhat.com\u003e\nSigned-off-by: \"Theodore Ts\u0027o\" \u003ctytso@mit.edu\u003e\n"
    },
    {
      "commit": "1988b51e476bd097d910c9245b53f2e38aedaf0d",
      "tree": "a36b860ac1a49b359d6dc5fd7af9916cf034cac8",
      "parents": [
        "aa02ad67d9b308290fde390682cd039b29f7ab85"
      ],
      "author": {
        "name": "Alex Tomas",
        "email": "alex@clusterfs.com",
        "time": "Mon Jan 28 23:58:27 2008 -0500"
      },
      "committer": {
        "name": "Theodore Ts\u0027o",
        "email": "tytso@mit.edu",
        "time": "Mon Jan 28 23:58:27 2008 -0500"
      },
      "message": "ext4: Add new functions for searching extent tree\n\nAdd the functions ext4_ext_search_left() and ext4_ext_search_right(),\nwhich are used by mballoc during ext4_ext_get_blocks to decided whether\nto merge extent information.\n\nSigned-off-by: Alex Tomas \u003calex@clusterfs.com\u003e\nSigned-off-by: Andreas Dilger \u003cadilger@clusterfs.com\u003e\nSigned-off-by: Johann Lombardi \u003cjohann@clusterfs.com\u003e\nSigned-off-by: Aneesh Kumar K.V \u003caneesh.kumar@linux.vnet.ibm.com\u003e\nSigned-off-by: \"Theodore Ts\u0027o\" \u003ctytso@mit.edu\u003e\n"
    },
    {
      "commit": "aa02ad67d9b308290fde390682cd039b29f7ab85",
      "tree": "1ebf910ab16e6081b5dd3ca526973f09cfd065c4",
      "parents": [
        "c549a95d40efd83fc054785dd1634e8b71fba890"
      ],
      "author": {
        "name": "Aneesh Kumar K.V",
        "email": "aneesh.kumar@linux.vnet.ibm.com",
        "time": "Mon Jan 28 23:58:27 2008 -0500"
      },
      "committer": {
        "name": "Theodore Ts\u0027o",
        "email": "tytso@mit.edu",
        "time": "Mon Jan 28 23:58:27 2008 -0500"
      },
      "message": "ext4: Add ext4_find_next_bit()\n\nThis function is used by the ext4 multi block allocator patches.\n\nAlso add generic_find_next_le_bit\n\nSigned-off-by: Aneesh Kumar K.V \u003caneesh.kumar@linux.vnet.ibm.com\u003e\nCc: \u003clinux-ext4@vger.kernel.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\n"
    },
    {
      "commit": "c14c6fd5c56a0d0495d8a7c0f2bc330be658663e",
      "tree": "6ca056c1cff1103739170d7a19c66a9966c59eb2",
      "parents": [
        "25ec56b518257a56d2ff41a941d288e4b5ff9488"
      ],
      "author": {
        "name": "Aneesh Kumar K.V",
        "email": "aneesh.kumar@linux.vnet.ibm.com",
        "time": "Mon Jan 28 23:58:26 2008 -0500"
      },
      "committer": {
        "name": "Theodore Ts\u0027o",
        "email": "tytso@mit.edu",
        "time": "Mon Jan 28 23:58:26 2008 -0500"
      },
      "message": "ext4: Add EXT4_IOC_MIGRATE ioctl\n\nThe below patch add ioctl for migrating ext3 indirect block mapped inode\nto ext4 extent mapped inode.\n\nSigned-off-by: Aneesh Kumar K.V \u003caneesh.kumar@linux.vnet.ibm.com\u003e\n"
    },
    {
      "commit": "25ec56b518257a56d2ff41a941d288e4b5ff9488",
      "tree": "77e84d38a5ad242f9d73a006f009649f223378f1",
      "parents": [
        "7a224228ed79d587ece2304869000aad1b8e97dd"
      ],
      "author": {
        "name": "Jean Noel Cordenner",
        "email": "jean-noel.cordenner@bull.net",
        "time": "Mon Jan 28 23:58:27 2008 -0500"
      },
      "committer": {
        "name": "Theodore Ts\u0027o",
        "email": "tytso@mit.edu",
        "time": "Mon Jan 28 23:58:27 2008 -0500"
      },
      "message": "ext4: Add inode version support in ext4\n\nThis patch adds 64-bit inode version support to ext4. The lower 32 bits\nare stored in the osd1.linux1.l_i_version field while the high 32 bits\nare stored in the i_version_hi field newly created in the ext4_inode.\nThis field is incremented in case the ext4_inode is large enough. A\ni_version mount option has been added to enable the feature.\n\nSigned-off-by: Mingming Cao \u003ccmm@us.ibm.com\u003e\nSigned-off-by: Andreas Dilger \u003cadilger@clusterfs.com\u003e\nSigned-off-by: Kalpak Shah \u003ckalpak@clusterfs.com\u003e\nSigned-off-by: Aneesh Kumar K.V \u003caneesh.kumar@linux.vnet.ibm.com\u003e\nSigned-off-by: Jean Noel Cordenner \u003cjean-noel.cordenner@bull.net\u003e\n"
    },
    {
      "commit": "7a224228ed79d587ece2304869000aad1b8e97dd",
      "tree": "f2b299f5a5d04cf8d3d0ef10ff264bd34943f90e",
      "parents": [
        "818d276ceb83aa9fdebb5e0a53188290312de987"
      ],
      "author": {
        "name": "Jean Noel Cordenner",
        "email": "jean-noel.cordenner@bull.net",
        "time": "Mon Jan 28 23:58:27 2008 -0500"
      },
      "committer": {
        "name": "Theodore Ts\u0027o",
        "email": "tytso@mit.edu",
        "time": "Mon Jan 28 23:58:27 2008 -0500"
      },
      "message": "vfs: Add 64 bit i_version support\n\nThe i_version field of the inode is changed to be a 64-bit counter that\nis set on every inode creation and that is incremented every time the\ninode data is modified (similarly to the \"ctime\" time-stamp).\nThe aim is to fulfill a NFSv4 requirement for rfc3530.\nThis first part concerns the vfs, it converts the 32-bit i_version in\nthe generic inode to a 64-bit, a flag is added in the super block in\norder to check if the feature is enabled and the i_version is\nincremented in the vfs.\n\nSigned-off-by: Mingming Cao \u003ccmm@us.ibm.com\u003e\nSigned-off-by: Jean Noel Cordenner \u003cjean-noel.cordenner@bull.net\u003e\nSigned-off-by: Kalpak Shah \u003ckalpak@clusterfs.com\u003e\n"
    },
    {
      "commit": "818d276ceb83aa9fdebb5e0a53188290312de987",
      "tree": "de3fb4ffadd72caea2876c5232ce76cd14b3646e",
      "parents": [
        "8e85fb3f305b24b79c6d9cb7a56d22b062335ad3"
      ],
      "author": {
        "name": "Girish Shilamkar",
        "email": "girish@clusterfs.com",
        "time": "Mon Jan 28 23:58:27 2008 -0500"
      },
      "committer": {
        "name": "Theodore Ts\u0027o",
        "email": "tytso@mit.edu",
        "time": "Mon Jan 28 23:58:27 2008 -0500"
      },
      "message": "ext4: Add the journal checksum feature\n\nThe journal checksum feature adds two new flags i.e\nJBD2_FEATURE_INCOMPAT_ASYNC_COMMIT and JBD2_FEATURE_COMPAT_CHECKSUM.\n\nJBD2_FEATURE_CHECKSUM flag indicates that the commit block contains the\nchecksum for the blocks described by the descriptor blocks.\nDue to checksums, writing of the commit record no longer needs to be\nsynchronous. Now commit record can be sent to disk without waiting for\ndescriptor blocks to be written to disk. This behavior is controlled\nusing JBD2_FEATURE_ASYNC_COMMIT flag. Older kernels/e2fsck should not be\nable to recover the journal with _ASYNC_COMMIT hence it is made\nincompat.\nThe commit header has been extended to hold the checksum along with the\ntype of the checksum.\n\nFor recovery in pass scan checksums are verified to ensure the sanity\nand completeness(in case of _ASYNC_COMMIT) of every transaction.\n\nSigned-off-by: Andreas Dilger \u003cadilger@clusterfs.com\u003e\nSigned-off-by: Girish Shilamkar \u003cgirish@clusterfs.com\u003e\nSigned-off-by: Dave Kleikamp \u003cshaggy@linux.vnet.ibm.com\u003e\nSigned-off-by: Mingming Cao \u003ccmm@us.ibm.com\u003e\n"
    },
    {
      "commit": "8e85fb3f305b24b79c6d9cb7a56d22b062335ad3",
      "tree": "9b037c1b1649bce1338911fd8ca3980229c1548a",
      "parents": [
        "4df3d265bf8f3762e1d77f554ee279c39dedb020"
      ],
      "author": {
        "name": "Johann Lombardi",
        "email": "johann.lombardi@bull.net",
        "time": "Mon Jan 28 23:58:27 2008 -0500"
      },
      "committer": {
        "name": "Theodore Ts\u0027o",
        "email": "tytso@mit.edu",
        "time": "Mon Jan 28 23:58:27 2008 -0500"
      },
      "message": "jbd2: jbd2 stats through procfs\n\nThe patch below updates the jbd stats patch to 2.6.20/jbd2.\nThe initial patch was posted by Alex Tomas in December 2005\n(http://marc.info/?l\u003dlinux-ext4\u0026m\u003d113538565128617\u0026w\u003d2).\nIt provides statistics via procfs such as transaction lifetime and size.\n\nSometimes, investigating performance problems, i find useful to have\nstats from jbd about transaction\u0027s lifetime, size, etc. here is a\npatch for review and inclusion probably.\n\nfor example, stats after creation of 3M files in htree directory:\n\n[root@bob ~]# cat /proc/fs/jbd/sda/history\nR/C  tid   wait  run   lock  flush log   hndls  block inlog ctime write drop  close\nR    261   8260  2720  0     0     750   9892   8170  8187\nC    259                                                    750   0     4885  1\nR    262   20    2200  10    0     770   9836   8170  8187\nR    263   30    2200  10    0     3070  9812   8170  8187\nR    264   0     5000  10    0     1340  0      0     0\nC    261                                                    8240  3212  4957  0\nR    265   8260  1470  0     0     4640  9854   8170  8187\nR    266   0     5000  10    0     1460  0      0     0\nC    262                                                    8210  2989  4868  0\nR    267   8230  1490  10    0     4440  9875   8171  8188\nR    268   0     5000  10    0     1260  0      0     0\nC    263                                                    7710  2937  4908  0\nR    269   7730  1470  10    0     3330  9841   8170  8187\nR    270   0     5000  10    0     830   0      0     0\nC    265                                                    8140  3234  4898  0\nC    267                                                    720   0     4849  1\nR    271   8630  2740  20    0     740   9819   8170  8187\nC    269                                                    800   0     4214  1\nR    272   40    2170  10    0     830   9716   8170  8187\nR    273   40    2280  0     0     3530  9799   8170  8187\nR    274   0     5000  10    0     990   0      0     0\n\n\nwhere,\n\nR     - line for transaction\u0027s life from T_RUNNING to T_FINISHED\nC     - line for transaction\u0027s checkpointing\ntid   - transaction\u0027s id\nwait  - for how long we were waiting for new transaction to start\n         (the longest period journal_start() took in this transaction)\nrun   - real transaction\u0027s lifetime (from T_RUNNING to T_LOCKED\nlock  - how long we were waiting for all handles to close\n         (time the transaction was in T_LOCKED)\nflush - how long it took to flush all data (data\u003dordered)\nlog   - how long it took to write the transaction to the log\nhndls - how many handles got to the transaction\nblock - how many blocks got to the transaction\ninlog - how many blocks are written to the log (block + descriptors)\nctime - how long it took to checkpoint the transaction\nwrite - how many blocks have been written during checkpointing\ndrop  - how many blocks have been dropped during checkpointing\nclose - how many running transactions have been closed to checkpoint this one\n\nall times are in msec.\n\n\n[root@bob ~]# cat /proc/fs/jbd/sda/info\n280 transaction, each upto 8192 blocks\naverage:\n  1633ms waiting for transaction\n  3616ms running transaction\n  5ms transaction was being locked\n  1ms flushing data (in ordered mode)\n  1799ms logging transaction\n  11781 handles per transaction\n  5629 blocks per transaction\n  5641 logged blocks per transaction\n\nSigned-off-by: Johann Lombardi \u003cjohann.lombardi@bull.net\u003e\nSigned-off-by: Mariusz Kozlowski \u003cm.kozlowski@tuxland.pl\u003e\nSigned-off-by: Mingming Cao \u003ccmm@us.ibm.com\u003e\nSigned-off-by: Eric Sandeen \u003csandeen@redhat.com\u003e\n"
    },
    {
      "commit": "0e855ac8b103ef579052936b59fe7c599ac422a4",
      "tree": "ec29f82e1d7bb1987dcadc00497daf69d6955483",
      "parents": [
        "c278bfecebfb1ed67c326ef472660878baa745cd"
      ],
      "author": {
        "name": "Aneesh Kumar K.V",
        "email": "aneesh.kumar@linux.vnet.ibm.com",
        "time": "Mon Jan 28 23:58:26 2008 -0500"
      },
      "committer": {
        "name": "Theodore Ts\u0027o",
        "email": "tytso@mit.edu",
        "time": "Mon Jan 28 23:58:26 2008 -0500"
      },
      "message": "ext4: Convert truncate_mutex to read write semaphore.\n\nWe are currently taking the truncate_mutex for every read. This would have\nperformance impact on large CPU configuration. Convert the lock to read write\nsemaphore and take read lock when we are trying to read the file.\n\nSigned-off-by: Aneesh Kumar K.V \u003caneesh.kumar@linux.vnet.ibm.com\u003e\n"
    },
    {
      "commit": "c278bfecebfb1ed67c326ef472660878baa745cd",
      "tree": "7207594cef5bd04ea7333a8321d78aefee01a540",
      "parents": [
        "01f4adc04480a4e0395906d0268c056cf09c39c0"
      ],
      "author": {
        "name": "Aneesh Kumar K.V",
        "email": "aneesh.kumar@linux.vnet.ibm.com",
        "time": "Mon Jan 28 23:58:27 2008 -0500"
      },
      "committer": {
        "name": "Theodore Ts\u0027o",
        "email": "tytso@mit.edu",
        "time": "Mon Jan 28 23:58:27 2008 -0500"
      },
      "message": "ext4: Make ext4_get_blocks_wrap take the truncate_mutex early.\n\nWhen doing a migrate from ext3 to ext4 inode we need to make sure the test\nfor inode type and walking inode data happens inside  lock. To make this\nhappen move truncate_mutex early before checking the i_flags.\n\n\nThis actually should enable us to remove the verify_chain().\n\nSigned-off-by: Aneesh Kumar K.V \u003caneesh.kumar@linux.vnet.ibm.com\u003e\n"
    },
    {
      "commit": "f5a7a6b0d9b6af7d46124ed3f6b3995225cb62d0",
      "tree": "cbb2bc79a488461bf3bec9b60d15e21717dc8360",
      "parents": [
        "36df53f4a3e445175fc1e9d7f433599482ec6d7f"
      ],
      "author": {
        "name": "Jan Kara",
        "email": "jack@suse.cz",
        "time": "Mon Jan 28 23:58:27 2008 -0500"
      },
      "committer": {
        "name": "Theodore Ts\u0027o",
        "email": "tytso@mit.edu",
        "time": "Mon Jan 28 23:58:27 2008 -0500"
      },
      "message": "jbd2: Fix assertion failure in fs/jbd2/checkpoint.c\n\nBefore we start committing a transaction, we call\n__journal_clean_checkpoint_list() to cleanup transaction\u0027s written-back\nbuffers.\n\nIf this call happens to remove all of them (and there were already some\nbuffers), __journal_remove_checkpoint() will decide to free the transaction\nbecause it isn\u0027t (yet) a committing transaction and soon we fail some\nassertion - the transaction really isn\u0027t ready to be freed :).\n\nWe change the check in __journal_remove_checkpoint() to free only a\ntransaction in T_FINISHED state.  The locking there is subtle though (as\neverywhere in JBD ;().  We use j_list_lock to protect the check and a\nsubsequent call to __journal_drop_transaction() and do the same in the end\nof journal_commit_transaction() which is the only place where a transaction\ncan get to T_FINISHED state.\n\nProbably I\u0027m too paranoid here and such locking is not really necessary -\ncheckpoint lists are processed only from log_do_checkpoint() where a\ntransaction must be already committed to be processed or from\n__journal_clean_checkpoint_list() where kjournald itself calls it and thus\ntransaction cannot change state either.  Better be safe if something\nchanges in future...\n\nSigned-off-by: Jan Kara \u003cjack@suse.cz\u003e\nCc: \u003clinux-ext4@vger.kernel.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\n"
    },
    {
      "commit": "36df53f4a3e445175fc1e9d7f433599482ec6d7f",
      "tree": "1910220814219b51d0a049269758e07ec46938df",
      "parents": [
        "abcb2947c91130426539f209f7a473a67a1f6663"
      ],
      "author": {
        "name": "Chris Snook",
        "email": "csnook@redhat.com",
        "time": "Mon Jan 28 23:58:27 2008 -0500"
      },
      "committer": {
        "name": "Theodore Ts\u0027o",
        "email": "tytso@mit.edu",
        "time": "Mon Jan 28 23:58:27 2008 -0500"
      },
      "message": "jbd2: Remove printk from J_ASSERT to preserve registers during BUG\n\nSigned-off-by: Chris Snook \u003ccsnook@redhat.com\u003e\nCc: \"Stephen C. Tweedie\" \u003csct@redhat.com\u003e\nCc: Theodore Ts\u0027o \u003ctytso@mit.edu\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: \"Theodore Ts\u0027o\" \u003ctytso@mit.edu\u003e\n"
    },
    {
      "commit": "389d1b083c767a360ec84b27a95da06244becec8",
      "tree": "a315c892f615545fd0ce72f7e0d660f5772fb4b2",
      "parents": [
        "bb4f397a1a7f2330cb173233599aa159f5780f58"
      ],
      "author": {
        "name": "Aneesh Kumar K.V",
        "email": "aneesh.kumar@linux.vnet.ibm.com",
        "time": "Mon Jan 28 23:58:26 2008 -0500"
      },
      "committer": {
        "name": "Theodore Ts\u0027o",
        "email": "tytso@mit.edu",
        "time": "Mon Jan 28 23:58:26 2008 -0500"
      },
      "message": "Add buffer head related helper functions\n\nAdd buffer head related helper function bh_uptodate_or_lock and\nbh_submit_read which can be used by file system\n\nSigned-off-by: Aneesh Kumar K.V \u003caneesh.kumar@linux.vnet.ibm.com\u003e\n"
    },
    {
      "commit": "91b51a018d7711b20e9e0bb14c3d790de4e310d4",
      "tree": "59cc2c6f470207a6e19b5a1527868bfbb999ba31",
      "parents": [
        "fe7fdc37b5404afb068f928ceba7c3e591b501ca"
      ],
      "author": {
        "name": "Coly Li",
        "email": "coyli@suse.de",
        "time": "Mon Jan 28 23:58:27 2008 -0500"
      },
      "committer": {
        "name": "Theodore Ts\u0027o",
        "email": "tytso@mit.edu",
        "time": "Mon Jan 28 23:58:27 2008 -0500"
      },
      "message": "ext4: sync up block group descriptor with e2fsprogs.\n\nThis patch extends bg_itable_unused of ext4 group descriptor\nfrom 16bit into 32bit. In order to add bg_itable_unused_hi into\nstruct ext4_group_desc, some extra fields which are already introduced into\ne2fsprogs are also added in for consistency.\n\nSigned-off-by: Coly Li \u003ccoyli@suse.de\u003e\nCc: Andreas Dilger \u003cadilger@clusterfs.com\u003e\nSigned-off-by: Mingming Cao \u003ccmm@us.ibm.com\u003e\n"
    },
    {
      "commit": "e2b4657453c0d5571bd3c7256585c486ed42d364",
      "tree": "5b8ab501cdf5fa7427ef32440ace56eac72e9ecf",
      "parents": [
        "19295529db35381d46dbaf246f69b4e3b3393996"
      ],
      "author": {
        "name": "Eric Sandeen",
        "email": "sandeen@redhat.com",
        "time": "Mon Jan 28 23:58:27 2008 -0500"
      },
      "committer": {
        "name": "Theodore Ts\u0027o",
        "email": "tytso@mit.edu",
        "time": "Mon Jan 28 23:58:27 2008 -0500"
      },
      "message": "ext4: store maxbytes for bitmapped  files and return EFBIG as appropriate\n\nCalculate \u0026 store the max offset for bitmapped files, and\ncatch too-large seeks, truncates, and writes in ext4, shortening\nor rejecting as appropriate.\n\nSigned-off-by: Eric Sandeen \u003csandeen@redhat.com\u003e\n"
    },
    {
      "commit": "8180a5627d126362c2f64e4fa886d6f608d9632a",
      "tree": "1b3a3261f72f8245afdd87088703641c76f60392",
      "parents": [
        "0fc1b451471dfc3cabd6e99ef441df9804616e63"
      ],
      "author": {
        "name": "Aneesh Kumar K.V",
        "email": "aneesh.kumar@linux.vnet.ibm.com",
        "time": "Mon Jan 28 23:58:27 2008 -0500"
      },
      "committer": {
        "name": "Theodore Ts\u0027o",
        "email": "tytso@mit.edu",
        "time": "Mon Jan 28 23:58:27 2008 -0500"
      },
      "message": "ext4: Support large files\n\nThis patch converts ext4_inode i_blocks to represent total\nblocks occupied by the inode in file system block size.\nEarlier the variable used to represent this in 512 byte\nblock size. This actually limited the total size of the file.\n\nThe feature is enabled transparently when we write an inode\nwhose i_blocks cannot be represnted as 512 byte units in a\n48 bit variable.\n\ninode flag  EXT4_HUGE_FILE_FL\n\nSigned-off-by: Aneesh Kumar K.V \u003caneesh.kumar@linux.vnet.ibm.com\u003e\n"
    },
    {
      "commit": "0fc1b451471dfc3cabd6e99ef441df9804616e63",
      "tree": "b018b6ddc5bb5f02b985b06c11f0c01adb38167a",
      "parents": [
        "a48380f769dfed6163fb82a68b13bd562ea1e027"
      ],
      "author": {
        "name": "Aneesh Kumar K.V",
        "email": "aneesh.kumar@linux.vnet.ibm.com",
        "time": "Mon Jan 28 23:58:26 2008 -0500"
      },
      "committer": {
        "name": "Theodore Ts\u0027o",
        "email": "tytso@mit.edu",
        "time": "Mon Jan 28 23:58:26 2008 -0500"
      },
      "message": "ext4: Add support for 48 bit inode i_blocks.\n\nUse the __le16 l_i_reserved1 field of the linux2 struct of ext4_inode\nto represet the higher 16 bits for i_blocks. With this change max_file\nsize becomes (2**48 -1 )* 512 bytes.\n\nWe add a RO_COMPAT feature to the super block to indicate that inode\nhave i_blocks represented as a split 48 bits. Super block with this\nfeature set cannot be mounted read write on a kernel with CONFIG_LSF\ndisabled.\n\nSuper block flag EXT4_FEATURE_RO_COMPAT_HUGE_FILE\n\nSigned-off-by: Aneesh Kumar K.V \u003caneesh.kumar@linux.vnet.ibm.com\u003e\n"
    },
    {
      "commit": "a48380f769dfed6163fb82a68b13bd562ea1e027",
      "tree": "2c898479122b3da5c9531aba4b3629c3e6ecfe9f",
      "parents": [
        "7973c0c19ecba92f113488045005f8e7ce1cd7c8"
      ],
      "author": {
        "name": "Aneesh Kumar K.V",
        "email": "aneesh.kumar@linux.vnet.ibm.com",
        "time": "Mon Jan 28 23:58:27 2008 -0500"
      },
      "committer": {
        "name": "Theodore Ts\u0027o",
        "email": "tytso@mit.edu",
        "time": "Mon Jan 28 23:58:27 2008 -0500"
      },
      "message": "ext4: Rename i_dir_acl to i_size_high\n\nRename ext4_inode.i_dir_acl to i_size_high\ndrop ext4_inode_info.i_dir_acl as it is not used\nRename ext4_inode.i_size to ext4_inode.i_size_lo\nAdd helper function for accessing the ext4_inode combined i_size.\n\nSigned-off-by: Aneesh Kumar K.V \u003caneesh.kumar@linux.vnet.ibm.com\u003e\n"
    },
    {
      "commit": "7973c0c19ecba92f113488045005f8e7ce1cd7c8",
      "tree": "c02d6f963d53b362265715c74b8189aef29ae808",
      "parents": [
        "1d03ec984ca41ba184822d1101babb3fa3e26c77"
      ],
      "author": {
        "name": "Aneesh Kumar K.V",
        "email": "aneesh.kumar@linux.vnet.ibm.com",
        "time": "Mon Jan 28 23:58:27 2008 -0500"
      },
      "committer": {
        "name": "Theodore Ts\u0027o",
        "email": "tytso@mit.edu",
        "time": "Mon Jan 28 23:58:27 2008 -0500"
      },
      "message": "ext4: Rename i_file_acl to i_file_acl_lo\n\nRename i_file_acl to i_file_acl_lo. This helps\nin finding bugs where we use i_file_acl instead\nof the combined i_file_acl_lo and i_file_acl_high\n\nSigned-off-by: Aneesh Kumar K.V \u003caneesh.kumar@linux.vnet.ibm.com\u003e\n"
    },
    {
      "commit": "1d03ec984ca41ba184822d1101babb3fa3e26c77",
      "tree": "6265c324e4c381d4324c69e1692fe6e6dc44cbbc",
      "parents": [
        "99e6f829a854daa6d56006cad51156e98863e73a"
      ],
      "author": {
        "name": "Aneesh Kumar K.V",
        "email": "aneesh.kumar@linux.vnet.ibm.com",
        "time": "Mon Jan 28 23:58:27 2008 -0500"
      },
      "committer": {
        "name": "Theodore Ts\u0027o",
        "email": "tytso@mit.edu",
        "time": "Mon Jan 28 23:58:27 2008 -0500"
      },
      "message": "ext4:  Fix sparse warnings.\n\nFix sparse warnings related to static functions\nand local variables.\n\nSigned-off-by: Aneesh Kumar K.V \u003caneesh.kumar@linux.vnet.ibm.com\u003e\n"
    },
    {
      "commit": "99e6f829a854daa6d56006cad51156e98863e73a",
      "tree": "fff435d898ce3db5492252a241531d4016ba3b65",
      "parents": [
        "2aa9fc4c405467f6afbbb2162ff8afaced47d99b"
      ],
      "author": {
        "name": "Aneesh Kumar K.V",
        "email": "aneesh.kumar@linux.vnet.ibm.com",
        "time": "Mon Jan 28 23:58:27 2008 -0500"
      },
      "committer": {
        "name": "Theodore Ts\u0027o",
        "email": "tytso@mit.edu",
        "time": "Mon Jan 28 23:58:27 2008 -0500"
      },
      "message": "ext4: Introduce ext4_update_*_feature\n\nIntroduce ext4_update_*_feature and use them instead\nof opencoding.\n\n\nSigned-off-by: Aneesh Kumar K.V \u003caneesh.kumar@linux.vnet.ibm.com\u003e\n"
    },
    {
      "commit": "fd2d42912f9f09e5250cb3b024ee0625704e9cb7",
      "tree": "23e85123e8cc06d518fd7cff665f93429e19e4e2",
      "parents": [
        "bba907433b85ba2adae1bb3b6fd29b4e5f35c468"
      ],
      "author": {
        "name": "Avantika Mathur",
        "email": "mathur@us.ibm.com",
        "time": "Mon Jan 28 23:58:27 2008 -0500"
      },
      "committer": {
        "name": "Theodore Ts\u0027o",
        "email": "tytso@mit.edu",
        "time": "Mon Jan 28 23:58:27 2008 -0500"
      },
      "message": "ext4: add ext4_group_t, and change all group variables to this type.\n\nIn many places variables for block group are of type int, which limits the\nmaximum number of block groups to 2^31.  Each block group can have up to\n2^15 blocks, with a 4K block size,  and the max filesystem size is limited to\n2^31 * (2^15 * 2^12) \u003d 2^58  -- or 256 PB\n\nThis patch introduces a new type ext4_group_t, of type unsigned long, to\nrepresent block group numbers in ext4.\nAll occurrences of block group variables are converted to type ext4_group_t.\n\nSigned-off-by: Avantika Mathur \u003cmathur@us.ibm.com\u003e\n"
    },
    {
      "commit": "725d26d3f09ccb5bac4b4293096b985a312a0d67",
      "tree": "1c49a07da252832fc6842c88a2359e8cd43af636",
      "parents": [
        "a72d7f834e1afa08421938d7eb06bd8e56b0e58c"
      ],
      "author": {
        "name": "Aneesh Kumar K.V",
        "email": "aneesh.kumar@linux.vnet.ibm.com",
        "time": "Mon Jan 28 23:58:27 2008 -0500"
      },
      "committer": {
        "name": "Theodore Ts\u0027o",
        "email": "tytso@mit.edu",
        "time": "Mon Jan 28 23:58:27 2008 -0500"
      },
      "message": "ext4: Introduce ext4_lblk_t\n\nThis patch adds a new data type ext4_lblk_t to represent\nthe logical file blocks.\n\nThis is the preparatory patch to support large files in ext4\nThe follow up patch with convert the ext4_inode i_blocks to\nrepresent the number of blocks in file system block size. This\nchanges makes it possible to have a block number 2**32 -1 which\nwill result in overflow if the block number is represented by\nsigned long. This patch convert all the block number to type\next4_lblk_t which is typedef to __u32\n\nAlso remove dead code ext4_ext_walk_space\n\nSigned-off-by: Aneesh Kumar K.V \u003caneesh.kumar@linux.vnet.ibm.com\u003e\nSigned-off-by: Mingming Cao \u003ccmm@us.ibm.com\u003e\nSigned-off-by: Eric Sandeen \u003csandeen@redhat.com\u003e\n"
    },
    {
      "commit": "a72d7f834e1afa08421938d7eb06bd8e56b0e58c",
      "tree": "21c6fbbf4187fa8ba56878ea2d5e576e123e1f95",
      "parents": [
        "afc7cbca5bfd556c3e12d3acefbee5ab0cbd4670"
      ],
      "author": {
        "name": "Jan Kara",
        "email": "jack@suse.cz",
        "time": "Mon Jan 28 23:58:27 2008 -0500"
      },
      "committer": {
        "name": "Theodore Ts\u0027o",
        "email": "tytso@mit.edu",
        "time": "Mon Jan 28 23:58:27 2008 -0500"
      },
      "message": "ext4: Avoid rec_len overflow with 64KB block size\n\nWith 64KB blocksize, a directory entry can have size 64KB which does not fit\ninto 16 bits we have for entry lenght. So we store 0xffff instead and convert\nvalue when read from / written to disk. The patch also converts some places\nto use ext4_next_entry() when we are changing them anyway.\n\nSigned-off-by: Jan Kara \u003cjack@suse.cz\u003e\nSigned-off-by: Mingming Cao \u003ccmm@us.ibm.com\u003e\n"
    }
  ],
  "next": "afc7cbca5bfd556c3e12d3acefbee5ab0cbd4670"
}
