)]}'
{
  "log": [
    {
      "commit": "ae9458d6a0956aa21cb49e1251e35a8d4dacbe6e",
      "tree": "98c162c79113bc2bd748a3ad5b6fb5ba66139751",
      "parents": [
        "63e9b66e29357dd12e8b1d3ebf7036e7591f81e3",
        "e91926e9ea9073d8ce95b74602e8c2d775f5a793"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Feb 02 15:13:05 2008 +1100"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Feb 02 15:13:05 2008 +1100"
      },
      "message": "Merge git://git.infradead.org/battery-2.6\n\n* git://git.infradead.org/battery-2.6:\n  apm_power: check I.intval for zero value, we use it as the divisor\n  MAINTAINERS: remove kernel-discuss@handhelds.org list\n  pda_power: implement polling\n  pda_power: various cleanups\n  apm_power: support using VOLTAGE_* properties for apm calculations\n  pda_power: add suspend/resume support\n  power_supply: add few more values and props\n  pda_power: only register available psu\n  power: fix incorrect unregistration in power_supply_create_attrs error path\n  power: remove POWER_SUPPLY_PROP_CAPACITY_LEVEL\n  [BATTERY] power_supply_leds: use kasprintf\n  [BATTERY] Every file should include the headers containing the prototypes for its global functions.\n"
    },
    {
      "commit": "63e9b66e29357dd12e8b1d3ebf7036e7591f81e3",
      "tree": "5aa6a70a8f4bbf306e2825a1e2fa2660c2c1c187",
      "parents": [
        "687fcdf741e4a268c2c7bac8b3734de761bb9719",
        "ea339d46b93c7b16e067a29aad1812f7a389815a"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Feb 02 14:31:28 2008 +1100"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Feb 02 14:31:28 2008 +1100"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://linux-nfs.org/~bfields/linux\n\n* \u0027for-linus\u0027 of git://linux-nfs.org/~bfields/linux: (100 commits)\n  SUNRPC: RPC program information is stored in unsigned integers\n  SUNRPC: Move exported symbol definitions after function declaration part 2\n  NLM: tear down RPC clients in nlm_shutdown_hosts\n  SUNRPC: spin svc_rqst initialization to its own function\n  nfsd: more careful input validation in nfsctl write methods\n  lockd: minor log message fix\n  knfsd: don\u0027t bother mapping putrootfh enoent to eperm\n  rdma: makefile\n  rdma: ONCRPC RDMA protocol marshalling\n  rdma: SVCRDMA sendto\n  rdma: SVCRDMA recvfrom\n  rdma: SVCRDMA Core Transport Services\n  rdma: SVCRDMA Transport Module\n  rdma: SVCRMDA Header File\n  svc: Add svc_xprt_names service to replace svc_sock_names\n  knfsd: Support adding transports by writing portlist file\n  svc: Add svc API that queries for a transport instance\n  svc: Add /proc/sys/sunrpc/transport files\n  svc: Add transport hdr size for defer/revisit\n  svc: Move the xprt independent code to the svc_xprt.c file\n  ...\n"
    },
    {
      "commit": "687fcdf741e4a268c2c7bac8b3734de761bb9719",
      "tree": "82603cd0f892b13d4252cc525ecaec99bb86c0cd",
      "parents": [
        "215e871aaa3d94540121a3809d80d0c5e5686e4f",
        "a6eb84bc1e069e1d285167e09035ed6c27978feb"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Feb 02 14:29:57 2008 +1100"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Feb 02 14:29:57 2008 +1100"
      },
      "message": "Merge branch \u0027suspend\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/lenb/linux-acpi-2.6\n\n* \u0027suspend\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/lenb/linux-acpi-2.6: (38 commits)\n  suspend: cleanup reference to swsusp_pg_dir[]\n  PM: Remove obsolete /sys/devices/.../power/state docs\n  Hibernation: Invoke suspend notifications after console switch\n  Suspend: Invoke suspend notifications after console switch\n  Suspend: Clean up suspend_64.c\n  Suspend: Add config option to disable the freezer if architecture wants that\n  ACPI: Print message before calling _PTS\n  ACPI hibernation: Call _PTS before suspending devices\n  Hibernation: Introduce begin() and end() callbacks\n  ACPI suspend: Call _PTS before suspending devices\n  ACPI: Separate disabling of GPEs from _PTS\n  ACPI: Separate invocations of _GTS and _BFS from _PTS and _WAK\n  Suspend: Introduce begin() and end() callbacks\n  suspend: fix ia64 allmodconfig build\n  ACPI: clear GPE earily in resume to avoid warning\n  Suspend: Clean up Kconfig (V2)\n  Hibernation: Clean up Kconfig (V2)\n  Hibernation: Update messages\n  Suspend: Use common prefix in messages\n  Hibernation: Remove unnecessary variable declaration\n  ...\n"
    },
    {
      "commit": "215e871aaa3d94540121a3809d80d0c5e5686e4f",
      "tree": "0ed6469c5ad04db8cfa0edb58c676d5155df20cd",
      "parents": [
        "b6cf160c4b788a31f6a4017a469b956ca77febf4",
        "fd7d1ced29e5beb88c9068801da7a362606d8273"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Feb 02 14:29:33 2008 +1100"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Feb 02 14:29:33 2008 +1100"
      },
      "message": "Merge git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/pci-2.6\n\n* git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/pci-2.6: (64 commits)\n  PCI: make pci_bus a struct device\n  PCI: fix codingstyle issues in include/linux/pci.h\n  PCI: fix codingstyle issues in drivers/pci/pci.h\n  PCI: PCIE ASPM support\n  PCI: Fix fakephp deadlock\n  PCI: modify SB700 SATA MSI quirk\n  PCI: Run ACPI _OSC method on root bridges only\n  PCI ACPI: AER driver should only register PCIe devices with _OSC\n  PCI ACPI: Added a function to register _OSC with only PCIe devices.\n  PCI: constify function pointer tables\n  PCI: Convert drivers/pci/proc.c to use unlocked_ioctl\n  pciehp: block new requests from the device before power off\n  pciehp: workaround against Bad DLLP during power off\n  pciehp: wait for 1000ms before LED operation after power off\n  PCI: Remove pci_enable_device_bars() from documentation\n  PCI: Remove pci_enable_device_bars()\n  PCI: Remove users of pci_enable_device_bars()\n  PCI: Add pci_enable_device_{io,mem} intefaces\n  PCI: avoid save the same type of cap multiple times\n  PCI: correctly initialize a structure for pcie_save_pcix_state()\n  ...\n"
    },
    {
      "commit": "b6cf160c4b788a31f6a4017a469b956ca77febf4",
      "tree": "d4d525000e283fe08905385d91dd0170454eae9a",
      "parents": [
        "ed50d6cbc394cd0966469d3e249353c9dd1d38b9",
        "2c044a4803804708984931bcbd03314732e995d5"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Feb 02 14:28:57 2008 +1100"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Feb 02 14:28:57 2008 +1100"
      },
      "message": "Merge git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb-2.6\n\n* git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb-2.6: (128 commits)\n  USB: fix codingstyle issues in drivers/usb/core/*.c\n  USB: fix codingstyle issues in drivers/usb/core/message.c\n  USB: fix codingstyle issues in drivers/usb/core/hcd-pci.c\n  USB: fix codingstyle issues in drivers/usb/core/devio.c\n  USB: fix codingstyle issues in drivers/usb/core/devices.c\n  USB: fix codingstyle issues in drivers/usb/core/*.h\n  USB: fix codingstyle issues in include/linux/usb/\n  USB: fix codingstyle issues in include/linux/usb.h\n  USB: mark USB drivers as being GPL only\n  USB: use a real vendor and product id for root hubs\n  USB: mount options: fix usbfs\n  USB: Fix usb_serial_driver structure for Kobil cardreader driver.\n  usb: ehci should use u16 for isochronous intervals\n  usb: ehci, remove false clear-reset path\n  USB: Use menuconfig objects\n  usb: ohci-sm501 driver\n  usb: dma bounce buffer support\n  USB: last abuses of intfdata in close for usb-serial drivers\n  USB: kl5kusb105 don\u0027t flush to logically disconnected devices\n  USB: oti6858: cleanup\n  ...\n"
    },
    {
      "commit": "c3caebad7427f62fe77621bae1bd1da0e56a130d",
      "tree": "b5da1069e1c2161a4b7af5a907126968c308a5a3",
      "parents": [
        "bfde2662ae8c7f0054990e59456718761a352651"
      ],
      "author": {
        "name": "Anton Vorontsov",
        "email": "cbouatmailru@gmail.com",
        "time": "Sun Jan 13 02:44:20 2008 +0300"
      },
      "committer": {
        "name": "Anton Vorontsov",
        "email": "cbouatmailru@gmail.com",
        "time": "Sat Feb 02 02:44:34 2008 +0300"
      },
      "message": "pda_power: implement polling\n\nSigned-off-by: Anton Vorontsov \u003ccbou@mail.ru\u003e\n"
    },
    {
      "commit": "c7cc930f9a5c26385a08cd7dc28cb5e3ed186d72",
      "tree": "14c7d2360d4f0d11bed99ecf41a18d2048f34cea",
      "parents": [
        "9ef45106261e802f9d80bf0bc652124b42b1f344"
      ],
      "author": {
        "name": "Dmitry Baryshkov",
        "email": "dbaryshkov@gmail.com",
        "time": "Mon Jan 07 04:12:41 2008 +0300"
      },
      "committer": {
        "name": "Anton Vorontsov",
        "email": "cbouatmailru@gmail.com",
        "time": "Sat Feb 02 02:43:00 2008 +0300"
      },
      "message": "power_supply: add few more values and props\n\nAdd LiMn (one of the most common for small non-rechargable batteries)\nbattery technology and voltage_min/_max properties support.\n\nSigned-off-by: Dmitry Baryshkov \u003cdbaryshkov@gmail.com\u003e\nSigned-off-by: Anton Vorontsov \u003ccbou@mail.ru\u003e\n"
    },
    {
      "commit": "8efe444038a205e79b38b7ad03878824901849a8",
      "tree": "af3fdf3d84059577ba86630103ae6adbb7d885a3",
      "parents": [
        "4d24473c435c7c3ad7b43e43b70cdb16aba25443"
      ],
      "author": {
        "name": "Andres Salomon",
        "email": "dilinger@queued.net",
        "time": "Wed Dec 12 14:12:56 2007 -0500"
      },
      "committer": {
        "name": "Anton Vorontsov",
        "email": "cbouatmailru@gmail.com",
        "time": "Sat Feb 02 02:42:59 2008 +0300"
      },
      "message": "power: remove POWER_SUPPLY_PROP_CAPACITY_LEVEL\n\nThe CAPACITY_LEVEL stuff defines various levels of charge; however, what\nis the difference between them?  What differentiates between HIGH and NORMAL,\nLOW and CRITICAL, etc?\n\nAs it appears that these are fairly arbitrary, we end up making such policy\ndecisions in the kernel (or in hardware).  This is the sort of decision that\nshould be made in userspace, not in the kernel.\n\nIf the hardware does not support _CAPACITY and it cannot be easily calculated,\nthen perhaps the driver should register a custom CAPACITY_LEVEL attribute;\nhowever, userspace should not become accustomed to looking for such a thing,\nand we should certainly not encourage drivers to provide CAPACITY_LEVEL\nstubs.\n\nThe following removes support for POWER_SUPPLY_PROP_CAPACITY_LEVEL.  The\nOLPC battery driver is the only driver making use of this, so it\u0027s\nremoved from there as well.\n\nSigned-off-by: Andres Salomon \u003cdilinger@debian.org\u003e\nSigned-off-by: David Woodhouse \u003cdwmw2@infradead.org\u003e\n"
    },
    {
      "commit": "caea99ef339af8e07cda8d03fa415e4b8820f400",
      "tree": "46b975f61a3409a30fc6a7c15a6db2c7f6d9876b",
      "parents": [
        "60417f5976df029227450b46d7fa6f0e9b1e654c"
      ],
      "author": {
        "name": "Rafael J. Wysocki",
        "email": "rjw@sisk.pl",
        "time": "Tue Jan 08 00:08:44 2008 +0100"
      },
      "committer": {
        "name": "Len Brown",
        "email": "len.brown@intel.com",
        "time": "Fri Feb 01 18:30:58 2008 -0500"
      },
      "message": "Hibernation: Introduce begin() and end() callbacks\n\nIntroduce global hibernation callback .end() and rename global\nhibernation callback .start() to .begin(), in analogy with the\nrecent modifications of the global suspend callbacks.\n\nSigned-off-by: Rafael J. Wysocki \u003crjw@sisk.pl\u003e\nSigned-off-by: Len Brown \u003clen.brown@intel.com\u003e\n"
    },
    {
      "commit": "c697eecebc6cfc0b393afea3c4ff1a5041526ad1",
      "tree": "36b0cb4e667792212c2b5d05ac212662555d1682",
      "parents": [
        "7671b8ae5381a504d4c4ef8dd9c47128c2c3fd7e"
      ],
      "author": {
        "name": "Rafael J. Wysocki",
        "email": "rjw@sisk.pl",
        "time": "Tue Jan 08 00:04:17 2008 +0100"
      },
      "committer": {
        "name": "Len Brown",
        "email": "len.brown@intel.com",
        "time": "Fri Feb 01 18:30:56 2008 -0500"
      },
      "message": "Suspend: Introduce begin() and end() callbacks\n\nOn ACPI systems the target state set by acpi_pm_set_target() is\nreset by acpi_pm_finish(), but that need not be called if the\nsuspend fails.  All platforms that use the .set_target() global\nsuspend callback are affected by analogous issues.\n\nFor this reason, we need an additional global suspend callback that\nwill reset the target state regardless of whether or not the suspend\nis successful.  Also, it is reasonable to rename the .set_target()\ncallback, since it will be used for a different purpose on ACPI\nsystems (due to ACPI 1.0x code ordering requirements).\n\nIntroduce the global suspend callback .end() to be executed at the\nend of the suspend sequence and rename the .set_target() global\nsuspend callback to .begin().\n\nSigned-off-by: Rafael J. Wysocki \u003crjw@sisk.pl\u003e\nSigned-off-by: Len Brown \u003clen.brown@intel.com\u003e\n"
    },
    {
      "commit": "825257569350e913bee3bc918508c0aa6e3398cd",
      "tree": "2d016a04dfc09938565d5e932f0d2d5e43fb6bdd",
      "parents": [
        "90dda1cb6ace6abd777f84bf051c4f86fa58986a"
      ],
      "author": {
        "name": "Alan Stern",
        "email": "stern@rowland.harvard.edu",
        "time": "Mon Nov 19 23:49:18 2007 +0100"
      },
      "committer": {
        "name": "Len Brown",
        "email": "len.brown@intel.com",
        "time": "Fri Feb 01 18:30:54 2008 -0500"
      },
      "message": "PM: Convert PM notifiers to out-of-line code\n\nThis patch (as1008b) converts the PM notifier routines from inline\ncalls to out-of-line code.  It also prevents pm_chain_head from\nbeing created when CONFIG_PM_SLEEP isn\u0027t enabled, and EXPORTs the\nnotifier registration and unregistration routines.\n\nSigned-off-by: Alan Stern \u003cstern@rowland.harvard.edu\u003e\nSigned-off-by: Rafael J. Wysocki \u003crjw@sisk.pl\u003e\nSigned-off-by: Len Brown \u003clen.brown@intel.com\u003e\n"
    },
    {
      "commit": "c3e94d899c864e558f938f9845ddb8c2e5d5ccd0",
      "tree": "cdc2d5007e2d8053ab1903f9e66c46dca9a9de81",
      "parents": [
        "2f8ed1c60b06b797bf79a1dc540f0bed8c9d75a0"
      ],
      "author": {
        "name": "Alan Stern",
        "email": "stern@rowland.harvard.edu",
        "time": "Mon Nov 19 23:38:25 2007 +0100"
      },
      "committer": {
        "name": "Len Brown",
        "email": "len.brown@intel.com",
        "time": "Fri Feb 01 18:30:53 2008 -0500"
      },
      "message": "Hibernation: Add PM_RESTORE_PREPARE and PM_POST_RESTORE notifiers (rev. 2)\n\nAdd PM_RESTORE_PREPARE and PM_POST_RESTORE notifiers to the PM core, to be used\nin analogy with the existing PM_HIBERNATION_PREPARE and PM_POST_HIBERNATION\nnotifiers.\n\nSigned-off-by: Alan Stern \u003cstern@rowland.harvard.edu\u003e\nAcked-by: Pavel Machek \u003cpavel@ucw.cz\u003e\nSigned-off-by: \"Rafael J. Wysocki\" \u003crjw@sisk.pl\u003e\nSigned-off-by: Len Brown \u003clen.brown@intel.com\u003e\n"
    },
    {
      "commit": "3010f8caa48ed38679cc32b0d8e84b82cb8d9980",
      "tree": "b25311fd5c66e2e1f392194089635c4c2fec557e",
      "parents": [
        "cc5d207c85b9a6fafebe2856ead0a9360978c8cd"
      ],
      "author": {
        "name": "Rafael J. Wysocki",
        "email": "rjw@sisk.pl",
        "time": "Fri Oct 26 01:05:05 2007 +0200"
      },
      "committer": {
        "name": "Len Brown",
        "email": "len.brown@intel.com",
        "time": "Fri Feb 01 18:30:53 2008 -0500"
      },
      "message": "Hibernation: Introduce exportable suspend ioctls header (rev. 2)\n\nMove the definitions of hibernation ioctls to a separate header file in\ninclude/linux, which can be exported to the user space.\n\nSigned-off-by: Rafael J. Wysocki \u003crjw@sisk.pl\u003e\nAcked-by: Pavel Machek \u003cpavel@ucw.cz\u003e\nSigned-off-by: Len Brown \u003clen.brown@intel.com\u003e\n"
    },
    {
      "commit": "fd7d1ced29e5beb88c9068801da7a362606d8273",
      "tree": "40bfac045b8f7e6b94da04f76ed402395edc45cf",
      "parents": [
        "05cca6e52a5a75ffd491fb50a9f636075b2d77ba"
      ],
      "author": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Tue May 22 22:47:54 2007 -0400"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Fri Feb 01 15:04:31 2008 -0800"
      },
      "message": "PCI: make pci_bus a struct device\n\nThis moves the pci_bus class device to be a real struct device and at\nthe same time, place it in the device tree in the correct location.\n\nNote, the old \"bridge\" symlink is now gone, but this was a non-standard\nlink and no userspace program used it.  If you need to determine the\ndevice that the bus is on, follow the standard device symlink, or walk\nup the device tree.\n\n\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "05cca6e52a5a75ffd491fb50a9f636075b2d77ba",
      "tree": "c15a9b975b84a62d2b7a2acb72fb1988c21eefe5",
      "parents": [
        "367b09fec4e01571a3aab996be086072cf5517eb"
      ],
      "author": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Wed Jan 30 15:21:33 2008 -0800"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Fri Feb 01 15:04:31 2008 -0800"
      },
      "message": "PCI: fix codingstyle issues in include/linux/pci.h\n\nFixes a number of coding style issues in pci.h.\nIt\u0027s a tad more readable now...\n\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n"
    },
    {
      "commit": "6c723d5bd89f03fc3ef627d50f89ade054d2ee3b",
      "tree": "45fcf8a380b48ddf686456ff65a2234c23c05504",
      "parents": [
        "5c796ae7a7ebe56967ed9b9963d7c16d733635ff"
      ],
      "author": {
        "name": "Shaohua Li",
        "email": "shaohua.li@intel.com",
        "time": "Thu Jan 24 10:21:57 2008 +0800"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Fri Feb 01 15:04:30 2008 -0800"
      },
      "message": "PCI: PCIE ASPM support\n\nPCI Express ASPM defines a protocol for PCI Express components in the D0\nstate to reduce Link power by placing their Links into a low power state\nand instructing the other end of the Link to do likewise. This\ncapability allows hardware-autonomous, dynamic Link power reduction\nbeyond what is achievable by software-only controlled power management.\nHowever, The device should be configured by software appropriately.\nEnabling ASPM will save power, but will introduce device latency.\n\nThis patch adds ASPM support in Linux. It introduces a global policy for\nASPM, a sysfs file /sys/module/pcie_aspm/parameters/policy can control\nit. The interface can be used as a boot option too. Currently we have\nbelow setting:\n        -default, BIOS default setting\n        -powersave, highest power saving mode, enable all available ASPM\nstate\nand clock power management\n        -performance, highest performance, disable ASPM and clock power\nmanagement\nBy default, the \u0027default\u0027 policy is used currently.\n\nIn my test, power difference between powersave mode and performance mode\nis about 1.3w in a system with 3 PCIE links.\n\nSigned-off-by: Shaohua Li \u003cshaohua.li@intel.com\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n"
    },
    {
      "commit": "c2778357234f84668eab5558b54ad28478439d0b",
      "tree": "9820e6cfa1bfe6989854425b0d63840c949fa3f2",
      "parents": [
        "02d90fc343411d6dff26bbd64f0895a243e6f608"
      ],
      "author": {
        "name": "Andrew Patterson",
        "email": "andrew.patterson@hp.com",
        "time": "Tue Jan 22 17:18:12 2008 -0700"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Fri Feb 01 15:04:29 2008 -0800"
      },
      "message": "PCI ACPI: Added a function to register _OSC with only PCIe devices.\n\nThe function pci_osc_support_set() traverses every root bridge when\nchecking for _OSC support for a capability.  It quits as soon as it finds a\ndevice/bridge that doesn\u0027t support the requested capability. This won\u0027t\nwork for systems that have mixed PCI and PCIe bridges when checking for\nPCIe features.  I split this function into two -- pci_osc_support_set() and\npcie_osc_support_set(). The latter is used when only PCIe devices should be\ntraversed.\n\nSigned-off-by: Andrew Patterson \u003candrew.patterson@hp.com\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "7cbe5b6005f80de33a205d3052cdc89aacaac07c",
      "tree": "85437dbcfe2c994a76b51bec959f2e978a6e7895",
      "parents": [
        "0948391641918b95d8d96c15089eb5ac156850b3"
      ],
      "author": {
        "name": "Benjamin Herrenschmidt",
        "email": "benh@kernel.crashing.org",
        "time": "Thu Dec 20 15:28:10 2007 +1100"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Fri Feb 01 15:04:28 2008 -0800"
      },
      "message": "PCI: Remove pci_enable_device_bars()\n\nNow that all in-tree users are gone, this removes pci_enable_device_bars()\ncompletely.\n\nSigned-off-by: Benjamin Herrenschmidt \u003cbenh@kernel.crashing.org\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "b718989da7cf1f77ed5665dba0d2c73bd9dfe2d7",
      "tree": "e0fbe08f7240bf58e6c8fdf6c14e175f3d5764bb",
      "parents": [
        "017fc480cc8cc0594dc250951d78e814667ae4c2"
      ],
      "author": {
        "name": "Benjamin Herrenschmidt",
        "email": "benh@kernel.crashing.org",
        "time": "Thu Dec 20 15:28:08 2007 +1100"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Fri Feb 01 15:04:27 2008 -0800"
      },
      "message": "PCI: Add pci_enable_device_{io,mem} intefaces\n\nThe pci_enable_device_bars() interface isn\u0027t well suited to PCI\nbecause you can\u0027t actually enable/disable BARs individually on\na device. So for example, if a device has 2 memory BARs 0 and 1,\nand one of them (let\u0027s say 1) has not been successfully allocated\nby the firmware or the kernel, then enabling memory decoding\nshouldn\u0027t be permitted for the entire device since it will decode\nwhatever random address is still in that BAR 1.\n\nSo a device must be either fully enabled for IO, for Memory, or\nfor both. Not on a per-BAR basis.\n\nThis provides two new functions, pci_enable_device_io() and\npci_enable_device_mem() to replace pci_enable_device_bars(). The\nimplementation internally builds a BAR mask in order to be able\nto use existing arch infrastructure.\n\nSigned-off-by: Benjamin Herrenschmidt \u003cbenh@kernel.crashing.org\u003e\nAcked-by: Ivan Kokshaysky \u003cink@jurassic.park.msu.ru\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "c40a22e0ce5eb400f27449e59e43d021bee58b8d",
      "tree": "9335519358ff657a6a80baefd759337e324dc26d",
      "parents": [
        "f07234b66af1d1a204b9ddabdbdb312e8f1fb35e"
      ],
      "author": {
        "name": "Benjamin Herrenschmidt",
        "email": "benh@kernel.crashing.org",
        "time": "Mon Dec 10 17:32:15 2007 +1100"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Fri Feb 01 15:04:25 2008 -0800"
      },
      "message": "PCI: Fix bus resource assignment on 32 bits with 64b resources\n\nThe current pci_assign_unassigned_resources() code doesn\u0027t work properly\non 32 bits platforms with 64 bits resources. The main reason is the use\nof unsigned long in various places instead of resource_size_t.\n\nThis is a pre-requisite for making powerpc use the generic code instead of\nits own half-useful implementation.\n\nSigned-off-by: Benjamin Herrenschmidt \u003cbenh@kernel.crashing.org\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "94688cf2454986309fbcd495233ba2423786a14a",
      "tree": "ac170991ef1db1127d59a0d7231a8cbb53b5474c",
      "parents": [
        "1b7c9fcaa147662628078c83ecaf1ef2c5c9c9d0"
      ],
      "author": {
        "name": "Linas Vepstas",
        "email": "linas@austin.ibm.com",
        "time": "Wed Nov 07 15:43:59 2007 -0600"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Fri Feb 01 15:04:22 2008 -0800"
      },
      "message": "PCI: export pci_restore_msi_state()\n\nPCI error recovery usually involves the PCI adapter being reset.\nIf the device is using MSI, the reset will cause the MSI state\nto be lost; the device driver needs to restore the MSI state.\n\nThe pci_restore_msi_state() routine is currently protected\nby CONFIG_PM; remove this, and also export the symbol, so\nthat it can be used in a modle.\n\nSigned-off-by: Linas Vepstas \u003clinas@austin.ibm.com\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n\n"
    },
    {
      "commit": "10d7425d201e866ee0c57424860e06118dae2500",
      "tree": "ceeb58232dda69b88915da3c2c9db4ad8545abf0",
      "parents": [
        "74e27e44b0407fb1f6e8d1f7b7818f108463c4b8"
      ],
      "author": {
        "name": "Lennert Buytenhek",
        "email": "buytenh@wantstofly.org",
        "time": "Wed Nov 21 15:07:07 2007 -0800"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Fri Feb 01 15:04:21 2008 -0800"
      },
      "message": "PCI: get rid of pci_dev::{vendor,device}_compatible fields\n\nThe vendor_compatible and device_compatible fields in struct pci_dev aren\u0027t\nused anywhere, and are somewhat pointless.  Assuming that these are\nhistorical artifacts, remove them.\n\nSigned-off-by: Lennert Buytenhek \u003cbuytenh@wantstofly.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "4348a2dc49f9baecd34a9b0904245488c6189398",
      "tree": "cbe391c0f28ac367767c7427991cd9689c042458",
      "parents": [
        "39ec4561b3a9ccccbdab1dd88a045342be22f27b"
      ],
      "author": {
        "name": "Shaohua Li",
        "email": "shaohua.li@intel.com",
        "time": "Wed Oct 24 10:45:08 2007 +0800"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Fri Feb 01 15:04:19 2008 -0800"
      },
      "message": "pcie: utilize pcie transaction pending bit\n\nPCIE has a mechanism to wait for Non-Posted request to complete. I think\npci_disable_device is a good place to do this.\n\nSigned-off-by: Shaohua Li \u003cshaohua.li@intel.com\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "b09549ef9b66b9547520572bedd7af3c1f0747d7",
      "tree": "20aee6d1c81aa3ed4f49bb214546a2282b3cd9b0",
      "parents": [
        "ad668599f263988eaac74354349d64e3c0990a77"
      ],
      "author": {
        "name": "Adrian Bunk",
        "email": "bunk@kernel.org",
        "time": "Sat Oct 27 03:06:25 2007 +0200"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Fri Feb 01 15:04:18 2008 -0800"
      },
      "message": "PCI: drivers/pci/rom.c: #if 0 two functions\n\nThis patch #if 0\u0027s the following unused global functions:\n- rom.c: pci_map_rom_copy()\n- rom.c: pci_remove_rom()\n\nSigned-off-by: Adrian Bunk \u003cbunk@kernel.org\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "ad668599f263988eaac74354349d64e3c0990a77",
      "tree": "18239f096baec5d7b598e2bd5cba621d87098ff4",
      "parents": [
        "24e1c13c93cbdd05e4b7ea921c0050b036555adc"
      ],
      "author": {
        "name": "Adrian Bunk",
        "email": "bunk@kernel.org",
        "time": "Sat Oct 27 03:06:22 2007 +0200"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Fri Feb 01 15:04:18 2008 -0800"
      },
      "message": "PCI: make pci_restore_bars() static\n\nThis patch makes the needlessly global pci_restore_bars() static.\n\nSigned-off-by: Adrian Bunk \u003cbunk@kernel.org\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "f3191248bf1bf6627c04c5624904df45e0a979ed",
      "tree": "ad7a49bf947f849740999702204373c3c12caea7",
      "parents": [
        "cbb51afa6d69be003cc827a89e023906885f241e",
        "a14dc57495899175a0827673fe23ed17b5653896"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Feb 02 09:58:02 2008 +1100"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Feb 02 09:58:02 2008 +1100"
      },
      "message": "Merge git://git.kernel.org/pub/scm/linux/kernel/git/bart/ide-2.6\n\n* git://git.kernel.org/pub/scm/linux/kernel/git/bart/ide-2.6: (100 commits)\n  ide: move hwif_register() call out of ide_probe_port()\n  ide: factor out code for tuning devices from ide_probe_port()\n  ide: move handling of I/O resources out of ide_probe_port()\n  ide: make probe_hwif() return an error value\n  ide: use ide_remove_port_from_hwgroup in init_irq()\n  ide: prepare init_irq() for using ide_remove_port_from_hwgroup()\n  ide: factor out code removing port from hwgroup from ide_unregister()\n  ide: I/O resources are released too early in ide_unregister()\n  ide: cleanup ide_system_bus_speed()\n  ide: remove needless zeroing of hwgroup fields from init_irq()\n  ide: remove unused ide_hwgroup_t fields\n  ide_platform: remove struct hwif_prop\n  ide: remove hwif-\u003epresent manipulations from hwif_init()\n  ide: move wait_hwif_ready() documentation in the right place\n  ide: fix handling of busy I/O resources in probe_hwif()\n  \u003clinux/hdsmart.h\u003e is not used by kernel code\n  ide: don\u0027t include \u003clinux/hdsmart.h\u003e\n  ide-floppy: cleanup header\n  ide: update/add my Copyrights\n  ide: delete filenames/versions from comments\n  ...\n"
    },
    {
      "commit": "41dceed51f0e6105ca2bf45c3835a7cd9eaa077b",
      "tree": "99e6614643f12c126ff83720cc6b76012e44b3d2",
      "parents": [
        "969ab2ee9d68bd037e2db7ea12ff78baae5d2f94"
      ],
      "author": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Wed Jan 30 15:21:33 2008 -0800"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Fri Feb 01 14:35:07 2008 -0800"
      },
      "message": "USB: fix codingstyle issues in include/linux/usb/\n\nFixes a number of coding style issues in the USB public header files.\n\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n"
    },
    {
      "commit": "969ab2ee9d68bd037e2db7ea12ff78baae5d2f94",
      "tree": "f480f6a0ea44bed3ebea2b5cb966343629168465",
      "parents": [
        "782e70c6fc2290a0395850e8e02583b8b62264d8"
      ],
      "author": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Wed Jan 30 15:20:32 2008 -0800"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Fri Feb 01 14:35:07 2008 -0800"
      },
      "message": "USB: fix codingstyle issues in include/linux/usb.h\n\nNo logical code changes were made, but checkpatch.pl is much happier now.\n\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n"
    },
    {
      "commit": "a1cd7e99b343543af2be4c8c5755e26f6bfd725a",
      "tree": "41f8de097dd0889a9c6d02fa0a22b16d5146de46",
      "parents": [
        "828d55c58cba6b652fd30e00c3d940cb7c523e3c"
      ],
      "author": {
        "name": "Oliver Neukum",
        "email": "oliver@neukum.org",
        "time": "Wed Jan 16 17:18:52 2008 +0100"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Fri Feb 01 14:35:03 2008 -0800"
      },
      "message": "USB: stop io performed by mos7720 upon close()\n\nThis fixes a problem where the mos7720 driver will make io to a device from\nwhich it has been logically disconnected. It does so by introducing a flag by\nwhich the generic usb serial code can signal the subdrivers their\ndisconnection and appropriate locking.\n\nSigned-off-by: Oliver Neukum \u003coneukum@suse.de\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n\n"
    },
    {
      "commit": "1512300689426cb98bfd7e567ee9fdfaaf61b7c7",
      "tree": "a275493675fe7bc6b666d1c6a8179e103c7a199c",
      "parents": [
        "228426edac844a2c9270528e9cd7ab6260ef7628"
      ],
      "author": {
        "name": "Sarah Sharp",
        "email": "saharabeara@gmail.com",
        "time": "Fri Dec 21 16:54:15 2007 -0800"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Fri Feb 01 14:35:00 2008 -0800"
      },
      "message": "USB: Export suspend statistics\n\nThis patch exports two statistics to userspace:\n/sys/bus/usb/device/.../power/connected_duration\n/sys/bus/usb/device/.../power/active_duration\n\nconnected_duration is the total time (in msec) that the device has\nbeen connected.  active_duration is the total time the device has not\nbeen suspended.  With these two statistics, tools like PowerTOP can\ncalculate the percentage time that a device is active, i.e. not\nsuspended or auto-suspended.\n\nUsers can also use the active_duration to check if a device is actually\nautosuspended.  Currently, they can set power/level to auto and\npower/autosuspend to a positive timeout, but there\u0027s no way to know from\nuserspace if a device was actually autosuspended without looking at the\ndmesg output.  These statistics will be useful in creating an automated\nuserspace script to test autosuspend for USB devices.\n\nSigned-off-by: Sarah Sharp \u003csarah.a.sharp@intel.com\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "7f9705b04c1638b3682f63ece7931384f4542f17",
      "tree": "8205653fe89640216af6ff8857ae88a474e3fc1b",
      "parents": [
        "0354c1acd8f74e7bda752108c052972a1d1b6c3f"
      ],
      "author": {
        "name": "Marcin Slusarz",
        "email": "marcin.slusarz@gmail.com",
        "time": "Sun Dec 16 03:23:20 2007 +0100"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Fri Feb 01 14:34:58 2008 -0800"
      },
      "message": "USB: usbdevfs_urb: __user annotation\n\nfix warning:\ndrivers/usb/core/devio.c:1226:20: warning: incorrect type in assignment (different address spaces)\ndrivers/usb/core/devio.c:1226:20:    expected void *usercontext\ndrivers/usb/core/devio.c:1226:20:    got void [noderef] \u003casn:1\u003e*\n\nSigned-off-by: Marcin Slusarz \u003cmarcin.slusarz@gmail.com\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "6d71190e945d31617324e8320965946ad17e6e8c",
      "tree": "4a4d2d933391fe4bdeb90f3236e28ad6da70b4cf",
      "parents": [
        "c87d6a4f67657f4f1b992eea43796c7e7c09fb17"
      ],
      "author": {
        "name": "Robert P. J. Day",
        "email": "rpjday@crashcourse.ca",
        "time": "Wed Nov 14 16:21:00 2007 -0500"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Fri Feb 01 14:34:50 2008 -0800"
      },
      "message": "USB: linux/usb/Kbuild needs only \"header-y\", not \"unifdef-y\"\n\nGiven that none of the referenced header files test the proprocessor\nconditional __KERNEL__, there\u0027s no point \"unifdef\"fing them.\n\nSigned-off-by: Robert P. J. Day \u003crpjday@crashcourse.ca\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "9a6b1efa6fd1ee022fdf42c91a9868c589cc95b7",
      "tree": "4ffc94dfd9fe3c2bd4723687bca32be795a59102",
      "parents": [
        "27680d232b04d434d8d49a8417429b9512ffb7c6"
      ],
      "author": {
        "name": "Aristeu Rozanski",
        "email": "aris@ruivo.org",
        "time": "Mon Nov 12 15:15:02 2007 -0500"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Fri Feb 01 14:34:50 2008 -0800"
      },
      "message": "USB: usb_serial: clean tty reference in the last close\n\nWhen a usb serial adapter is used as console, the usb serial console\ndriver bumps the open_count on the port struct used but doesn\u0027t attach\na real tty to it (only a fake one temporaly). If this port is opened later\nusing the regular character device interface, the open method won\u0027t\ninitialize the port, which is the expected, and will receive a brand new\ntty struct created by tty layer, which will be stored in port-\u003etty.\n\nWhen the last close is issued, open_count won\u0027t be 0 because of the\nconsole usage and the port-\u003etty will still contain the old tty value. This\nis the last ttyUSB\u003cn\u003e close so the allocated tty will be freed by the\ntty layer. The usb_serial and usb_serial_port are still in use by the\nconsole, so port_free() won\u0027t be called (serial_close() -\u003e\nusb_serial_put() -\u003e destroy_serial() -\u003e port_free()), so the scheduled\nwork (port-\u003ework, usb_serial_port_work()) will still run. And\nusb_serial_port_work() does:\n(...)\n        tty \u003d port-\u003etty;\n        if (!tty)\n                return;\n\n        tty_wakeup(tty);\nwhich causes (manually copied):\n\nFaulting instruction address: 0x6b6b6b68\nOops: Kernel access of bad area, sig: 11 [#1]\nPREEMPT PowerMac\nModules linked in: binfmt_misc ipv6 nfs lockd nfs_acl sunrpc dm_snapshot dm_mirror dm_mod hfsplus uinput ams input_polldev genrtc cpufreq_powersave i2c_powermac therm_adt746x snd_aoa_codec_tas snd_aoa_fabric_layout snd_aoa joydev snd_aoa_i2sbus snd_pcm_oss snd_mixer_oss snd_pcm snd_timer snd_page_alloc pmac_zilog serial_core evdev ide_cd cdrom snd appletouch soundcore snd_aoa_soundbus bcm43xx firmware_class usbhid ieee80211softmac ff_memless firewire_ohci firewire_core ieee80211 ieee80211_crypt crc_itu_t sungem sungem_phy uninorth_agp agpart ssb\nNIP: 6b6b6b68 LR: c01b2108 CTR: 6b6b6b6b\nREGS: c106de80 TRAP: 0400   Not tainted  (2.6.24-rc2)\nMSR: 40009032 \u003cEE,ME,IR,DR\u003e  CR: 82004024  XER: 00000000\nTASK \u003d c106b4c0[5] \u0027events/0\u0027 THREAD: c106c000\nGPR00: 6b6b6b6b c106df30 c106b4c0 c2d613a0 00009032 00000001 00001a00 00000001\nGPR08: 00000008 00000000 00000000 c106c000 42004028 00000000 016ffbe0 0171a724\nGPR16: 016ffcf4 00240e24 00240e70 016fee68 016ff9a4 c03046c4 c0327f50 c03046fc\nGPR24: c106b6b9 c106b4c0 c101d610 c106c000 c02160fc c1eac1dc c2d613ac c2d613a0\nNIP [6b6b6b68] 0x6b6b6b68\nLR [c01b2108] tty_wakeup+0x6c/0x9c\nCall Trace:\n[c106df30] [c01b20e8] tty_wakeup+0x4c/0x9c (unreliable)\n[c106df40] [c0216138] usb_serial_port_work+0x3c/0x78\n[c106df50] [c00432e8] run_workqueue+0xc4/0x15c\n[c106df90] [c0043798] worker_thread+0xa0/0x124\n[c106dfd0] [c0048224] kthread+0x48/0x84\n[c106dff0] [c00129bc] kernel_thread+0x44/0x60\nInstruction dump:\nXXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX\nXXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX\nSlab corruption: size-2048 start\u003dc2d613a0, len\u003d2048\nRedzone: 0x9f911029d74e35b/0x9f911029d74e35b.\nLast user: [\u003cc01b16d8\u003e](release_one_tty+0xbc/0xf4)\n050: 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b\nPrev obj: start\u003dc2d60b88, len\u003d2048\nRedzone: 0x9f911029d74e35b/0x9f911029d74e35b.\nLast user: [\u003cc00f30ec\u003e](show_stat+0x410/0x428)\n000: 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b\n010: 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b\n\nThis patch avoids this, clearing port-\u003etty considering if the port is\nused as serial console or not\n\nSigned-off-by: Aristeu Rozanski \u003carozansk@redhat.com\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n\n"
    },
    {
      "commit": "25a010c8c1a5f0cc2e2794adf969e2df2ad1f0b6",
      "tree": "1d2e477e44a2a8122696711bfd2b9aad35a265bf",
      "parents": [
        "676d3aa16f66d94bf5654781b77d1e070c8b0514"
      ],
      "author": {
        "name": "Craig W. Nadler",
        "email": "craig@nadler.us",
        "time": "Sun Nov 11 15:00:15 2007 -0800"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Fri Feb 01 14:34:49 2008 -0800"
      },
      "message": "USB: add Printer Gadget Driver\n\nG_PRINTER: Adds a USB printer gadget driver for use in printer firmware.\n\nThis adds a USB printer gadget driver for use in printer firmware.\nThe printer gadget channels data between the USB host and a userspace\nprogram driving the print engine. The user space program reads and\nwrites the device file /dev/g_printer to receive or send printer data.\nIt can use ioctl calls to the device file to get or set printer status.\n\nSigned-off-by: Craig W. Nadler \u003ccraig@nadler.us\u003e\nSigned-off-by: David Brownell \u003cdbrownell@users.sourceforge.net\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "676d3aa16f66d94bf5654781b77d1e070c8b0514",
      "tree": "68d549b26bd32a02645b68af94ca5a77c50878ea",
      "parents": [
        "fec8de3aada6338a4069ee1df4726dd7bbbdf476"
      ],
      "author": {
        "name": "Alan Stern",
        "email": "stern@rowland.harvard.edu",
        "time": "Thu Nov 08 15:15:28 2007 -0500"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Fri Feb 01 14:34:49 2008 -0800"
      },
      "message": "USB: usb-storage: new \"lockable\" subclass 0x07\n\nThis patch (as1011) adds a #define for the newly-created Lockable\n(i.e., password-protected) subclass 0x07 for USB mass-storage devices.\nThe private ISD200 entry (which had been mapped to subclass 0x07) is\nmoved to 0xf0, which is unlikely to conflict with any official\nsubclass designation.\n\nThe US_SC_MIN and US_SC_MAX constants aren\u0027t used anywhere, so the\npatch removes them.\n\nSigned-off-by: Alan Stern \u003cstern@rowland.harvard.edu\u003e\nCc: Matthew Dharm \u003cmdharm-usb@one-eyed-alien.net\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "5a3201b2809a9f7bcda8413c445483f5b5e490a3",
      "tree": "3be21f9b9a8fa953645b889bbf31c3b8ec6f19a0",
      "parents": [
        "de6f92b9ee00e9f841fb1a63d0bd60593ec55dbe"
      ],
      "author": {
        "name": "Tony Jones",
        "email": "tonyj@suse.de",
        "time": "Tue Sep 11 14:07:31 2007 -0700"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Fri Feb 01 14:34:46 2008 -0800"
      },
      "message": "USB: Convert from class_device to device for USB core\n\nConvert from class_device to device for drivers/usb/core.\n\nSigned-off-by: Tony Jones \u003ctonyj@suse.de\u003e\nCc: Kay Sievers \u003ckay.sievers@vrfy.org\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "fbd130887a45341259cde02e134581fb3dac6e14",
      "tree": "f0725b5febce2f948e02f5d98a5bf3a6a7f658cb",
      "parents": [
        "cae5c82022cd710ff1eedd39ca8c56b081177b18"
      ],
      "author": {
        "name": "Bartlomiej Zolnierkiewicz",
        "email": "bzolnier@gmail.com",
        "time": "Fri Feb 01 23:09:36 2008 +0100"
      },
      "committer": {
        "name": "Bartlomiej Zolnierkiewicz",
        "email": "bzolnier@gmail.com",
        "time": "Fri Feb 01 23:09:36 2008 +0100"
      },
      "message": "ide: use ide_remove_port_from_hwgroup in init_irq()\n\nThere should be no functionality changes caused by this patch.\n\nSigned-off-by: Bartlomiej Zolnierkiewicz \u003cbzolnier@gmail.com\u003e\n"
    },
    {
      "commit": "a6fbb1c8c312be902f1085824c98ca50c86d5893",
      "tree": "d160dbcf42cadfc8855b45e086b03ba1b357ed7d",
      "parents": [
        "042449377e0aa559804c2072887c56760c56e079"
      ],
      "author": {
        "name": "Bartlomiej Zolnierkiewicz",
        "email": "bzolnier@gmail.com",
        "time": "Fri Feb 01 23:09:35 2008 +0100"
      },
      "committer": {
        "name": "Bartlomiej Zolnierkiewicz",
        "email": "bzolnier@gmail.com",
        "time": "Fri Feb 01 23:09:35 2008 +0100"
      },
      "message": "ide: remove unused ide_hwgroup_t fields\n\nSigned-off-by: Bartlomiej Zolnierkiewicz \u003cbzolnier@gmail.com\u003e\n"
    },
    {
      "commit": "76166952bbc81dda1c8a8c14e75a2aa06f6c052c",
      "tree": "471719a805c53c111f48efb4597412e944972934",
      "parents": [
        "dac2242047666a6709df6a2574f11c0ac8ebcd0b"
      ],
      "author": {
        "name": "Bartlomiej Zolnierkiewicz",
        "email": "bzolnier@gmail.com",
        "time": "Fri Feb 01 23:09:34 2008 +0100"
      },
      "committer": {
        "name": "Bartlomiej Zolnierkiewicz",
        "email": "bzolnier@gmail.com",
        "time": "Fri Feb 01 23:09:34 2008 +0100"
      },
      "message": "\u003clinux/hdsmart.h\u003e is not used by kernel code\n\nSigned-off-by: Bartlomiej Zolnierkiewicz \u003cbzolnier@gmail.com\u003e\n"
    },
    {
      "commit": "dac2242047666a6709df6a2574f11c0ac8ebcd0b",
      "tree": "424d59c39b59bcda06ab76a8ce1844a222aa11ca",
      "parents": [
        "d3f208488fcd9351e01f4e0ca088873192194094"
      ],
      "author": {
        "name": "Bartlomiej Zolnierkiewicz",
        "email": "bzolnier@gmail.com",
        "time": "Fri Feb 01 23:09:34 2008 +0100"
      },
      "committer": {
        "name": "Bartlomiej Zolnierkiewicz",
        "email": "bzolnier@gmail.com",
        "time": "Fri Feb 01 23:09:34 2008 +0100"
      },
      "message": "ide: don\u0027t include \u003clinux/hdsmart.h\u003e\n\nIDE doesn\u0027t need it.\n\nSigned-off-by: Bartlomiej Zolnierkiewicz \u003cbzolnier@gmail.com\u003e\n"
    },
    {
      "commit": "062f9f024dcdb927cfd35c9ee8a68f59cbb1136f",
      "tree": "ef592f702eea3e4333b1e0e2e3db7ce945408261",
      "parents": [
        "5c05ff68b9a9b40a9be949497e0aa980185565cf"
      ],
      "author": {
        "name": "Bartlomiej Zolnierkiewicz",
        "email": "bzolnier@gmail.com",
        "time": "Fri Feb 01 23:09:32 2008 +0100"
      },
      "committer": {
        "name": "Bartlomiej Zolnierkiewicz",
        "email": "bzolnier@gmail.com",
        "time": "Fri Feb 01 23:09:32 2008 +0100"
      },
      "message": "ide: use ide_build_sglist() and ide_destroy_dmatable() in non-PCI host drivers\n\n* Make ide_build_sglist() and ide_destroy_dmatable() available also when\n  CONFIG_BLK_DEV_IDEDMA_PCI\u003dn.\n\n* Use ide_build_sglist() and ide_destroy_dmatable() in {ics,au1xxx-}ide.c\n  and remove no longer needed {ics,au}ide_build_sglist().\n\nThere should be no functionality changes caused by this patch.\n\nCc: Russell King \u003crmk@arm.linux.org.uk\u003e\nSigned-off-by: Bartlomiej Zolnierkiewicz \u003cbzolnier@gmail.com\u003e\n"
    },
    {
      "commit": "36501650ec45b1db308c3b51886044863be2d762",
      "tree": "74cf9d9f313e510f8424f9bac35da8d61cce9f7b",
      "parents": [
        "f6fb786d6dcdd7d730e4fba620b071796f487e1b"
      ],
      "author": {
        "name": "Bartlomiej Zolnierkiewicz",
        "email": "bzolnier@gmail.com",
        "time": "Fri Feb 01 23:09:31 2008 +0100"
      },
      "committer": {
        "name": "Bartlomiej Zolnierkiewicz",
        "email": "bzolnier@gmail.com",
        "time": "Fri Feb 01 23:09:31 2008 +0100"
      },
      "message": "ide: keep pointer to struct device instead of struct pci_dev in ide_hwif_t\n\nKeep pointer to struct device instead of struct pci_dev in ide_hwif_t.\n\nWhile on it:\n* Use *dev-\u003edma_mask instead of pci_dev-\u003edma_mask in ide_toggle_bounce().\n\nThere should be no functionality changes caused by this patch.\n\nSigned-off-by: Bartlomiej Zolnierkiewicz \u003cbzolnier@gmail.com\u003e\n"
    },
    {
      "commit": "4166c1993b9e7f87c4d08e2e27f83ada890c2599",
      "tree": "b5abb7e9ee55edf183804c17df5473681a264481",
      "parents": [
        "8ac2b42a45896641ed292deaf038a1d2703d85a6"
      ],
      "author": {
        "name": "Bartlomiej Zolnierkiewicz",
        "email": "bzolnier@gmail.com",
        "time": "Fri Feb 01 23:09:30 2008 +0100"
      },
      "committer": {
        "name": "Bartlomiej Zolnierkiewicz",
        "email": "bzolnier@gmail.com",
        "time": "Fri Feb 01 23:09:30 2008 +0100"
      },
      "message": "ide: add IDE_HFLAG_NO_DSC host flag\n\n* Add IDE_HFLAG_NO_DSC host flag for hosts that doesn\u0027t support DSC overlap.\n\n* Set it in aec62xx (for ATP850UF only) and hpt34x host drivers.\n\n* Convert ide-tape device driver to check for IDE_HFLAG_NO_DSC flag.\n\nAcked-by: Sergei Shtylyov \u003csshtylyov@ru.mvista.com\u003e\nSigned-off-by: Bartlomiej Zolnierkiewicz \u003cbzolnier@gmail.com\u003e\n"
    },
    {
      "commit": "8ac2b42a45896641ed292deaf038a1d2703d85a6",
      "tree": "fb6c193f4a5f454c36b23c4e972fbe57bb1da6b1",
      "parents": [
        "993da8f9ea7e00d21af49d0e14a131183288bcf8"
      ],
      "author": {
        "name": "Bartlomiej Zolnierkiewicz",
        "email": "bzolnier@gmail.com",
        "time": "Fri Feb 01 23:09:30 2008 +0100"
      },
      "committer": {
        "name": "Bartlomiej Zolnierkiewicz",
        "email": "bzolnier@gmail.com",
        "time": "Fri Feb 01 23:09:30 2008 +0100"
      },
      "message": "ide: add IDE_HFLAG_CLEAR_SIMPLEX host flag\n\n* Rename \u0027simplex_stat\u0027 variable to \u0027dma_stat\u0027 in ide_get_or_set_dma_base().\n\n* Factor out code for forcing host out of \"simplex\" mode from\n  ide_get_or_set_dma_base() to ide_pci_clear_simplex() helper.\n\n* Add IDE_HFLAG_CLEAR_SIMPLEX host flag and set it in alim15x3 (for M5229),\n  amd74xx (for AMD 7409), cmd64x (for CMD643), generic (for Netcell) and\n  serverworks (for CSB5) host drivers.\n\n* Make ide_get_or_set_dma_base() test for IDE_HFLAG_CLEAR_SIMPLEX host flag\n  instead of checking dev-\u003edevice (BTW the code was buggy because it didn\u0027t\n  check for dev-\u003evendor, luckily none of these PCI Device IDs was used by\n  some other vendor for PCI IDE controller).\n\nSigned-off-by: Bartlomiej Zolnierkiewicz \u003cbzolnier@gmail.com\u003e\n"
    },
    {
      "commit": "ecf32796395ed0e27667e7f735946d6dc60e1765",
      "tree": "0cafd743bd39148b85470c8fb6398b30dbce7ffd",
      "parents": [
        "4e5a68aeb6b513ee0adda11642e10e528b7721c0"
      ],
      "author": {
        "name": "Sergei Shtylyov",
        "email": "sshtylyov@ru.mvista.com",
        "time": "Fri Feb 01 23:09:30 2008 +0100"
      },
      "committer": {
        "name": "Bartlomiej Zolnierkiewicz",
        "email": "bzolnier@gmail.com",
        "time": "Fri Feb 01 23:09:30 2008 +0100"
      },
      "message": "ide: ide_setup_dma() assumes 8 ports\n\nAccording to http://marc.info/?l\u003dlinux-ide\u0026m\u003d114346138611631, the drivers must\nalways register 8 DMA ports with ide_setup_dma(), so its last argument is not\nneeded. While at it, kill some useless parens in that function...\n\nSigned-off-by: Sergei Shtylyov \u003csshtylyov@ru.mvista.com\u003e\nSigned-off-by: Bartlomiej Zolnierkiewicz \u003cbzolnier@gmail.com\u003e\n"
    },
    {
      "commit": "7b9f25b539c3fa3c7b8c82775488a0021d90220f",
      "tree": "9107c2f7f1cfe256809546ccec7496b8c0e23d77",
      "parents": [
        "3bb4663bd82e6d536a4b46166b00e93d5072e656"
      ],
      "author": {
        "name": "Bartlomiej Zolnierkiewicz",
        "email": "bzolnier@gmail.com",
        "time": "Fri Feb 01 23:09:28 2008 +0100"
      },
      "committer": {
        "name": "Bartlomiej Zolnierkiewicz",
        "email": "bzolnier@gmail.com",
        "time": "Fri Feb 01 23:09:28 2008 +0100"
      },
      "message": "ide: add ide_dump_identify() debug helper\n\n* Add ide_dump_identify() debug helper for dumping raw identify data in\n  the hdparm friendly format (\u003d\u003d the identify data can be extracted from\n  dmesg output and passed to hdparm --Istdin).\n\n* Dump identify data in ide-probe.c::do_identify() if DEBUG is enabled.\n\nAcked-by: Sergei Shtylyov \u003csshtylyov@ru.mvista.com\u003e\nSigned-off-by: Bartlomiej Zolnierkiewicz \u003cbzolnier@gmail.com\u003e\n"
    },
    {
      "commit": "a1bb9457f06439f22571e93bddcca63144a08296",
      "tree": "c4b250183a7b552918fb0b001205d0b81b8ca46d",
      "parents": [
        "5c68429dfe8256c6069555e5851838f8e3175f78"
      ],
      "author": {
        "name": "Bartlomiej Zolnierkiewicz",
        "email": "bzolnier@gmail.com",
        "time": "Fri Feb 01 23:09:24 2008 +0100"
      },
      "committer": {
        "name": "Bartlomiej Zolnierkiewicz",
        "email": "bzolnier@gmail.com",
        "time": "Fri Feb 01 23:09:24 2008 +0100"
      },
      "message": "ide-cd: move lba_to_msf() and msf_to_lba() to \u003clinux/cdrom.h\u003e\n\n* Move lba_to_msf() and msf_to_lba() to \u003clinux/cdrom.h\u003e\n  (use \u0027u8\u0027 type instead of \u0027byte\u0027 while at it).\n\n* Remove msf_to_lba() copy from drivers/cdrom/cdrom.c.\n\nAcked-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\nSigned-off-by: Bartlomiej Zolnierkiewicz \u003cbzolnier@gmail.com\u003e\n"
    },
    {
      "commit": "da6f4c7f6fe02f92aff72071ed541f59e5880398",
      "tree": "662bca91fba0afa67ffbbec93363416b7516b182",
      "parents": [
        "2eae6ebbf99a083687466c010e3129fede9cdb4b"
      ],
      "author": {
        "name": "Adrian Bunk",
        "email": "bunk@kernel.org",
        "time": "Fri Feb 01 23:09:16 2008 +0100"
      },
      "committer": {
        "name": "Bartlomiej Zolnierkiewicz",
        "email": "bzolnier@gmail.com",
        "time": "Fri Feb 01 23:09:16 2008 +0100"
      },
      "message": "ide: make wait_drive_not_busy() static again\n\nAfter commit 7267c3377443322588cddaf457cf106839a60463 \nwait_drive_not_busy() can become static again.\n\nSigned-off-by: Adrian Bunk \u003cbunk@kernel.org\u003e\nSigned-off-by: Bartlomiej Zolnierkiewicz \u003cbzolnier@gmail.com\u003e\n"
    },
    {
      "commit": "2eae6ebbf99a083687466c010e3129fede9cdb4b",
      "tree": "94b6fcdc86370351322ef91ef2244139398b4999",
      "parents": [
        "a4b5a4d91d6555df56489094cd5846cd03fc9239"
      ],
      "author": {
        "name": "Adrian Bunk",
        "email": "bunk@kernel.org",
        "time": "Fri Feb 01 23:09:16 2008 +0100"
      },
      "committer": {
        "name": "Bartlomiej Zolnierkiewicz",
        "email": "bzolnier@gmail.com",
        "time": "Fri Feb 01 23:09:16 2008 +0100"
      },
      "message": "ide: small ide-scan-pci.c cleanup\n\n- ide_scan_pcibus() can become static\n- instead of ide_scan_pci() we can use ide_scan_pcibus() directly\n  in module_init()\n\nSigned-off-by: Adrian Bunk \u003cbunk@kernel.org\u003e\nSigned-off-by: Bartlomiej Zolnierkiewicz \u003cbzolnier@gmail.com\u003e\n"
    },
    {
      "commit": "0113ab34644649aceaac37ef4b7e5c7d5c183be3",
      "tree": "b0b1cde6e10b550bf4b9fcc523d855a6a1fade9d",
      "parents": [
        "87d26ea7771ad637035e6bd5a2700d81ee9162da"
      ],
      "author": {
        "name": "Jeff Layton",
        "email": "jlayton@redhat.com",
        "time": "Tue Jan 29 10:30:54 2008 -0500"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Fri Feb 01 16:42:15 2008 -0500"
      },
      "message": "SUNRPC: spin svc_rqst initialization to its own function\n\nMove the initialzation in __svc_create_thread that happens prior to\nthread creation to a new function. Export the function to allow\nservices to have better control over the svc_rqst structs.\n\nAlso rearrange the rqstp initialization to prevent NULL pointer\ndereferences in svc_exit_thread in case allocations fail.\n\nSigned-off-by: Jeff Layton \u003cjlayton@redhat.com\u003e\nReviewed-by: NeilBrown \u003cneilb@suse.de\u003e\nSigned-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\n"
    },
    {
      "commit": "d21b05f101ae732d9bc322f13eea2f59c0aa60f5",
      "tree": "1b90266dad242b0e9fe213ede4e39af3443a38aa",
      "parents": [
        "9571af18fa1e4a431dc6f6023ddbd87d1112fd5d"
      ],
      "author": {
        "name": "Tom Tucker",
        "email": "tom@opengridcomputing.com",
        "time": "Wed Dec 12 16:13:17 2007 -0600"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Fri Feb 01 16:42:14 2008 -0500"
      },
      "message": "rdma: SVCRMDA Header File\n\nThis file defines the data types used by the SVCRDMA transport module.\nThe principle data structure is the transport specific extension to\nthe svcxprt structure.\n\nSigned-off-by: Tom Tucker \u003ctom@opengridcomputing.com\u003e\nAcked-by: Neil Brown \u003cneilb@suse.de\u003e\nSigned-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\n"
    },
    {
      "commit": "9571af18fa1e4a431dc6f6023ddbd87d1112fd5d",
      "tree": "d8eafdea71ea1c13fe9c733442d41857e17901ac",
      "parents": [
        "a217813f9067b785241cb7f31956e51d2071703a"
      ],
      "author": {
        "name": "Tom Tucker",
        "email": "tom@opengridcomputing.com",
        "time": "Sun Dec 30 21:08:37 2007 -0600"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Fri Feb 01 16:42:14 2008 -0500"
      },
      "message": "svc: Add svc_xprt_names service to replace svc_sock_names\n\nCreate a transport independent version of the svc_sock_names function.\n\nThe toclose capability of the svc_sock_names service can be implemented\nusing the svc_xprt_find and svc_xprt_close services.\n\nSigned-off-by: Tom Tucker \u003ctom@opengridcomputing.com\u003e\nAcked-by: Neil Brown \u003cneilb@suse.de\u003e\nReviewed-by: Chuck Lever \u003cchuck.lever@oracle.com\u003e\nReviewed-by: Greg Banks \u003cgnb@sgi.com\u003e\nSigned-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\n"
    },
    {
      "commit": "7fcb98d58cb4d18af6386f71025fc5192f25fbca",
      "tree": "7ccd884928c644cebd717306937565fbcdc9dd88",
      "parents": [
        "dc9a16e49dbba3dd042e6aec5d9a7929e099a89b"
      ],
      "author": {
        "name": "Tom Tucker",
        "email": "tom@opengridcomputing.com",
        "time": "Sun Dec 30 21:08:33 2007 -0600"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Fri Feb 01 16:42:13 2008 -0500"
      },
      "message": "svc: Add svc API that queries for a transport instance\n\nAdd a new svc function that allows a service to query whether a\ntransport instance has already been created. This is used in lockd\nto determine whether or not a transport needs to be created when\na lockd instance is brought up.\n\nSpecifying 0 for the address family or port is effectively a wild-card,\nand will result in matching the first transport in the service\u0027s list\nthat has a matching class name.\n\nSigned-off-by: Tom Tucker \u003ctom@opengridcomputing.com\u003e\nAcked-by: Neil Brown \u003cneilb@suse.de\u003e\nReviewed-by: Chuck Lever \u003cchuck.lever@oracle.com\u003e\nReviewed-by: Greg Banks \u003cgnb@sgi.com\u003e\nSigned-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\n"
    },
    {
      "commit": "dc9a16e49dbba3dd042e6aec5d9a7929e099a89b",
      "tree": "5aee4ec75869697350d3cebdfaaf8e10435ebbc2",
      "parents": [
        "260c1d1298f6703d38fdccd3dd5a310766327340"
      ],
      "author": {
        "name": "Tom Tucker",
        "email": "tom@opengridcomputing.com",
        "time": "Sun Dec 30 21:08:31 2007 -0600"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Fri Feb 01 16:42:13 2008 -0500"
      },
      "message": "svc: Add /proc/sys/sunrpc/transport files\n\nAdd a file that when read lists the set of registered svc\ntransports.\n\nSigned-off-by: Tom Tucker \u003ctom@opengridcomputing.com\u003e\nAcked-by: Neil Brown \u003cneilb@suse.de\u003e\nReviewed-by: Chuck Lever \u003cchuck.lever@oracle.com\u003e\nReviewed-by: Greg Banks \u003cgnb@sgi.com\u003e\nSigned-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\n"
    },
    {
      "commit": "260c1d1298f6703d38fdccd3dd5a310766327340",
      "tree": "95bf71a81a9bba5d1e69940ccba99943682029c5",
      "parents": [
        "0f0257eaa5d29b80f6ab2c40ed21aa65bb4527f6"
      ],
      "author": {
        "name": "Tom Tucker",
        "email": "tom@opengridcomputing.com",
        "time": "Sun Dec 30 21:08:29 2007 -0600"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Fri Feb 01 16:42:13 2008 -0500"
      },
      "message": "svc: Add transport hdr size for defer/revisit\n\nSome transports have a header in front of the RPC header. The current\ndefer/revisit processing considers only the iov_len and arg_len to\ndetermine how much to back up when saving the original request\nto revisit. Add a field to the rqstp structure to save the size\nof the transport header so svc_defer can correctly compute\nthe start of a request.\n\nSigned-off-by: Tom Tucker \u003ctom@opengridcomputing.com\u003e\nAcked-by: Neil Brown \u003cneilb@suse.de\u003e\nReviewed-by: Chuck Lever \u003cchuck.lever@oracle.com\u003e\nReviewed-by: Greg Banks \u003cgnb@sgi.com\u003e\nSigned-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\n"
    },
    {
      "commit": "0f0257eaa5d29b80f6ab2c40ed21aa65bb4527f6",
      "tree": "542f64ec74fc045c06f5a1ffc0d48f823de12ccb",
      "parents": [
        "18d19f949d5a9c927b2b88402630c5137971b619"
      ],
      "author": {
        "name": "Tom Tucker",
        "email": "tom@opengridcomputing.com",
        "time": "Sun Dec 30 21:08:27 2007 -0600"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Fri Feb 01 16:42:13 2008 -0500"
      },
      "message": "svc: Move the xprt independent code to the svc_xprt.c file\n\nThis functionally trivial patch moves all of the transport independent\nfunctions from the svcsock.c file to the transport independent svc_xprt.c\nfile.\n\nIn addition the following formatting changes were made:\n- White space cleanup\n- Function signatures on single line\n- The inline directive was removed\n- Lines over 80 columns were reformatted\n- The term \u0027socket\u0027 was changed to \u0027transport\u0027 in comments\n- The SMP comment was moved and updated.\n\nSigned-off-by: Tom Tucker \u003ctom@opengridcomputing.com\u003e\nAcked-by: Neil Brown \u003cneilb@suse.de\u003e\nReviewed-by: Chuck Lever \u003cchuck.lever@oracle.com\u003e\nReviewed-by: Greg Banks \u003cgnb@sgi.com\u003e\nSigned-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\n"
    },
    {
      "commit": "57b1d3babaafea1c395c932914e38c2ff9493001",
      "tree": "5580e5f084f4473ac6b7b00905d4abd0328e5617",
      "parents": [
        "4e5caaa5f24b3df1fe01097e1e7576461e70d491"
      ],
      "author": {
        "name": "Tom Tucker",
        "email": "tom@opengridcomputing.com",
        "time": "Sun Dec 30 21:08:22 2007 -0600"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Fri Feb 01 16:42:13 2008 -0500"
      },
      "message": "svc: Removing remaining references to rq_sock in rqstp\n\nThis functionally empty patch removes rq_sock and unamed union\nfrom rqstp structure.\n\nSigned-off-by: Tom Tucker \u003ctom@opengridcomputing.com\u003e\nAcked-by: Neil Brown \u003cneilb@suse.de\u003e\nReviewed-by: Chuck Lever \u003cchuck.lever@oracle.com\u003e\nReviewed-by: Greg Banks \u003cgnb@sgi.com\u003e\nSigned-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\n"
    },
    {
      "commit": "9dbc240f199c16c3c0859c255ad52a663d8ee51d",
      "tree": "0e81dd425c36590e65accfe9654d905632783c7f",
      "parents": [
        "8c7b0172a1db8120d25ecb4eff69664c52ee7639"
      ],
      "author": {
        "name": "Tom Tucker",
        "email": "tom@opengridcomputing.com",
        "time": "Sun Dec 30 21:08:12 2007 -0600"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Fri Feb 01 16:42:12 2008 -0500"
      },
      "message": "svc: Move the sockaddr information to svc_xprt\n\nThis patch moves the transport sockaddr to the svc_xprt\nstructure.  Convenience functions are added to set and\nget the local and remote addresses of a transport from\nthe transport provider as well as determine the length\nof a sockaddr.\n\nA transport is responsible for setting the xpt_local\nand xpt_remote addresses in the svc_xprt structure as\npart of transport creation and xpo_accept processing. This\ncannot be done in a generic way and in fact varies\nbetween TCP, UDP and RDMA. A set of xpo_ functions\n(e.g. getlocalname, getremotename) could have been\nadded but this would have resulted in additional\ncaching and copying of the addresses around.  Note that\nthe xpt_local address should also be set on listening\nendpoints; for TCP/RDMA this is done as part of\nendpoint creation.\n\nFor connected transports like TCP and RDMA, the addresses\nnever change and can be set once and copied into the\nrqstp structure for each request. For UDP, however, the\nlocal and remote addresses may change for each request. In\nthis case, the address information is obtained from the\nUDP recvmsg info and copied into the rqstp structure from\nthere.\n\nA svc_xprt_local_port function was also added that returns\nthe local port given a transport. This is used by\nsvc_create_xprt when returning the port associated with\na newly created transport, and later when creating a\ngeneric find transport service to check if a service is\nalready listening on a given port.\n\nSigned-off-by: Tom Tucker \u003ctom@opengridcomputing.com\u003e\nAcked-by: Neil Brown \u003cneilb@suse.de\u003e\nReviewed-by: Chuck Lever \u003cchuck.lever@oracle.com\u003e\nReviewed-by: Greg Banks \u003cgnb@sgi.com\u003e\nSigned-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\n"
    },
    {
      "commit": "8c7b0172a1db8120d25ecb4eff69664c52ee7639",
      "tree": "d048ab4c5c378d2a90e5dd52a09dee4e24712cc9",
      "parents": [
        "def13d7401e9b95bbd34c20057ebeb2972708b1b"
      ],
      "author": {
        "name": "Tom Tucker",
        "email": "tom@opengridcomputing.com",
        "time": "Sun Dec 30 21:08:10 2007 -0600"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Fri Feb 01 16:42:12 2008 -0500"
      },
      "message": "svc: Make deferral processing xprt independent\n\nThis patch moves the transport independent sk_deferred list to the svc_xprt\nstructure and updates the svc_deferred_req structure to keep pointers to\nsvc_xprt\u0027s directly. The deferral processing code is also moved out of the\ntransport dependent recvfrom functions and into the generic svc_recv path.\n\nSigned-off-by: Tom Tucker \u003ctom@opengridcomputing.com\u003e\nAcked-by: Neil Brown \u003cneilb@suse.de\u003e\nReviewed-by: Chuck Lever \u003cchuck.lever@oracle.com\u003e\nReviewed-by: Greg Banks \u003cgnb@sgi.com\u003e\nSigned-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\n"
    },
    {
      "commit": "def13d7401e9b95bbd34c20057ebeb2972708b1b",
      "tree": "afea72afdfe80c645eaf75aa828a49a6e1dec864",
      "parents": [
        "4bc6c497b26a7984cac842a09e2e8f8c46242782"
      ],
      "author": {
        "name": "Tom Tucker",
        "email": "tom@opengridcomputing.com",
        "time": "Sun Dec 30 21:08:08 2007 -0600"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Fri Feb 01 16:42:12 2008 -0500"
      },
      "message": "svc: Move the authinfo cache to svc_xprt.\n\nMove the authinfo cache to svc_xprt. This allows both the TCP and RDMA\ntransports to share this logic. A flag bit is used to determine if\nauth information is to be cached or not. Previously, this code looked\nat the transport protocol.\n\nI\u0027ve also changed the spin_lock/unlock logic so that a lock is not taken for\ntransports that are not caching auth info.\n\nSigned-off-by: Tom Tucker \u003ctom@opengridcomputing.com\u003e\nAcked-by: Neil Brown \u003cneilb@suse.de\u003e\nReviewed-by: Chuck Lever \u003cchuck.lever@oracle.com\u003e\nReviewed-by: Greg Banks \u003cgnb@sgi.com\u003e\nSigned-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\n"
    },
    {
      "commit": "4bc6c497b26a7984cac842a09e2e8f8c46242782",
      "tree": "4b4d4d700ed6539e3b13bc2b66af4bdf179b35aa",
      "parents": [
        "6bc5ab1367e43e59671d3fd19e6b0d2e4c138323"
      ],
      "author": {
        "name": "Tom Tucker",
        "email": "tom@opengridcomputing.com",
        "time": "Sun Dec 30 21:08:05 2007 -0600"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Fri Feb 01 16:42:12 2008 -0500"
      },
      "message": "svc: Remove sk_lastrecv\n\nWith the implementation of the new mark and sweep algorithm for shutting\ndown old connections, the sk_lastrecv field is no longer needed.\n\nSigned-off-by: Tom Tucker \u003ctom@opengridcomputing.com\u003e\nAcked-by: Neil Brown \u003cneilb@suse.de\u003e\nReviewed-by: Chuck Lever \u003cchuck.lever@oracle.com\u003e\nReviewed-by: Greg Banks \u003cgnb@sgi.com\u003e\nSigned-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\n"
    },
    {
      "commit": "a6046f71f2b598af241e7496a8ead90f2979224b",
      "tree": "bceb453e9c7aac478a86253528ff2a00b0726fcc",
      "parents": [
        "a50fea26b9d2aa7b66fdd6d9579de10827ec086a"
      ],
      "author": {
        "name": "Tom Tucker",
        "email": "tom@opengridcomputing.com",
        "time": "Sun Dec 30 21:08:01 2007 -0600"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Fri Feb 01 16:42:12 2008 -0500"
      },
      "message": "svc: Change svc_sock_received to svc_xprt_received and export it\n\nAll fields touched by svc_sock_received are now transport independent.\nChange it to use svc_xprt directly. This function is called from\ntransport dependent code, so export it.\n\nUpdate the comment to clearly state the rules for calling this function.\n\nSigned-off-by: Tom Tucker \u003ctom@opengridcomputing.com\u003e\nAcked-by: Neil Brown \u003cneilb@suse.de\u003e\nReviewed-by: Chuck Lever \u003cchuck.lever@oracle.com\u003e\nReviewed-by: Greg Banks \u003cgnb@sgi.com\u003e\nSigned-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\n"
    },
    {
      "commit": "a50fea26b9d2aa7b66fdd6d9579de10827ec086a",
      "tree": "efb7893e6e45b417405e9320d3b82100b1684daf",
      "parents": [
        "f6150c3cab6e788afacb07470be3c6b4a722f1ed"
      ],
      "author": {
        "name": "Tom Tucker",
        "email": "tom@opengridcomputing.com",
        "time": "Sun Dec 30 21:07:59 2007 -0600"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Fri Feb 01 16:42:11 2008 -0500"
      },
      "message": "svc: Make svc_send transport neutral\n\nMove the sk_mutex field to the transport independent svc_xprt structure.\nNow all the fields that svc_send touches are transport neutral. Change the\nsvc_send function to use the transport independent svc_xprt directly instead\nof the transport dependent svc_sock structure.\n\nSigned-off-by: Tom Tucker \u003ctom@opengridcomputing.com\u003e\nAcked-by: Neil Brown \u003cneilb@suse.de\u003e\nReviewed-by: Chuck Lever \u003cchuck.lever@oracle.com\u003e\nReviewed-by: Greg Banks \u003cgnb@sgi.com\u003e\nSigned-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\n"
    },
    {
      "commit": "7a90e8cc21ad80529b3a3371dc97acc8832cc592",
      "tree": "3a5527b0cce3c046067c72705d6acd5d6bc1184b",
      "parents": [
        "7a18208383ab3f3ce4a1f4e0536acc9372523d81"
      ],
      "author": {
        "name": "Tom Tucker",
        "email": "tom@opengridcomputing.com",
        "time": "Sun Dec 30 21:07:55 2007 -0600"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Fri Feb 01 16:42:11 2008 -0500"
      },
      "message": "svc: Move sk_reserved to svc_xprt\n\nThis functionally trivial patch moves the sk_reserved field to the\ntransport independent svc_xprt structure.\n\nSigned-off-by: Tom Tucker \u003ctom@opengridcomputing.com\u003e\nAcked-by: Neil Brown \u003cneilb@suse.de\u003e\nReviewed-by: Chuck Lever \u003cchuck.lever@oracle.com\u003e\nReviewed-by: Greg Banks \u003cgnb@sgi.com\u003e\nSigned-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\n"
    },
    {
      "commit": "7a18208383ab3f3ce4a1f4e0536acc9372523d81",
      "tree": "851a1cc29d753297c2e7cf4cb4a95c4af7868427",
      "parents": [
        "bb5cf160b282644c4491afbf76fbc66f5dc35030"
      ],
      "author": {
        "name": "Tom Tucker",
        "email": "tom@opengridcomputing.com",
        "time": "Sun Dec 30 21:07:53 2007 -0600"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Fri Feb 01 16:42:11 2008 -0500"
      },
      "message": "svc: Make close transport independent\n\nMove sk_list and sk_ready to svc_xprt. This involves close because these\nlists are walked by svcs when closing all their transports. So I combined\nthe moving of these lists to svc_xprt with making close transport independent.\n\nThe svc_force_sock_close has been changed to svc_close_all and takes a list\nas an argument. This removes some svc internals knowledge from the svcs.\n\nThis code races with module removal and transport addition.\n\nThanks to Simon Holm Thøgersen for a compile fix.\n\nSigned-off-by: Tom Tucker \u003ctom@opengridcomputing.com\u003e\nAcked-by: Neil Brown \u003cneilb@suse.de\u003e\nReviewed-by: Chuck Lever \u003cchuck.lever@oracle.com\u003e\nReviewed-by: Greg Banks \u003cgnb@sgi.com\u003e\nSigned-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\nCc: Simon Holm Thøgersen \u003codie@cs.aau.dk\u003e\n"
    },
    {
      "commit": "bb5cf160b282644c4491afbf76fbc66f5dc35030",
      "tree": "76443ea6f87faf4d2e039ca6d2e3a7008261a1d2",
      "parents": [
        "02fc6c36188be0ad19502cfd39266150ffab7603"
      ],
      "author": {
        "name": "Tom Tucker",
        "email": "tom@opengridcomputing.com",
        "time": "Sun Dec 30 21:07:50 2007 -0600"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Fri Feb 01 16:42:11 2008 -0500"
      },
      "message": "svc: Move sk_server and sk_pool to svc_xprt\n\nThis is another incremental change that moves transport independent\nfields from svc_sock to the svc_xprt structure. The changes\nshould be functionally null.\n\nSigned-off-by: Tom Tucker \u003ctom@opengridcomputing.com\u003e\nAcked-by: Neil Brown \u003cneilb@suse.de\u003e\nReviewed-by: Chuck Lever \u003cchuck.lever@oracle.com\u003e\nReviewed-by: Greg Banks \u003cgnb@sgi.com\u003e\nSigned-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\n"
    },
    {
      "commit": "02fc6c36188be0ad19502cfd39266150ffab7603",
      "tree": "e1d85b49c18944209232bbb1ebaf51001b6af602",
      "parents": [
        "e1b3157f9710622bad6c7747d3b08ed3d2394cf6"
      ],
      "author": {
        "name": "Tom Tucker",
        "email": "tom@opengridcomputing.com",
        "time": "Sun Dec 30 21:07:48 2007 -0600"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Fri Feb 01 16:42:11 2008 -0500"
      },
      "message": "svc: Move sk_flags to the svc_xprt structure\n\nThis functionally trivial change moves the transport independent sk_flags\nfield to the transport independent svc_xprt structure.\n\nSigned-off-by: Tom Tucker \u003ctom@opengridcomputing.com\u003e\nAcked-by: Neil Brown \u003cneilb@suse.de\u003e\nReviewed-by: Chuck Lever \u003cchuck.lever@oracle.com\u003e\nReviewed-by: Greg Banks \u003cgnb@sgi.com\u003e\nSigned-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\n"
    },
    {
      "commit": "e1b3157f9710622bad6c7747d3b08ed3d2394cf6",
      "tree": "e03687e0363fdb2307f7e4909a735e8d1331050a",
      "parents": [
        "d7c9f1ed972b4a468dd24a2457721704dfe9ca70"
      ],
      "author": {
        "name": "Tom Tucker",
        "email": "tom@opengridcomputing.com",
        "time": "Sun Dec 30 21:07:46 2007 -0600"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Fri Feb 01 16:42:11 2008 -0500"
      },
      "message": "svc: Change sk_inuse to a kref\n\nChange the atomic_t reference count to a kref and move it to the\ntransport indepenent svc_xprt structure. Change the reference count\nwrapper names to be generic.\n\nSigned-off-by: Tom Tucker \u003ctom@opengridcomputing.com\u003e\nAcked-by: Neil Brown \u003cneilb@suse.de\u003e\nReviewed-by: Chuck Lever \u003cchuck.lever@oracle.com\u003e\nReviewed-by: Greg Banks \u003cgnb@sgi.com\u003e\nSigned-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\n"
    },
    {
      "commit": "d7c9f1ed972b4a468dd24a2457721704dfe9ca70",
      "tree": "40cd2b38db79df4d90753b58789c3e4bc274095f",
      "parents": [
        "b700cbb11fced2a0e953fdd19eac07ffaad86598"
      ],
      "author": {
        "name": "Tom Tucker",
        "email": "tom@opengridcomputing.com",
        "time": "Sun Dec 30 21:07:44 2007 -0600"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Fri Feb 01 16:42:09 2008 -0500"
      },
      "message": "svc: Change services to use new svc_create_xprt service\n\nModify the various kernel RPC svcs to use the svc_create_xprt service.\n\nSigned-off-by: Tom Tucker \u003ctom@opengridcomputing.com\u003e\nAcked-by: Neil Brown \u003cneilb@suse.de\u003e\nReviewed-by: Chuck Lever \u003cchuck.lever@oracle.com\u003e\nReviewed-by: Greg Banks \u003cgnb@sgi.com\u003e\nSigned-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\n"
    },
    {
      "commit": "b700cbb11fced2a0e953fdd19eac07ffaad86598",
      "tree": "345028d75f049b63bcec574158b94e205e9684bc",
      "parents": [
        "f9f3cc4fae04c87c815a4b473fb577cf74ef27da"
      ],
      "author": {
        "name": "Tom Tucker",
        "email": "tom@opengridcomputing.com",
        "time": "Sun Dec 30 21:07:42 2007 -0600"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Fri Feb 01 16:42:09 2008 -0500"
      },
      "message": "svc: Add a generic transport svc_create_xprt function\n\nThe svc_create_xprt function is a transport independent version\nof the svc_makesock function.\n\nSince transport instance creation contains transport dependent and\nindependent components, add an xpo_create transport function. The\ntransport implementation of this function allocates the memory for the\nendpoint, implements the transport dependent initialization logic, and\ncalls svc_xprt_init to initialize the transport independent field (svc_xprt)\nin it\u0027s data structure.\n\nSigned-off-by: Tom Tucker \u003ctom@opengridcomputing.com\u003e\nAcked-by: Neil Brown \u003cneilb@suse.de\u003e\nReviewed-by: Chuck Lever \u003cchuck.lever@oracle.com\u003e\nReviewed-by: Greg Banks \u003cgnb@sgi.com\u003e\nSigned-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\n"
    },
    {
      "commit": "38a417cc993f4535548e47207f9894e7c27e05e4",
      "tree": "f8035bcf6bc9a4831b152f5556b14cb3b48a72b8",
      "parents": [
        "d7979ae4a050a45b78af51832475001b68263d2a"
      ],
      "author": {
        "name": "Tom Tucker",
        "email": "tom@opengridcomputing.com",
        "time": "Sun Dec 30 21:07:36 2007 -0600"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Fri Feb 01 16:42:08 2008 -0500"
      },
      "message": "svc: Add xpo_accept transport function\n\nPreviously, the accept logic looked into the socket state to determine\nwhether to call accept or recv when data-ready was indicated on an endpoint.\nSince some transports don\u0027t use sockets, this logic now uses a flag\nbit (SK_LISTENER) to identify listening endpoints. A transport function\n(xpo_accept) allows each transport to define its own accept processing.\nA transport\u0027s initialization logic is reponsible for setting the\nSK_LISTENER bit. I didn\u0027t see any way to do this in transport independent\nlogic since the passive side of a UDP connection doesn\u0027t listen and\nalways recv\u0027s.\n\nIn the svc_recv function, if the SK_LISTENER bit is set, the transport\nxpo_accept function is called to handle accept processing.\n\nNote that all functions are defined even if they don\u0027t make sense\nfor a given transport. For example, accept doesn\u0027t mean anything for\nUDP. The function is defined anyway and bug checks if called. The\nUDP transport should never set the SK_LISTENER bit.\n\nSigned-off-by: Tom Tucker \u003ctom@opengridcomputing.com\u003e\nAcked-by: Neil Brown \u003cneilb@suse.de\u003e\nReviewed-by: Chuck Lever \u003cchuck.lever@oracle.com\u003e\nReviewed-by: Greg Banks \u003cgnb@sgi.com\u003e\nSigned-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\n"
    },
    {
      "commit": "323bee32e9bef14c6dd943ecc8e8cd373a9c94d9",
      "tree": "5779a724dfcbe3aee1f06d9eb989931d1dcfa163",
      "parents": [
        "e831fe65b10199e1e301a7316c66d6ced133712d"
      ],
      "author": {
        "name": "Tom Tucker",
        "email": "tom@opengridcomputing.com",
        "time": "Sun Dec 30 21:07:31 2007 -0600"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Fri Feb 01 16:42:08 2008 -0500"
      },
      "message": "svc: Add a transport function that checks for write space\n\nIn order to avoid blocking a service thread, the receive side checks\nto see if there is sufficient write space to reply to the request.\nEach transport has a different mechanism for determining if there is\nenough write space to reply.\n\nThe code that checked for write space was coupled with code that\nchecked for CLOSE and CONN. These checks have been broken out into\nseparate statements to make the code easier to read.\n\nSigned-off-by: Tom Tucker \u003ctom@opengridcomputing.com\u003e\nAcked-by: Neil Brown \u003cneilb@suse.de\u003e\nReviewed-by: Chuck Lever \u003cchuck.lever@oracle.com\u003e\nReviewed-by: Greg Banks \u003cgnb@sgi.com\u003e\nSigned-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\n"
    },
    {
      "commit": "e831fe65b10199e1e301a7316c66d6ced133712d",
      "tree": "33436ef94e099e854c4824e78cd62f341e5f357a",
      "parents": [
        "755cceaba7555027e61dfa79f1e55bdfc6906633"
      ],
      "author": {
        "name": "Tom Tucker",
        "email": "tom@opengridcomputing.com",
        "time": "Sun Dec 30 21:07:29 2007 -0600"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Fri Feb 01 16:42:08 2008 -0500"
      },
      "message": "svc: Add xpo_prep_reply_hdr\n\nSome transports add fields to the RPC header for replies, e.g. the TCP\nrecord length. This function is called when preparing the reply header\nto allow each transport to add whatever fields it requires.\n\nSigned-off-by: Tom Tucker \u003ctom@opengridcomputing.com\u003e\nAcked-by: Neil Brown \u003cneilb@suse.de\u003e\nReviewed-by: Chuck Lever \u003cchuck.lever@oracle.com\u003e\nReviewed-by: Greg Banks \u003cgnb@sgi.com\u003e\nSigned-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\n"
    },
    {
      "commit": "755cceaba7555027e61dfa79f1e55bdfc6906633",
      "tree": "13fa81b19e96af8130414b3535ced72b910a1aef",
      "parents": [
        "5148bf4ebc1f59dc6a0ec43a220c55ff0771246e"
      ],
      "author": {
        "name": "Tom Tucker",
        "email": "tom@opengridcomputing.com",
        "time": "Sun Dec 30 21:07:27 2007 -0600"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Fri Feb 01 16:42:08 2008 -0500"
      },
      "message": "svc: Add per-transport delete functions\n\nAdd transport specific xpo_detach and xpo_free functions. The xpo_detach\nfunction causes the transport to stop delivering data-ready events\nand enqueing the transport for I/O.\n\nThe xpo_free function frees all resources associated with the particular\ntransport instance.\n\nSigned-off-by: Tom Tucker \u003ctom@opengridcomputing.com\u003e\nAcked-by: Neil Brown \u003cneilb@suse.de\u003e\nReviewed-by: Chuck Lever \u003cchuck.lever@oracle.com\u003e\nReviewed-by: Greg Banks \u003cgnb@sgi.com\u003e\nSigned-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\n"
    },
    {
      "commit": "5148bf4ebc1f59dc6a0ec43a220c55ff0771246e",
      "tree": "d7ba46947483308dc77736335b05d1124befa7c4",
      "parents": [
        "5d137990f5860451a6e0428e0903f62933d05287"
      ],
      "author": {
        "name": "Tom Tucker",
        "email": "tom@opengridcomputing.com",
        "time": "Sun Dec 30 21:07:25 2007 -0600"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Fri Feb 01 16:42:08 2008 -0500"
      },
      "message": "svc: Add transport specific xpo_release function\n\nThe svc_sock_release function releases pages allocated to a thread. For\nUDP this frees the receive skb. For RDMA it will post a receive WR\nand bump the client credit count.\n\nSigned-off-by: Tom Tucker \u003ctom@opengridcomputing.com\u003e\nAcked-by: Neil Brown \u003cneilb@suse.de\u003e\nReviewed-by: Chuck Lever \u003cchuck.lever@oracle.com\u003e\nReviewed-by: Greg Banks \u003cgnb@sgi.com\u003e\nSigned-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\n"
    },
    {
      "commit": "5d137990f5860451a6e0428e0903f62933d05287",
      "tree": "71f57e8a13138530c8c82f9de19067687d0b428d",
      "parents": [
        "490231558e058547da4ffab6d8ce8e28771749cc"
      ],
      "author": {
        "name": "Tom Tucker",
        "email": "tom@opengridcomputing.com",
        "time": "Sun Dec 30 21:07:23 2007 -0600"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Fri Feb 01 16:42:08 2008 -0500"
      },
      "message": "svc: Move sk_sendto and sk_recvfrom to svc_xprt_class\n\nThe sk_sendto and sk_recvfrom are function pointers that allow svc_sock\nto be used for both UDP and TCP. Move these function pointers to the\nsvc_xprt_ops structure.\n\nSigned-off-by: Tom Tucker \u003ctom@opengridcomputing.com\u003e\nAcked-by: Neil Brown \u003cneilb@suse.de\u003e\nReviewed-by: Chuck Lever \u003cchuck.lever@oracle.com\u003e\nReviewed-by: Greg Banks \u003cgnb@sgi.com\u003e\nSigned-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\n"
    },
    {
      "commit": "490231558e058547da4ffab6d8ce8e28771749cc",
      "tree": "aac2eef69dbd262a755ee1cafec34787faf5d2f0",
      "parents": [
        "9f29868b491beee706931e0cf875a60cb4688754"
      ],
      "author": {
        "name": "Tom Tucker",
        "email": "tom@opengridcomputing.com",
        "time": "Sun Dec 30 21:07:21 2007 -0600"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Fri Feb 01 16:42:08 2008 -0500"
      },
      "message": "svc: Add a max payload value to the transport\n\nThe svc_max_payload function currently looks at the socket type\nto determine the max payload. Add a max payload value to svc_xprt_class\nso it can be returned directly.\n\nSigned-off-by: Tom Tucker \u003ctom@opengridcomputing.com\u003e\nAcked-by: Neil Brown \u003cneilb@suse.de\u003e\nReviewed-by: Chuck Lever \u003cchuck.lever@oracle.com\u003e\nReviewed-by: Greg Banks \u003cgnb@sgi.com\u003e\nSigned-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\n"
    },
    {
      "commit": "9f29868b491beee706931e0cf875a60cb4688754",
      "tree": "ae8dbe9829e7dceae8e7d9942a7d66e12135b5a4",
      "parents": [
        "360d873864c8903a650b227758b49dd50e6ecc9f"
      ],
      "author": {
        "name": "Tom Tucker",
        "email": "tom@opengridcomputing.com",
        "time": "Sun Dec 30 21:07:19 2007 -0600"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Fri Feb 01 16:42:08 2008 -0500"
      },
      "message": "svc: Change the svc_sock in the rqstp structure to a transport\n\nThe rqstp structure contains a pointer to the transport for the\nRPC request. This functionaly trivial patch adds an unamed union\nwith pointers to both svc_sock and svc_xprt. Ultimately the\nunion will be removed and only the rq_xprt field will remain. This\nallows incrementally extracting transport independent interfaces without\none gigundo patch.\n\nSigned-off-by: Tom Tucker \u003ctom@opengridcomputing.com\u003e\nAcked-by: Neil Brown \u003cneilb@suse.de\u003e\nReviewed-by: Chuck Lever \u003cchuck.lever@oracle.com\u003e\nReviewed-by: Greg Banks \u003cgnb@sgi.com\u003e\nSigned-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\n"
    },
    {
      "commit": "360d873864c8903a650b227758b49dd50e6ecc9f",
      "tree": "806631491e4848b194abd539293f124b366a49de",
      "parents": [
        "1d8206b97a09e7ff2fbef17d8d1ea008d764eeaa"
      ],
      "author": {
        "name": "Tom Tucker",
        "email": "tom@opengridcomputing.com",
        "time": "Sun Dec 30 21:07:17 2007 -0600"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Fri Feb 01 16:42:07 2008 -0500"
      },
      "message": "svc: Make svc_sock the tcp/udp transport\n\nMake TCP and UDP svc_sock transports, and register them\nwith the svc transport core.\n\nA transport type (svc_sock) has an svc_xprt as its first member,\nand calls svc_xprt_init to initialize this field.\n\nSigned-off-by: Tom Tucker \u003ctom@opengridcomputing.com\u003e\nAcked-by: Neil Brown \u003cneilb@suse.de\u003e\nReviewed-by: Chuck Lever \u003cchuck.lever@oracle.com\u003e\nReviewed-by: Greg Banks \u003cgnb@sgi.com\u003e\nSigned-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\n"
    },
    {
      "commit": "1d8206b97a09e7ff2fbef17d8d1ea008d764eeaa",
      "tree": "0975483e82fab57c25fdbb19a9946985659a8ca2",
      "parents": [
        "cb5c7d668e1af269a9409721268f027b86abf29c"
      ],
      "author": {
        "name": "Tom Tucker",
        "email": "tom@opengridcomputing.com",
        "time": "Sun Dec 30 21:07:15 2007 -0600"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Fri Feb 01 16:42:07 2008 -0500"
      },
      "message": "svc: Add an svc transport class\n\nThe transport class (svc_xprt_class) represents a type of transport, e.g.\nudp, tcp, rdma.  A transport class has a unique name and a set of transport\noperations kept in the svc_xprt_ops structure.\n\nA transport class can be dynamically registered and unregisterd. The\nsvc_xprt_class represents the module that implements the transport\ntype and keeps reference counts on the module to avoid unloading while\nthere are active users.\n\nThe endpoint (svc_xprt) is a generic, transport independent endpoint that can\nbe used to send and receive data for an RPC service. It inherits it\u0027s\noperations from the transport class.\n\nA transport driver module registers and unregisters itself with svc sunrpc\nby calling svc_reg_xprt_class, and svc_unreg_xprt_class respectively.\n\nSigned-off-by: Tom Tucker \u003ctom@opengridcomputing.com\u003e\nAcked-by: Neil Brown \u003cneilb@suse.de\u003e\nReviewed-by: Chuck Lever \u003cchuck.lever@oracle.com\u003e\nReviewed-by: Greg Banks \u003cgnb@sgi.com\u003e\nSigned-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\n"
    },
    {
      "commit": "406a7ea97d9dc1a9348ba92c4cd0e7c678185c4c",
      "tree": "bf3d7e7fe94343aad6a57a60917ebecfa64376e7",
      "parents": [
        "39325bd03fc16d903f1e0f51104436d939899c8c"
      ],
      "author": {
        "name": "Frank Filz",
        "email": "ffilzlnx@us.ibm.com",
        "time": "Tue Nov 27 11:34:05 2007 -0800"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Fri Feb 01 16:42:06 2008 -0500"
      },
      "message": "nfsd: Allow AIX client to read dir containing mountpoints\n\nThis patch addresses a compatibility issue with a Linux NFS server and\nAIX NFS client.\n\nI have exported /export as fsid\u003d0 with sec\u003dkrb5:krb5i\nI have mount --bind /home onto /export/home\nI have exported /export/home with sec\u003dkrb5i\n\nThe AIX client mounts / -o sec\u003dkrb5:krb5i onto /mnt\n\nIf I do an ls /mnt, the AIX client gets a permission error. Looking at\nthe network traceIwe see a READDIR looking for attributes\nFATTR4_RDATTR_ERROR and FATTR4_MOUNTED_ON_FILEID. The response gives a\nNFS4ERR_WRONGSEC which the AIX client is not expecting.\n\nSince the AIX client is only asking for an attribute that is an\nattribute of the parent file system (pseudo root in my example), it\nseems reasonable that there should not be an error.\n\nIn discussing this issue with Bruce Fields, I initially proposed\nignoring the error in nfsd4_encode_dirent_fattr() if all that was being\nasked for was FATTR4_RDATTR_ERROR and FATTR4_MOUNTED_ON_FILEID, however,\nBruce suggested that we avoid calling cross_mnt() if only these\nattributes are requested.\n\nThe following patch implements bypassing cross_mnt() if only\nFATTR4_RDATTR_ERROR and FATTR4_MOUNTED_ON_FILEID are called. Since there\nis some complexity in the code in nfsd4_encode_fattr(), I didn\u0027t want to\nduplicate code (and introduce a maintenance nightmare), so I added a\nparameter to nfsd4_encode_fattr() that indicates whether it should\nignore cross mounts and simply fill in the attribute using the passed in\ndentry as opposed to it\u0027s parent.\n\nSigned-off-by: Frank Filz \u003cffilzlnx@us.ibm.com\u003e\nSigned-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\n"
    },
    {
      "commit": "2e8138a274d81d87591db0803b1e81f4284ff935",
      "tree": "3243d448d11cdee1ec4ff2b190509ef70887b566",
      "parents": [
        "dbf847ecb6318d3a22c6758fe39696d00f39063a"
      ],
      "author": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Thu Nov 15 17:05:43 2007 -0500"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Fri Feb 01 16:42:05 2008 -0500"
      },
      "message": "nfsd: move nfsd/auth.h into fs/nfsd\n\nThis header is used only in a few places in fs/nfsd, so there seems to\nbe little point to having it in include/.  (Thanks to Robert Day for\npointing this out.)\n\nCc: Robert P. J. Day \u003crpjday@crashcourse.ca\u003e\nAcked-by: NeilBrown \u003cneilb@suse.de\u003e\nSigned-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\n"
    },
    {
      "commit": "dbf847ecb6318d3a22c6758fe39696d00f39063a",
      "tree": "2b71e776ca98bc94258f3539bd7f0ea53d2733a8",
      "parents": [
        "ffe9386b6e08e7132cb7730025d0ea310e08a182"
      ],
      "author": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Thu Nov 08 17:20:34 2007 -0500"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Fri Feb 01 16:42:05 2008 -0500"
      },
      "message": "knfsd: allow cache_register to return error on failure\n\nNewer server features such as nfsv4 and gss depend on proc to work, so a\nfailure to initialize the proc files they need should be treated as\nfatal.\n\nThanks to Andrew Morton for style fix and compile fix in case where\nCONFIG_NFSD_V4 is undefined.\n\nCc: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nAcked-by: NeilBrown \u003cneilb@suse.de\u003e\nSigned-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\n"
    },
    {
      "commit": "df95a9d4fb91d819d3fb55dd437056df59e7f15e",
      "tree": "9c35b2617a202c029803791c19d55a0483d9d225",
      "parents": [
        "d5c3428b2cb26d605fddc4878f4fcc03c23df89f"
      ],
      "author": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Thu Nov 08 16:09:59 2007 -0500"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Fri Feb 01 16:42:04 2008 -0500"
      },
      "message": "knfsd: cache unregistration needn\u0027t return error\n\nThere\u0027s really nothing much the caller can do if cache unregistration\nfails.  And indeed, all any caller does in this case is print an error\nand continue.  So just return void and move the printk\u0027s inside\ncache_unregister.\n\nAcked-by: NeilBrown \u003cneilb@suse.de\u003e\nSigned-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\n"
    },
    {
      "commit": "d5c3428b2cb26d605fddc4878f4fcc03c23df89f",
      "tree": "b476ca0b6709b65044f222912f2fdd2efbdcf297",
      "parents": [
        "26808d3f10b1213bbb6e27d441be40e20ab84611"
      ],
      "author": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Fri Nov 09 14:10:56 2007 -0500"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Fri Feb 01 16:42:04 2008 -0500"
      },
      "message": "nfsd: fail module init on reply cache init failure\n\nIf the reply cache initialization fails due to a kmalloc failure,\ncurrently we try to soldier on with a reduced (or nonexistant) reply\ncache.\n\nBetter to just fail immediately: the failure is then much easier to\nunderstand and debug, and it could save us complexity in some later\ncode.  (But actually, it doesn\u0027t help currently because the cache is\nalso turned off in some odd failure cases; we should probably find a\nbetter way to handle those failure cases some day.)\n\nFix some minor style problems while we\u0027re at it, and rename\nnfsd_cache_init() to remove the need for a comment describing it.\n\nAcked-by: NeilBrown \u003cneilb@suse.de\u003e\nSigned-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\n"
    },
    {
      "commit": "48b4ba3fdd7af319e90ade395162430934ee7b87",
      "tree": "50381d64a613ef9b1c774fa8e6413540c9fc152a",
      "parents": [
        "a628f6675861d979405f751418e924c4ec7d457d"
      ],
      "author": {
        "name": "Chuck Lever",
        "email": "chuck.lever@oracle.com",
        "time": "Thu Nov 01 16:57:25 2007 -0400"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Fri Feb 01 16:42:03 2008 -0500"
      },
      "message": "NFSD: Path name length signage in nfsd request argument structures\n\nClean up: For consistency, store the length of path name strings in nfsd\nargument structures as unsigned integers.\n\nSigned-off-by: Chuck Lever \u003cchuck.lever@oracle.com\u003e\nAcked-By: NeilBrown \u003cneilb@suse.de\u003e\nSigned-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\n"
    },
    {
      "commit": "5a022fc8700cadbac373766cf1b5c746ffec7164",
      "tree": "9af2b088a6075df55adb5165f790f7de52d29449",
      "parents": [
        "29d5e5553826d05b8ecda51c21787ce85efdef06"
      ],
      "author": {
        "name": "Chuck Lever",
        "email": "chuck.lever@oracle.com",
        "time": "Thu Nov 01 16:57:09 2007 -0400"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Fri Feb 01 16:42:03 2008 -0500"
      },
      "message": "NFSD: Adjust filename length argument of nfsd_lookup\n\nClean up: adjust the sign of the length argument of nfsd_lookup and\nnfsd_lookup_dentry, for consistency with recent changes.  NFSD version\n4 callers already pass an unsigned file name length.\n\nSigned-off-by: Chuck Lever \u003cchuck.lever@oracle.com\u003e\nAcked-By: NeilBrown \u003cneilb@suse.de\u003e\nSigned-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\n"
    },
    {
      "commit": "29d5e5553826d05b8ecda51c21787ce85efdef06",
      "tree": "0e1b665bf61f6a604d660ab4c1eb4f0791a8cce7",
      "parents": [
        "ee1a95b3b3fccf3c825bd95f89a8e006901b03ed"
      ],
      "author": {
        "name": "Chuck Lever",
        "email": "chuck.lever@oracle.com",
        "time": "Thu Nov 01 16:57:04 2007 -0400"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Fri Feb 01 16:42:02 2008 -0500"
      },
      "message": "NFSD: File name length signage in nfsd request argument structures\n\nClean up: For consistency, store the length of file name strings in nfsd\nargument structures as unsigned integers.  This matches the XDR routines\nand client argument structures for the same operation types.\n\nSigned-off-by: Chuck Lever \u003cchuck.lever@oracle.com\u003e\nAcked-By: NeilBrown \u003cneilb@suse.de\u003e\nSigned-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\n"
    },
    {
      "commit": "48df020aa17ac95a012ff765b0086ede5996b320",
      "tree": "52aa9d1ff1e320ead499bddfe98cb05b06df1311",
      "parents": [
        "e5cff482c78a35b9f149a06aa777a1bd693864fb"
      ],
      "author": {
        "name": "Chuck Lever",
        "email": "chuck.lever@oracle.com",
        "time": "Thu Nov 01 16:56:53 2007 -0400"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Fri Feb 01 16:42:02 2008 -0500"
      },
      "message": "NLM: Fix sign of length of NLM variable length strings\n\nAccording to The Open Group\u0027s NLM specification, NLM callers are variable\nlength strings.  XDR variable length strings use an unsigned 32 bit length.\nAnd internally, negative string lengths are not meaningful for the Linux\nNLM implementation.\n\nClean up: Make nlm_lock.len and nlm_reboot.len unsigned integers.  This\nmakes the sign of NLM string lengths consistent with the sign of xdr_netobj\nlengths.\n\nSigned-off-by: Chuck Lever \u003cchuck.lever@oracle.com\u003e\nAcked-By: NeilBrown \u003cneilb@suse.de\u003e\nSigned-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\n"
    },
    {
      "commit": "e5cff482c78a35b9f149a06aa777a1bd693864fb",
      "tree": "2b60e05b09f78f82b2c90b1877f175769d55b45c",
      "parents": [
        "01b2969a8528b926f5e4d98161ae37053234475c"
      ],
      "author": {
        "name": "Chuck Lever",
        "email": "chuck.lever@oracle.com",
        "time": "Thu Nov 01 16:56:47 2007 -0400"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Fri Feb 01 16:42:02 2008 -0500"
      },
      "message": "SUNRPC: Use unsigned string lengths in xdr_decode_string_inplace\n\nXDR strings, opaques, and net objects should all use unsigned lengths.\nTo wit, RFC 4506 says:\n\n4.2.  Unsigned Integer\n\n   An XDR unsigned integer is a 32-bit datum that encodes a non-negative\n   integer in the range [0,4294967295].\n\n ...\n\n4.11.  String\n\n   The standard defines a string of n (numbered 0 through n-1) ASCII\n   bytes to be the number n encoded as an unsigned integer (as described\n   above), and followed by the n bytes of the string.\n\nAfter this patch, xdr_decode_string_inplace now matches the other XDR\nstring and array helpers that take a string length argument.  See:\n\nxdr_encode_opaque_fixed, xdr_encode_opaque, xdr_encode_array\n\nSigned-off-by: Chuck Lever \u003cchuck.lever@oracle.com\u003e\nAcked-By: NeilBrown \u003cneilb@suse.de\u003e\nSigned-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\n"
    },
    {
      "commit": "dd5f5fed6c9458a7aa81eeef3732cc3a9891cfdf",
      "tree": "06b81942dc218763889efe65faf08aeb23e71f03",
      "parents": [
        "3e01dfce1387f8bec41018f0d7b42fd88ad4163f",
        "7759db82774802885f96c250b36c3dfe317e62ff"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Feb 02 08:37:03 2008 +1100"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Feb 02 08:37:03 2008 +1100"
      },
      "message": "Merge branch \u0027audit.b46\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/viro/audit-current\n\n* \u0027audit.b46\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/viro/audit-current:\n  [AUDIT] Add uid, gid fields to ANOM_PROMISCUOUS message\n  [AUDIT] ratelimit printk messages audit\n  [patch 2/2] audit: complement va_copy with va_end()\n  [patch 1/2] kernel/audit.c: warning fix\n  [AUDIT] create context if auditing was ever enabled\n  [AUDIT] clean up audit_receive_msg()\n  [AUDIT] make audit\u003d0 really stop audit messages\n  [AUDIT] break large execve argument logging into smaller messages\n  [AUDIT] include audit type in audit message when using printk\n  [AUDIT] do not panic on exclude messages in audit_log_pid_context()\n  [AUDIT] Add End of Event record\n  [AUDIT] add session id to audit messages\n  [AUDIT] collect uid, loginuid, and comm in OBJ_PID records\n  [AUDIT] return EINTR not ERESTART*\n  [PATCH] get rid of loginuid races\n  [PATCH] switch audit_get_loginuid() to task_struct *\n"
    },
    {
      "commit": "de6bbd1d30e5912620d25dd15e3f180ac7f9fcef",
      "tree": "3807b13f8e2e490c258c5bb37915c95fc1bcfe20",
      "parents": [
        "e445deb593d67c8ed13bd357c780a93d78bc84cf"
      ],
      "author": {
        "name": "Eric Paris",
        "email": "eparis@redhat.com",
        "time": "Mon Jan 07 14:31:58 2008 -0500"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Fri Feb 01 14:23:55 2008 -0500"
      },
      "message": "[AUDIT] break large execve argument logging into smaller messages\n\nexecve arguments can be quite large.  There is no limit on the number of\narguments and a 4G limit on the size of an argument.\n\nthis patch prints those aruguments in bite sized pieces.  a userspace size\nlimitation of 8k was discovered so this keeps messages around 7.5k\n\nsingle arguments larger than 7.5k in length are split into multiple records\nand can be identified as aX[Y]\u003d\n\nSigned-off-by: Eric Paris \u003ceparis@redhat.com\u003e\n"
    },
    {
      "commit": "c0641f28dcbecb6dc34a4fd003a9947fcd080696",
      "tree": "75cc2700afe2e83834895e7f45c7f663faf2e034",
      "parents": [
        "4746ec5b01ed07205a91e4f7ed9de9d70f371407"
      ],
      "author": {
        "name": "Eric Paris",
        "email": "eparis@redhat.com",
        "time": "Mon Jan 07 13:49:15 2008 -0500"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Fri Feb 01 14:07:19 2008 -0500"
      },
      "message": "[AUDIT] Add End of Event record\n\nThis patch adds an end of event record type. It will be sent by the kernel as\nthe last record when a multi-record event is triggered. This will aid realtime\nanalysis programs since they will now reliably know they have the last record\nto complete an event. The audit daemon filters this and will not write it to\ndisk.\n\nSigned-off-by: Steve Grubb \u003csgrubb redhat com\u003e\nSigned-off-by: Eric Paris \u003ceparis@redhat.com\u003e\n"
    },
    {
      "commit": "4746ec5b01ed07205a91e4f7ed9de9d70f371407",
      "tree": "7a3a836b6178ccab24801e90b69c1159b2c23099",
      "parents": [
        "c2a7780efe37d01bdb3facc85a94663e6d67d4a8"
      ],
      "author": {
        "name": "Eric Paris",
        "email": "eparis@redhat.com",
        "time": "Tue Jan 08 10:06:53 2008 -0500"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Fri Feb 01 14:06:51 2008 -0500"
      },
      "message": "[AUDIT] add session id to audit messages\n\nIn order to correlate audit records to an individual login add a session\nid.  This is incremented every time a user logs in and is included in\nalmost all messages which currently output the auid.  The field is\nlabeled ses\u003d  or oses\u003d\n\nSigned-off-by: Eric Paris \u003ceparis@redhat.com\u003e\n"
    },
    {
      "commit": "bfef93a5d1fb5654fe2025276c55e202d10b5255",
      "tree": "573d8153c5d5216b0c4007b652286eeddd3c0987",
      "parents": [
        "0c11b9428f619ab377c92eff2f160a834a6585dd"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Thu Jan 10 04:53:18 2008 -0500"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Fri Feb 01 14:05:28 2008 -0500"
      },
      "message": "[PATCH] get rid of loginuid races\n\nKeeping loginuid in audit_context is racy and results in messier\ncode.  Taken to task_struct, out of the way of -\u003eaudit_context\nchanges.\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "0c11b9428f619ab377c92eff2f160a834a6585dd",
      "tree": "35b573715ad5730a77d067486838345132771a7a",
      "parents": [
        "24e1c13c93cbdd05e4b7ea921c0050b036555adc"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Thu Jan 10 04:20:52 2008 -0500"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Fri Feb 01 14:04:59 2008 -0500"
      },
      "message": "[PATCH] switch audit_get_loginuid() to task_struct *\n\nall callers pass something-\u003eaudit_context\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "cd689985cf49f6ff5c8eddc48d98b9d581d9475d",
      "tree": "a1a119402f5208c45c21b855e8d2fbbaf18cfd72",
      "parents": [
        "83e96c604e781098a2f61b8a294919bcf3abfab4"
      ],
      "author": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Fri Feb 01 17:45:14 2008 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Feb 01 17:45:14 2008 +0100"
      },
      "message": "futex: Add bitset conditional wait/wakeup functionality\n\nTo allow the implementation of optimized rw-locks in user space, glibc\nneeds a possibility to select waiters for wakeup depending on a bitset\nmask.\n\nThis requires two new futex OPs: FUTEX_WAIT_BITS and FUTEX_WAKE_BITS\nThese OPs are basically the same as FUTEX_WAIT and FUTEX_WAKE plus an\nadditional argument - a bitset. Further the FUTEX_WAIT_BITS OP is\nexpecting an absolute timeout value instead of the relative one, which\nis used for the FUTEX_WAIT OP.\n\nFUTEX_WAIT_BITS calls into the kernel with a bitset. The bitset is\nstored in the futex_q structure, which is used to enqueue the waiter\ninto the hashed futex waitqueue.\n\nFUTEX_WAKE_BITS also calls into the kernel with a bitset. The wakeup\nfunction logically ANDs the bitset with the bitset stored in each\nwaiters futex_q structure. If the result is zero (i.e. none of the set\nbits in the bitsets is matching), then the waiter is not woken up. If\nthe result is not zero (i.e. one of the set bits in the bitsets is\nmatching), then the waiter is woken.\n\nThe bitset provided by the caller must be non zero. In case the\nprovided bitset is zero the kernel returns EINVAL.\n\nInternaly the new OPs are only extensions to the existing FUTEX_WAIT\nand FUTEX_WAKE functions. The existing OPs hand a bitset with all bits\nset into the futex_wait() and futex_wake() functions.\n\nSigned-off-by: Thomas Gleixner \u003ctgxl@linutronix.de\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "5df7fa1c62146a0933767d040d400013310dbcc7",
      "tree": "bfd108f0d33a91d4f2476df7f5a7f562b640eb97",
      "parents": [
        "1001d0a9ee74a468077dfd4da0565174e88de26b"
      ],
      "author": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Fri Feb 01 17:45:14 2008 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Feb 01 17:45:14 2008 +0100"
      },
      "message": "tick-sched: add more debug information\n\nTo allow better diagnosis of tick-sched related, especially NOHZ\nrelated problems, we need to know when the last wakeup via an irq\nhappened and when the CPU left the idle state.\n\nAdd two fields (idle_waketime, idle_exittime) to the tick_sched\nstructure and add them to the timer_list output.\n\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "1001d0a9ee74a468077dfd4da0565174e88de26b",
      "tree": "8775592b23e8049700ff98a7bdbcf9c802a0f127",
      "parents": [
        "3588a085cd52ef080bf72df772378e1ba6bb292f"
      ],
      "author": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Fri Feb 01 17:45:13 2008 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Feb 01 17:45:13 2008 +0100"
      },
      "message": "timekeeping: update xtime_cache when time(zone) changes\n\nxtime_cache needs to be updated whenever xtime and or wall_to_monotic\nare changed. Otherwise users of xtime_cache might see a stale (and in\nthe case of timezone changes utterly wrong) value until the next\nupdate happens.\n\nFixup the obvious places, which miss this update.\n\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nAcked-by: John Stultz \u003cjohnstul@us.ibm.com\u003e\nTested-by: Dhaval Giani \u003cdhaval@linux.vnet.ibm.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "24e1c13c93cbdd05e4b7ea921c0050b036555adc",
      "tree": "60e5b54f1ce6db72507e6f20f19bffe5854793b8",
      "parents": [
        "31fa5d2868cfa6b51e39989e2a2ab99ce4566cb2",
        "3bc217ffe6774e7971d6a7ce6350ce806ebab044"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Feb 01 21:48:45 2008 +1100"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Feb 01 21:48:45 2008 +1100"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://git.kernel.dk/linux-2.6-block\n\n* \u0027for-linus\u0027 of git://git.kernel.dk/linux-2.6-block:\n  block: kill swap_io_context()\n  as-iosched: fix inconsistent ioc-\u003elock context\n  ide-cd: fix leftover data BUG\n  block: make elevator lib checkpatch compliant\n  cfq-iosched: make checkpatch compliant\n  block: make core bits checkpatch compliant\n  block: new end request handling interface should take unsigned byte counts\n  unexport add_disk_randomness\n  block/sunvdc.c:print_version() must be __devinit\n  splice: always updated atime in direct splice\n"
    }
  ],
  "next": "3bc217ffe6774e7971d6a7ce6350ce806ebab044"
}
