)]}'
{
  "log": [
    {
      "commit": "5bae7ac9feba925fd0099057f6b23d7be80b7b41",
      "tree": "7ff78cda1d18a7b5eb5c6384815bb8f7b87cf5ce",
      "parents": [
        "97405fe26b2a4df7090884b086ee8224ace2a6d1",
        "587ca7619a150cef0ce0dd8fd08c367e502f0421"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Wed Jul 18 12:57:52 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Wed Jul 18 12:57:52 2007 -0700"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/hskinnemoen/avr32-2.6\n\n* \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/hskinnemoen/avr32-2.6:\n  [AVR32] Initialize phy_mask for both macb devices\n  [AVR32] Fix atomic_add_unless() and atomic_sub_unless()\n  [AVR32] Correct misspelled CONFIG_BLK_DEV_INITRD variable.\n  [AVR32] Fix build error in parse_tag_rdimg()\n  [AVR32] Don\u0027t wire up macb0 unless SW6 is in default position\n  [AVR32] Wire up SSC platform device 0 as TX on ATSTK1000 board\n  [AVR32] Add Atmel SSC driver platform device to AT32AP architecture\n  [AVR32] Remove optimization of unaligned word loads\n  [AVR32] Make STK1000 mux settings configurable\n  [AVR32] CPU frequency scaling for AT32AP\n  [AVR32] Split SM device into PM, RTC, WDT and EIC\n  [AVR32] faster avr32 unaligned access\n"
    },
    {
      "commit": "3da86ee4f1884c70edbf76f61bfbbe028d2d1685",
      "tree": "be4216a6846b45cde1418706b357fca678a9f966",
      "parents": [
        "f3e26984f1794f3472a50f330c5561766faa477b"
      ],
      "author": {
        "name": "Haavard Skinnemoen",
        "email": "hskinnemoen@atmel.com",
        "time": "Wed Jul 18 20:06:04 2007 +0200"
      },
      "committer": {
        "name": "Haavard Skinnemoen",
        "email": "hskinnemoen@atmel.com",
        "time": "Wed Jul 18 20:47:04 2007 +0200"
      },
      "message": "[AVR32] Fix atomic_add_unless() and atomic_sub_unless()\n\nThese functions depend on \"result\" being initalized to 0, but \"result\"\nis not included as an input constraint to the inline assembly block\nfollowing its initialization, only as an output constraint. Thus gcc\nthinks it doesn\u0027t need to initialize it, so result ends up undefined\nif the \"unless\" condition is true.\n\nThis fixes an oops in sunrpc where the faulty atomics caused\nrpciod_up() to not start the workqueue as it should.\n\nSigned-off-by: Haavard Skinnemoen \u003chskinnemoen@atmel.com\u003e\n"
    },
    {
      "commit": "9cf6cf58d06527fc5bc8e2965ddccdeca59ccee3",
      "tree": "f0f8b3eb7cd431cb8a3240981c1f54c8a04f736b",
      "parents": [
        "e122eaf69422e5d9ce93fc9786099098e3b9e1c4"
      ],
      "author": {
        "name": "Hans-Christian Egtvedt",
        "email": "hcegtvedt@atmel.com",
        "time": "Fri Jul 06 14:31:55 2007 +0200"
      },
      "committer": {
        "name": "Haavard Skinnemoen",
        "email": "hskinnemoen@atmel.com",
        "time": "Wed Jul 18 20:45:52 2007 +0200"
      },
      "message": "[AVR32] Add Atmel SSC driver platform device to AT32AP architecture\n\nThis patch adds register definitions, clocks and IRQs to the platform devices.\n\nSigned-off-by: Hans-Christian Egtvedt \u003chcegtvedt@atmel.com\u003e\nSigned-off-by: Haavard Skinnemoen \u003chskinnemoen@atmel.com\u003e\n"
    },
    {
      "commit": "e122eaf69422e5d9ce93fc9786099098e3b9e1c4",
      "tree": "2300448ae2e0ea454619de01c3ca59715d861fe8",
      "parents": [
        "a8e93ed8cb3d9aa22d192033009357526548c825"
      ],
      "author": {
        "name": "Haavard Skinnemoen",
        "email": "hskinnemoen@atmel.com",
        "time": "Wed Jun 20 15:29:15 2007 +0200"
      },
      "committer": {
        "name": "Haavard Skinnemoen",
        "email": "hskinnemoen@atmel.com",
        "time": "Wed Jul 18 20:45:51 2007 +0200"
      },
      "message": "[AVR32] Remove optimization of unaligned word loads\n\nIf we let unaligned word loads bypass the generic unaligned handling,\ngcc may combine it with a swap.b instruction and turn it into a ldwsp\ninstruction, which does not work with unaligned addresses.\n\nRevert the optimization to prevent the RNDIS driver from crashing.\nHopefully we\u0027ll figure something out later (it may be better to do the\noptimization in gcc.)\n\nSigned-off-by: Haavard Skinnemoen \u003chskinnemoen@atmel.com\u003e\n"
    },
    {
      "commit": "7a5b80590772c29bba1d54d3685622177d6fe39f",
      "tree": "d643198d28f6578febc2bcc0317a0681f951e62b",
      "parents": [
        "c6083cd61b5a64a1c73d1634744382f54cb99595"
      ],
      "author": {
        "name": "Haavard Skinnemoen",
        "email": "hskinnemoen@atmel.com",
        "time": "Mon Jun 04 12:58:30 2007 +0200"
      },
      "committer": {
        "name": "Haavard Skinnemoen",
        "email": "hskinnemoen@atmel.com",
        "time": "Wed Jul 18 20:45:51 2007 +0200"
      },
      "message": "[AVR32] Split SM device into PM, RTC, WDT and EIC\n\nSplit the SM platform device into separate platform devices for PM,\nRTC, WDT and EIC. This is more correct according to the documentation\nand allows us to simplify the code a little.\n\nAlso turn the EIC driver into a real platform driver.\n\nSigned-off-by: Haavard Skinnemoen \u003chskinnemoen@atmel.com\u003e\nAcked-by: Hans-Christian Egtvedt \u003chcegtvedt@atmel.com\u003e\n"
    },
    {
      "commit": "c6083cd61b5a64a1c73d1634744382f54cb99595",
      "tree": "4ad4409a074a9de87a03bc2162d27e326f2c0498",
      "parents": [
        "8b4a40809e5330c9da5d20107d693d92d73b31dc"
      ],
      "author": {
        "name": "David Brownell",
        "email": "david-b@pacbell.net",
        "time": "Fri May 25 18:47:47 2007 -0700"
      },
      "committer": {
        "name": "Haavard Skinnemoen",
        "email": "hskinnemoen@atmel.com",
        "time": "Wed Jul 18 20:45:50 2007 +0200"
      },
      "message": "[AVR32] faster avr32 unaligned access\n\nUse a more conventional implementation for unaligned access, and include\nan AT32AP-specific optimization:  the CPU will handle unaligned words.\n\nThe result is always faster and smaller for 8, 16, and 32 bit values.\nFor 64 bit quantities, it\u0027s presumably larger.\n\nSigned-off-by: David Brownell \u003cdbrownell@users.sourceforge.net\u003e\nSigned-off-by: Haavard Skinnemoen \u003chskinnemoen@atmel.com\u003e\n"
    },
    {
      "commit": "a267c0a887064720dfab5775a4f09b20b4f8ec37",
      "tree": "25de1f109ff6ef7f0967c22755604cc667944afd",
      "parents": [
        "d756d10e246a01515d07f8161181b8a14afba7cc",
        "97989ada7628da262eafb4bebce0a319c7cb0f5f"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Wed Jul 18 11:25:58 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Wed Jul 18 11:25:58 2007 -0700"
      },
      "message": "Merge branch \u0027master\u0027 of ssh://master.kernel.org/pub/scm/linux/kernel/git/mchehab/v4l-dvb\n\n* \u0027master\u0027 of ssh://master.kernel.org/pub/scm/linux/kernel/git/mchehab/v4l-dvb: (126 commits)\n  V4L/DVB (5847): Clean up schedule_timeout calls in cpia2 and ivtv code\n  V4L/DVB (5846): Clean up setting state and scheduling timeouts\n  V4L/DVB (5844): ivtv: add high volume debugging flag\n  V4L/DVB (5843): ivtv: fix missing signal_pending check.\n  V4L/DVB (5842): ivtv: Add locking to ensure stream setup is atomic.\n  V4L/DVB (5841): tveeprom: add support for Philips FQ1216LME MK3 tuner.\n  V4L/DVB (5840): fix dst and cx24123: tune() callback changed signess for delay\n  V4L/DVB (5838): dvb-core: Fix signedness warnings (gcc 4.1.1, kernel 2.6.22)\n  V4L/DVB (5837): stv0299: Fix signedness warning (gcc 4.1.1, kernel 2.6.22)\n  V4L/DVB (5836): dvb-ttpci: re-initialize aspect ratio and pan scan after arm crash\n  V4L/DVB (5835): saa7146/dvb-ttpci: Fix signedness warnings (gcc 4.1.1, kernel 2.6.22)\n  V4L/DVB (5834): dvb-core: fix signedness warnings and const stripping\n  V4L/DVB (5832): ir-common: optimize bit extract function\n  V4L/DVB (5831): stradis: use ARRAY_SIZE\n  V4L/DVB (5829): Firmware extract and loading for opera dvb-usb update\n  V4L/DVB (5828): Kconfig: Added GemTek USB radio and removed experimental dependency.\n  V4L/DVB (5826): Usbvision: video mux cleanup\n  V4L/DVB (5825): Alter the tuner type for the WinTV USB UK PAL model.\n  V4L/DVB (5824): Usbvision: Hauppauge WinTV USB SECAM_L fix\n  V4L/DVB (5821): Saa7134: add remote control support for LifeView FlyDVB-S LR300\n  ...\n"
    },
    {
      "commit": "d756d10e246a01515d07f8161181b8a14afba7cc",
      "tree": "de7336f2b4b596881468bf65cb2f2f88cedcde86",
      "parents": [
        "cdf4a6482dd4c739f8c1132c5a9356912911fec5",
        "e9f410b1c035b6e63f0b4c3d6cfe4298d6a04492"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Wed Jul 18 10:32:00 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Wed Jul 18 10:32:00 2007 -0700"
      },
      "message": "Merge branch \u0027for_linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tytso/ext4\n\n* \u0027for_linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tytso/ext4:\n  ext4: extent macros cleanup\n  Fix compilation with EXT_DEBUG, also fix leXX_to_cpu conversions.\n  ext4: remove extra IS_RDONLY() check\n  ext4: Use is_power_of_2()\n  Use zero_user_page() in ext4 where possible\n  ext4: Remove 65000 subdirectory limit\n  ext4: Expand extra_inodes space per the s_{want,min}_extra_isize fields \n  ext4: Add nanosecond timestamps\n  jbd2: Move jbd2-debug file to debugfs\n  jbd2: Fix CONFIG_JBD_DEBUG ifdef to be CONFIG_JBD2_DEBUG\n  ext4: Set the journal JBD2_FEATURE_INCOMPAT_64BIT on large devices\n  ext4: Make extents code sanely handle on-disk corruption\n  ext4: copy i_flags to inode flags on write\n  ext4: Enable extents by default\n  Change on-disk format to support 2^15 uninitialized extents\n  write support for preallocated blocks\n  fallocate support in ext4\n  sys_fallocate() implementation on i386, x86_64 and powerpc\n"
    },
    {
      "commit": "cdf4a6482dd4c739f8c1132c5a9356912911fec5",
      "tree": "fa7b67c8ef5723d88cdc400f90a9b6e927e159a5",
      "parents": [
        "485cf925d8b7a6b3c62fe5f1e167f2d0d4edf32a",
        "add0b43ca67bf281ef7ac8ab47e9ee7b2d97a69f"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Wed Jul 18 10:27:24 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Wed Jul 18 10:27:24 2007 -0700"
      },
      "message": "Merge branch \u0027upstream\u0027 of git://git.infradead.org/~dedekind/ubi-2.6\n\n* \u0027upstream\u0027 of git://git.infradead.org/~dedekind/ubi-2.6: (28 commits)\n  UBI: fix compile warning\n  UBI: fix error handling in erase worker\n  UBI: fix comments\n  UBI: remove unneeded error checks\n  UBI: cleanup usage of try_module_get\n  UBI: fix overflow bug\n  UBI: bugfix in max_sqnum calculation\n  UBI: bugfix in sqnum calculation\n  UBI: fix signed-unsigned multiplication\n  UBI: fix bug in atomic_leb_change()\n  UBI: fix message\n  UBI: fix debugging stuff\n  UBI: bugfix in error path\n  UBI: use is_power_of_2()\n  UBI: fix freeing ubi-\u003evtbl while unloading\n  UBI: fix MAINTAINERS\n  UBI: bugfix in ubi_leb_change()\n  UBI: kill homegrown endian macros\n  UBI: cleanup ioctl handling\n  UBI: error path bugfix\n  ...\n"
    },
    {
      "commit": "804b4458943f14bf144d3c3ba50097ced9b27b29",
      "tree": "4c8b32cd168c3ded1215218b84545ec2361ca764",
      "parents": [
        "372280d2a3593e90d8849a5dc5676d2e9799e3a3"
      ],
      "author": {
        "name": "Oliver Endriss",
        "email": "o.endriss@gmx.de",
        "time": "Thu Jul 12 20:37:50 2007 -0300"
      },
      "committer": {
        "name": "Mauro Carvalho Chehab",
        "email": "mchehab@infradead.org",
        "time": "Wed Jul 18 14:24:44 2007 -0300"
      },
      "message": "V4L/DVB (5835): saa7146/dvb-ttpci: Fix signedness warnings (gcc 4.1.1, kernel 2.6.22)\n\nFix signedness warnings (gcc 4.1.1, kernel 2.6.22).\n\nSigned-off-by: Oliver Endriss \u003co.endriss@gmx.de\u003e\nSigned-off-by: Mauro Carvalho Chehab \u003cmchehab@infradead.org\u003e\n"
    },
    {
      "commit": "485cf925d8b7a6b3c62fe5f1e167f2d0d4edf32a",
      "tree": "57798f48123a62dd1801f039b676b06913e34e72",
      "parents": [
        "31bdc5dc7666aa2fe04c626cea30fe3c20cf481c",
        "3fd8f9e4b6c184d03d340bc86630f700de967fa8"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Wed Jul 18 10:24:36 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Wed Jul 18 10:24:36 2007 -0700"
      },
      "message": "Merge branch \u0027master\u0027 of master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6\n\n* \u0027master\u0027 of master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6: (24 commits)\n  [NETFILTER]: xt_connlimit needs to depend on nf_conntrack\n  [NETFILTER]: ipt_iprange.h must #include \u003clinux/types.h\u003e\n  [IrDA]: Fix IrDA build failure\n  [ATM]: nicstar needs virt_to_bus\n  [NET]: move __dev_addr_discard adjacent to dev_addr_discard for readability\n  [NET]: merge dev_unicast_discard and dev_mc_discard into one\n  [NET]: move dev_mc_discard from dev_mcast.c to dev.c\n  [NETLINK]: negative groups in netlink_setsockopt\n  [PPPOL2TP]: Reset meta-data in xmit function\n  [PPPOL2TP]: Fix use-after-free\n  [PKT_SCHED]: Some typo fixes in net/sched/Kconfig\n  [XFRM]: Fix crash introduced by struct dst_entry reordering\n  [TCP]: remove unused argument to cong_avoid op\n  [ATM]: [idt77252] Rename CONFIG_ATM_IDT77252_SEND_IDLE to not resemble a Kconfig variable\n  [ATM]: [drivers] ioremap balanced with iounmap\n  [ATM]: [lanai] sram_test_word() must be __devinit\n  [ATM]: [nicstar] Replace C code with call to ARRAY_SIZE() macro.\n  [ATM]: Eliminate dead config variable CONFIG_BR2684_FAST_TRANS.\n  [ATM]: Replacing kmalloc/memset combination with kzalloc.\n  [NET]: gen_estimator deadlock fix\n  ...\n"
    },
    {
      "commit": "8218b0b2caecf4af55742e12e9986c15605bb197",
      "tree": "99285845e50f4b0f0a05466743a721955e26fc74",
      "parents": [
        "bebeaea0a54869b59b45ea22a93f325ce0369d61"
      ],
      "author": {
        "name": "Michael Krufky",
        "email": "mkrufky@linuxtv.org",
        "time": "Tue Jun 26 13:12:08 2007 -0300"
      },
      "committer": {
        "name": "Mauro Carvalho Chehab",
        "email": "mchehab@infradead.org",
        "time": "Wed Jul 18 14:24:23 2007 -0300"
      },
      "message": "V4L/DVB (5793): Tuner: remove hardware-specific info from public header\n\nMove internal structures and debug macros to drivers/media/video/tuner-driver.h\n\nSigned-off-by: Michael Krufky \u003cmkrufky@linuxtv.org\u003e\nSigned-off-by: Mauro Carvalho Chehab \u003cmchehab@infradead.org\u003e\n"
    },
    {
      "commit": "7a91a80a0d1a0a83a94e773ec6245b31b7c4ceed",
      "tree": "d524d57405944826d4a6c375af1a77bab22546a2",
      "parents": [
        "018ec5440b4994f560cdde78be6fb10d7ab370d7"
      ],
      "author": {
        "name": "Michael Krufky",
        "email": "mkrufky@linuxtv.org",
        "time": "Wed Jun 06 16:10:39 2007 -0300"
      },
      "committer": {
        "name": "Mauro Carvalho Chehab",
        "email": "mchehab@infradead.org",
        "time": "Wed Jul 18 14:24:02 2007 -0300"
      },
      "message": "V4L/DVB (5753): Tuner: create struct tuner_operations\n\nMove tuner callback function pointers out of struct tuner, into\nstruct tuner_operations.\n\nSigned-off-by: Michael Krufky \u003cmkrufky@linuxtv.org\u003e\nSigned-off-by: Mauro Carvalho Chehab \u003cmchehab@infradead.org\u003e\n"
    },
    {
      "commit": "be2b85a13543bbaf1a141b3a54f84c1e3b059e69",
      "tree": "9f44d2aa513237b5baab578a51f66a4d2e731b6c",
      "parents": [
        "9ee476a56c3ee119a02b6823659f5698b1241f04"
      ],
      "author": {
        "name": "Michael Krufky",
        "email": "mkrufky@linuxtv.org",
        "time": "Mon Jun 04 14:40:27 2007 -0300"
      },
      "committer": {
        "name": "Mauro Carvalho Chehab",
        "email": "mchehab@infradead.org",
        "time": "Wed Jul 18 14:23:54 2007 -0300"
      },
      "message": "V4L/DVB (5741): Tuner: add release callback\n\nIndividual tuner drivers are now allocating memory themselves for\ntheir own private data structures.  This changeset adds a release\ncallback to the tuner operations, so that newer drivers that may\nrequire more complex data structures may release this private data\nthemselves.\n\nSigned-off-by: Michael Krufky \u003cmkrufky@linuxtv.org\u003e\nSigned-off-by: Mauro Carvalho Chehab \u003cmchehab@infradead.org\u003e\n"
    },
    {
      "commit": "b208319993ceff7ebfcc6bb914fe94d29e48a891",
      "tree": "0a0697806b221c7711914dbdfe2bd3972c206b23",
      "parents": [
        "56584c9ea9a6dcd672f97ebfeebc4903e8b903bc"
      ],
      "author": {
        "name": "Michael Krufky",
        "email": "mkrufky@linuxtv.org",
        "time": "Tue May 29 22:54:06 2007 -0300"
      },
      "committer": {
        "name": "Mauro Carvalho Chehab",
        "email": "mchehab@infradead.org",
        "time": "Wed Jul 18 14:23:48 2007 -0300"
      },
      "message": "V4L/DVB (5719): Tuner: Move device-specific private data out of tuner struct\n\nCreate private data struct for device specific private data.\n\nSigned-off-by: Michael Krufky \u003cmkrufky@linuxtv.org\u003e\nSigned-off-by: Mauro Carvalho Chehab \u003cmchehab@infradead.org\u003e\n"
    },
    {
      "commit": "31bdc5dc7666aa2fe04c626cea30fe3c20cf481c",
      "tree": "a1a78a39379e081e9982c3273a71b4e93e8c1fd0",
      "parents": [
        "5cc97bf2d8eaa6cab60727c3eba3e85e29062669",
        "a5f8967e171a6fa27da8e6d06d3ef85f7fed43c1"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Wed Jul 18 10:23:37 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Wed Jul 18 10:23:37 2007 -0700"
      },
      "message": "Merge branch \u0027master\u0027 of master.kernel.org:/pub/scm/linux/kernel/git/davem/sparc-2.6\n\n* \u0027master\u0027 of master.kernel.org:/pub/scm/linux/kernel/git/davem/sparc-2.6:\n  [SPARC64]: Set vio-\u003edesc_buf to NULL after freeing.\n  [SPARC]: Mark sparc and sparc64 as not having virt_to_bus\n  [SPARC64]: Fix reset handling in VNET driver.\n  [SPARC64]: Handle reset events in vio_link_state_change().\n  [SPARC64]: Handle LDC resets properly in domain-services driver.\n  [SPARC64]: Massively simplify VIO device layer and support hot add/remove.\n  [SPARC64]: Simplify VNET probing.\n  [SPARC64]: Simplify VDC device probing.\n  [SPARC64]: Add basic infrastructure for MD add/remove notification.\n"
    },
    {
      "commit": "8573a9e6a8ed724b7e3074dc8762d4117ed0b3aa",
      "tree": "c84aa587103700a3db61f271dfb7c0b99aa37492",
      "parents": [
        "8b4a40809e5330c9da5d20107d693d92d73b31dc"
      ],
      "author": {
        "name": "Mauro Carvalho Chehab",
        "email": "mchehab@infradead.org",
        "time": "Sun Apr 08 01:09:11 2007 -0300"
      },
      "committer": {
        "name": "Mauro Carvalho Chehab",
        "email": "mchehab@infradead.org",
        "time": "Wed Jul 18 14:23:11 2007 -0300"
      },
      "message": "V4L/DVB (5563a): Add experimental support for tea5761 tuner\n\nThis driver were made based on tea5761 specs.\n\nSigned-off-by: Mauro Carvalho Chehab \u003cmchehab@infradead.org\u003e\n"
    },
    {
      "commit": "60223a326fc8fa6e90e2c3fd28ae6de4a311d731",
      "tree": "cf4e667a56402b846488373bfaf5bf840395e219",
      "parents": [
        "3e2b8fbeec8f005672f2a2e862fb9c26a0bafedc"
      ],
      "author": {
        "name": "Jeremy Fitzhardinge",
        "email": "jeremy@xensource.com",
        "time": "Tue Jul 17 18:37:07 2007 -0700"
      },
      "committer": {
        "name": "Jeremy Fitzhardinge",
        "email": "jeremy@goop.org",
        "time": "Wed Jul 18 08:47:45 2007 -0700"
      },
      "message": "xen: Place vcpu_info structure into per-cpu memory\n\nAn experimental patch for Xen allows guests to place their vcpu_info\nstructs anywhere.  We try to use this to place the vcpu_info into the\nPDA, which allows direct access.\n\nIf this works, then switch to using direct access operations for\nirq_enable, disable, save_fl and restore_fl.\n\nSigned-off-by: Jeremy Fitzhardinge \u003cjeremy@xensource.com\u003e\nCc: Chris Wright \u003cchrisw@sous-sol.org\u003e\nCc: Keir Fraser \u003ckeir@xensource.com\u003e\n"
    },
    {
      "commit": "9f27ee595038653ddf8bca871200d39247d6f4fc",
      "tree": "602b4fe83ccfd6cb65b146ed80e84baec0fb6cb7",
      "parents": [
        "4bac07c993d03434ea902d3d4290d9e45944b66c"
      ],
      "author": {
        "name": "Jeremy Fitzhardinge",
        "email": "jeremy@xensource.com",
        "time": "Tue Jul 17 18:37:06 2007 -0700"
      },
      "committer": {
        "name": "Jeremy Fitzhardinge",
        "email": "jeremy@goop.org",
        "time": "Wed Jul 18 08:47:45 2007 -0700"
      },
      "message": "xen: add virtual block device driver.\n\nThe block device frontend driver allows the kernel to access block\ndevices exported exported by a virtual machine containing a physical\nblock device driver.\n\nSigned-off-by: Ian Pratt \u003cian.pratt@xensource.com\u003e\nSigned-off-by: Christian Limpach \u003cChristian.Limpach@cl.cam.ac.uk\u003e\nSigned-off-by: Chris Wright \u003cchrisw@sous-sol.org\u003e\nCc: Arjan van de Ven \u003carjan@infradead.org\u003e\nCc: Greg KH \u003cgreg@kroah.com\u003e\nCc: Jens Axboe \u003caxboe@kernel.dk\u003e\n"
    },
    {
      "commit": "4bac07c993d03434ea902d3d4290d9e45944b66c",
      "tree": "1930a1d8c23d3968d4644edda50791ff390bfe93",
      "parents": [
        "ad9a86121f5a374b48ce2924f8a9d7e94a04db27"
      ],
      "author": {
        "name": "Jeremy Fitzhardinge",
        "email": "jeremy@xensource.com",
        "time": "Tue Jul 17 18:37:06 2007 -0700"
      },
      "committer": {
        "name": "Jeremy Fitzhardinge",
        "email": "jeremy@goop.org",
        "time": "Wed Jul 18 08:47:45 2007 -0700"
      },
      "message": "xen: add the Xenbus sysfs and virtual device hotplug driver\n\nThis communicates with the machine control software via a registry\nresiding in a controlling virtual machine. This allows dynamic\ncreation, destruction and modification of virtual device\nconfigurations (network devices, block devices and CPUS, to name some\nexamples).\n\n[ Greg, would you mind giving this a review?  Thanks -J ]\n\nSigned-off-by: Ian Pratt \u003cian.pratt@xensource.com\u003e\nSigned-off-by: Christian Limpach \u003cChristian.Limpach@cl.cam.ac.uk\u003e\nSigned-off-by: Jeremy Fitzhardinge \u003cjeremy@xensource.com\u003e\nSigned-off-by: Chris Wright \u003cchrisw@sous-sol.org\u003e\nCc: Greg KH \u003cgreg@kroah.com\u003e\n"
    },
    {
      "commit": "ad9a86121f5a374b48ce2924f8a9d7e94a04db27",
      "tree": "c14af462957ce9ee6de3e4537e15879c25a679aa",
      "parents": [
        "b536b4b9623084d86f2b1f19cb44a2d6d74f00bf"
      ],
      "author": {
        "name": "Jeremy Fitzhardinge",
        "email": "jeremy@xensource.com",
        "time": "Tue Jul 17 18:37:06 2007 -0700"
      },
      "committer": {
        "name": "Jeremy Fitzhardinge",
        "email": "jeremy@goop.org",
        "time": "Wed Jul 18 08:47:44 2007 -0700"
      },
      "message": "xen: Add grant table support\n\nAdd Xen \u0027grant table\u0027 driver which allows granting of access to\nselected local memory pages by other virtual machines and,\nsymmetrically, the mapping of remote memory pages which other virtual\nmachines have granted access to.\n\nThis driver is a prerequisite for many of the Xen virtual device\ndrivers, which grant the \u0027device driver domain\u0027 restricted and\ntemporary access to only those memory pages that are currently\ninvolved in I/O operations.\n\nSigned-off-by: Jeremy Fitzhardinge \u003cjeremy@xensource.com\u003e\nSigned-off-by: Ian Pratt \u003cian.pratt@xensource.com\u003e\nSigned-off-by: Christian Limpach \u003cChristian.Limpach@cl.cam.ac.uk\u003e\nSigned-off-by: Chris Wright \u003cchrisw@sous-sol.org\u003e\n"
    },
    {
      "commit": "b536b4b9623084d86f2b1f19cb44a2d6d74f00bf",
      "tree": "86c1981309dbd8b9bf120d4ddba50abd105af89a",
      "parents": [
        "8b84ad942b534f8faeb34b68f0f7277ea375fed0"
      ],
      "author": {
        "name": "Jeremy Fitzhardinge",
        "email": "jeremy@xensource.com",
        "time": "Tue Jul 17 18:37:06 2007 -0700"
      },
      "committer": {
        "name": "Jeremy Fitzhardinge",
        "email": "jeremy@goop.org",
        "time": "Wed Jul 18 08:47:44 2007 -0700"
      },
      "message": "xen: use the hvc console infrastructure for Xen console\n\nImplement a Xen back-end for hvc console.\n\n* * *\nAdd early printk support via hvc console, enable using\n\"earlyprintk\u003dxen\" on the kernel command line.\n\nFrom: Gerd Hoffmann \u003ckraxel@suse.de\u003e\nSigned-off-by: Jeremy Fitzhardinge \u003cjeremy@xensource.com\u003e\nSigned-off-by: Chris Wright \u003cchrisw@sous-sol.org\u003e\nAcked-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nAcked-by: Olof Johansson \u003colof@lixom.net\u003e\n"
    },
    {
      "commit": "f87e4cac4f4e940b328d3deb5b53e642e3881f43",
      "tree": "7409f86561e5f97459378abd2ae21e9a5c82bfea",
      "parents": [
        "ab55028886dd1dd54585f22bf19a00eb23869340"
      ],
      "author": {
        "name": "Jeremy Fitzhardinge",
        "email": "jeremy@xensource.com",
        "time": "Tue Jul 17 18:37:06 2007 -0700"
      },
      "committer": {
        "name": "Jeremy Fitzhardinge",
        "email": "jeremy@goop.org",
        "time": "Wed Jul 18 08:47:44 2007 -0700"
      },
      "message": "xen: SMP guest support\n\nThis is a fairly straightforward Xen implementation of smp_ops.\n\nXen has its own IPI mechanisms, and has no dependency on any\nAPIC-based IPI.  The smp_ops hooks and the flush_tlb_others pv_op\nallow a Xen guest to avoid all APIC code in arch/i386 (the only apic\noperation is a single apic_read for the apic version number).\n\nOne subtle point which needs to be addressed is unpinning pagetables\nwhen another cpu may have a lazy tlb reference to the pagetable. Xen\nwill not allow an in-use pagetable to be unpinned, so we must find any\nother cpus with a reference to the pagetable and get them to shoot\ndown their references.\n\nSigned-off-by: Jeremy Fitzhardinge \u003cjeremy@xensource.com\u003e\nSigned-off-by: Chris Wright \u003cchrisw@sous-sol.org\u003e\nCc: Benjamin LaHaise \u003cbcrl@kvack.org\u003e\nCc: Ingo Molnar \u003cmingo@redhat.com\u003e\nCc: Andi Kleen \u003cak@suse.de\u003e\n"
    },
    {
      "commit": "c85b04c3749507546f6d5868976e4793e35c2ec0",
      "tree": "77ad99f3850d11dab3df2b8b7e1998754d72d8bd",
      "parents": [
        "e738fca8d7dffec30eeee231c38f128eed56c8c8"
      ],
      "author": {
        "name": "Jeremy Fitzhardinge",
        "email": "jeremy@xensource.com",
        "time": "Tue Jul 17 18:37:05 2007 -0700"
      },
      "committer": {
        "name": "Jeremy Fitzhardinge",
        "email": "jeremy@goop.org",
        "time": "Wed Jul 18 08:47:43 2007 -0700"
      },
      "message": "xen: add pinned page flag\n\nAdd a new definition for PG_owner_priv_1 to define PG_pinned on Xen\npagetable pages.\n\nSigned-off-by: Jeremy Fitzhardinge \u003cjeremy@xensource.com\u003e\nSigned-off-by: Chris Wright \u003cchrisw@sous-sol.org\u003e\n"
    },
    {
      "commit": "e46cdb66c8fc1c8d61cfae0f219ff47ac4b9d531",
      "tree": "7d9cdfef91e69fcfcba762a5a70cd58900308a5b",
      "parents": [
        "3b827c1b3aadf3adb4c602d19863f2d24e7cbc18"
      ],
      "author": {
        "name": "Jeremy Fitzhardinge",
        "email": "jeremy@xensource.com",
        "time": "Tue Jul 17 18:37:05 2007 -0700"
      },
      "committer": {
        "name": "Jeremy Fitzhardinge",
        "email": "jeremy@goop.org",
        "time": "Wed Jul 18 08:47:42 2007 -0700"
      },
      "message": "xen: event channels\n\nXen implements interrupts in terms of event channels.  Each guest\ndomain gets 1024 event channels which can be used for a variety of\npurposes, such as Xen timer events, inter-domain events,\ninter-processor events (IPI) or for real hardware IRQs.\n\nWithin the kernel, we map the event channels to IRQs, and implement\nthe whole interrupt handling using a Xen irq_chip.\n\nRather than setting NR_IRQ to 1024 under PARAVIRT in order to\naccomodate Xen, we create a dynamic mapping between event channels and\nIRQs.  Ideally, Linux will eventually move towards dynamically\nallocating per-irq structures, and we can use a 1:1 mapping between\nevent channels and irqs.\n\nSigned-off-by: Jeremy Fitzhardinge \u003cjeremy@xensource.com\u003e\nSigned-off-by: Chris Wright \u003cchrisw@sous-sol.org\u003e\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: Eric W. Biederman \u003cebiederm@xmission.com\u003e\n"
    },
    {
      "commit": "5ead97c84fa7d63a6a7a2f4e9f18f452bd109045",
      "tree": "26f6bc55dce0f119f7d3c8d6b40d2f287601db36",
      "parents": [
        "a42089dd358a7673a0a23126589a9029e57c2049"
      ],
      "author": {
        "name": "Jeremy Fitzhardinge",
        "email": "jeremy@xensource.com",
        "time": "Tue Jul 17 18:37:04 2007 -0700"
      },
      "committer": {
        "name": "Jeremy Fitzhardinge",
        "email": "jeremy@goop.org",
        "time": "Wed Jul 18 08:47:42 2007 -0700"
      },
      "message": "xen: Core Xen implementation\n\nThis patch is a rollup of all the core pieces of the Xen\nimplementation, including:\n - booting and setup\n - pagetable setup\n - privileged instructions\n - segmentation\n - interrupt flags\n - upcalls\n - multicall batching\n\nBOOTING AND SETUP\n\nThe vmlinux image is decorated with ELF notes which tell the Xen\ndomain builder what the kernel\u0027s requirements are; the domain builder\nthen constructs the address space accordingly and starts the kernel.\n\nXen has its own entrypoint for the kernel (contained in an ELF note).\nThe ELF notes are set up by xen-head.S, which is included into head.S.\nIn principle it could be linked separately, but it seems to provoke\nlots of binutils bugs.\n\nBecause the domain builder starts the kernel in a fairly sane state\n(32-bit protected mode, paging enabled, flat segments set up), there\u0027s\nnot a lot of setup needed before starting the kernel proper.  The main\nsteps are:\n  1. Install the Xen paravirt_ops, which is simply a matter of a\n     structure assignment.\n  2. Set init_mm to use the Xen-supplied pagetables (analogous to the\n     head.S generated pagetables in a native boot).\n  3. Reserve address space for Xen, since it takes a chunk at the top\n     of the address space for its own use.\n  4. Call start_kernel()\n\nPAGETABLE SETUP\n\nOnce we hit the main kernel boot sequence, it will end up calling back\nvia paravirt_ops to set up various pieces of Xen specific state.  One\nof the critical things which requires a bit of extra care is the\nconstruction of the initial init_mm pagetable.  Because Xen places\ntight constraints on pagetables (an active pagetable must always be\nvalid, and must always be mapped read-only to the guest domain), we\nneed to be careful when constructing the new pagetable to keep these\nconstraints in mind.  It turns out that the easiest way to do this is\nuse the initial Xen-provided pagetable as a template, and then just\ninsert new mappings for memory where a mapping doesn\u0027t already exist.\n\nThis means that during pagetable setup, it uses a special version of\nxen_set_pte which ignores any attempt to remap a read-only page as\nread-write (since Xen will map its own initial pagetable as RO), but\nlets other changes to the ptes happen, so that things like NX are set\nproperly.\n\nPRIVILEGED INSTRUCTIONS AND SEGMENTATION\n\nWhen the kernel runs under Xen, it runs in ring 1 rather than ring 0.\nThis means that it is more privileged than user-mode in ring 3, but it\nstill can\u0027t run privileged instructions directly.  Non-performance\ncritical instructions are dealt with by taking a privilege exception\nand trapping into the hypervisor and emulating the instruction, but\nmore performance-critical instructions have their own specific\nparavirt_ops.  In many cases we can avoid having to do any hypercalls\nfor these instructions, or the Xen implementation is quite different\nfrom the normal native version.\n\nThe privileged instructions fall into the broad classes of:\n  Segmentation: setting up the GDT and the GDT entries, LDT,\n     TLS and so on.  Xen doesn\u0027t allow the GDT to be directly\n     modified; all GDT updates are done via hypercalls where the new\n     entries can be validated.  This is important because Xen uses\n     segment limits to prevent the guest kernel from damaging the\n     hypervisor itself.\n  Traps and exceptions: Xen uses a special format for trap entrypoints,\n     so when the kernel wants to set an IDT entry, it needs to be\n     converted to the form Xen expects.  Xen sets int 0x80 up specially\n     so that the trap goes straight from userspace into the guest kernel\n     without going via the hypervisor.  sysenter isn\u0027t supported.\n  Kernel stack: The esp0 entry is extracted from the tss and provided to\n     Xen.\n  TLB operations: the various TLB calls are mapped into corresponding\n     Xen hypercalls.\n  Control registers: all the control registers are privileged.  The most\n     important is cr3, which points to the base of the current pagetable,\n     and we handle it specially.\n\nAnother instruction we treat specially is CPUID, even though its not\nprivileged.  We want to control what CPU features are visible to the\nrest of the kernel, and so CPUID ends up going into a paravirt_op.\nXen implements this mainly to disable the ACPI and APIC subsystems.\n\nINTERRUPT FLAGS\n\nXen maintains its own separate flag for masking events, which is\ncontained within the per-cpu vcpu_info structure.  Because the guest\nkernel runs in ring 1 and not 0, the IF flag in EFLAGS is completely\nignored (and must be, because even if a guest domain disables\ninterrupts for itself, it can\u0027t disable them overall).\n\n(A note on terminology: \"events\" and interrupts are effectively\nsynonymous.  However, rather than using an \"enable flag\", Xen uses a\n\"mask flag\", which blocks event delivery when it is non-zero.)\n\nThere are paravirt_ops for each of cli/sti/save_fl/restore_fl, which\nare implemented to manage the Xen event mask state.  The only thing\nworth noting is that when events are unmasked, we need to explicitly\nsee if there\u0027s a pending event and call into the hypervisor to make\nsure it gets delivered.\n\nUPCALLS\n\nXen needs a couple of upcall (or callback) functions to be implemented\nby each guest.  One is the event upcalls, which is how events\n(interrupts, effectively) are delivered to the guests.  The other is\nthe failsafe callback, which is used to report errors in either\nreloading a segment register, or caused by iret.  These are\nimplemented in i386/kernel/entry.S so they can jump into the normal\niret_exc path when necessary.\n\nMULTICALL BATCHING\n\nXen provides a multicall mechanism, which allows multiple hypercalls\nto be issued at once in order to mitigate the cost of trapping into\nthe hypervisor.  This is particularly useful for context switches,\nsince the 4-5 hypercalls they would normally need (reload cr3, update\nTLS, maybe update LDT) can be reduced to one.  This patch implements a\ngeneric batching mechanism for hypercalls, which gets used in many\nplaces in the Xen code.\n\nSigned-off-by: Jeremy Fitzhardinge \u003cjeremy@xensource.com\u003e\nSigned-off-by: Chris Wright \u003cchrisw@sous-sol.org\u003e\nCc: Ian Pratt \u003cian.pratt@xensource.com\u003e\nCc: Christian Limpach \u003cChristian.Limpach@cl.cam.ac.uk\u003e\nCc: Adrian Bunk \u003cbunk@stusta.de\u003e\n"
    },
    {
      "commit": "a42089dd358a7673a0a23126589a9029e57c2049",
      "tree": "aa076610832f5cdb0ee209c42ea7e40d54534ef4",
      "parents": [
        "24037a8b69dbf15bfed8fd42a2a2e442d7b0395b"
      ],
      "author": {
        "name": "Jeremy Fitzhardinge",
        "email": "jeremy@xensource.com",
        "time": "Tue Jul 17 18:37:04 2007 -0700"
      },
      "committer": {
        "name": "Jeremy Fitzhardinge",
        "email": "jeremy@goop.org",
        "time": "Wed Jul 18 08:47:42 2007 -0700"
      },
      "message": "xen: Add Xen interface header files\n\nAdd Xen interface header files. These are taken fairly directly from\nthe Xen tree, but somewhat rearranged to suit the kernel\u0027s conventions.\n\nDefine macros and inline functions for doing hypercalls into the\nhypervisor.\n\nSigned-off-by: Jeremy Fitzhardinge \u003cjeremy@xensource.com\u003e\nSigned-off-by: Ian Pratt \u003cian.pratt@xensource.com\u003e\nSigned-off-by: Christian Limpach \u003cChristian.Limpach@cl.cam.ac.uk\u003e\nSigned-off-by: Chris Wright \u003cchrisw@sous-sol.org\u003e\n"
    },
    {
      "commit": "688340ea34c61ad12473ccd837325b59aada9a93",
      "tree": "2862f4dca8d47fc4e6ecfaba2243d813344e3cd2",
      "parents": [
        "d572929cdd12a60732c3522f7cf011bfa29165cf"
      ],
      "author": {
        "name": "Jeremy Fitzhardinge",
        "email": "jeremy@xensource.com",
        "time": "Tue Jul 17 18:37:04 2007 -0700"
      },
      "committer": {
        "name": "Jeremy Fitzhardinge",
        "email": "jeremy@goop.org",
        "time": "Wed Jul 18 08:47:42 2007 -0700"
      },
      "message": "Add a sched_clock paravirt_op\n\nThe tsc-based get_scheduled_cycles interface is not a good match for\nXen\u0027s runstate accounting, which reports everything in nanoseconds.\n\nThis patch replaces this interface with a sched_clock interface, which\nmatches both Xen and VMI\u0027s requirements.\n\nIn order to do this, we:\n   1. replace get_scheduled_cycles with sched_clock\n   2. hoist cycles_2_ns into a common header\n   3. update vmi accordingly\n\nOne thing to note: because sched_clock is implemented as a weak\nfunction in kernel/sched.c, we must define a real function in order to\noverride this weak binding.  This means the usual paravirt_ops\ntechnique of using an inline function won\u0027t work in this case.\n\nSigned-off-by: Jeremy Fitzhardinge \u003cjeremy@xensource.com\u003e\nCc: Zachary Amsden \u003czach@vmware.com\u003e\nCc: Dan Hecht \u003cdhecht@vmware.com\u003e\nCc: john stultz \u003cjohnstul@us.ibm.com\u003e\n"
    },
    {
      "commit": "d572929cdd12a60732c3522f7cf011bfa29165cf",
      "tree": "4b1c351d7574b679f2d250483cffcedf3fdfa9be",
      "parents": [
        "5f4352fbffd6c45123dbce9e195efd54df4e177e"
      ],
      "author": {
        "name": "Jeremy Fitzhardinge",
        "email": "jeremy@xensource.com",
        "time": "Tue Jul 17 18:37:04 2007 -0700"
      },
      "committer": {
        "name": "Jeremy Fitzhardinge",
        "email": "jeremy@goop.org",
        "time": "Wed Jul 18 08:47:42 2007 -0700"
      },
      "message": "paravirt: helper to disable all IO space\n\nIn a virtual environment, device drivers such as legacy IDE will waste\nquite a lot of time probing for their devices which will never appear.\nThis helper function allows a paravirt implementation to lay claim to\nthe whole iomem and ioport space, thereby disabling all device drivers\ntrying to claim IO resources.\n\nSigned-off-by: Jeremy Fitzhardinge \u003cjeremy@xensource.com\u003e\nSigned-off-by: Chris Wright \u003cchrisw@sous-sol.org\u003e\nCc: Rusty Russell \u003crusty@rustcorp.com.au\u003e\n"
    },
    {
      "commit": "5f4352fbffd6c45123dbce9e195efd54df4e177e",
      "tree": "e2a0316e2f2d22c266e7cae3015ddc0f2f77f64f",
      "parents": [
        "bdef40a6af64a0140a65df49bf504124d57094a9"
      ],
      "author": {
        "name": "Jeremy Fitzhardinge",
        "email": "jeremy@xensource.com",
        "time": "Tue Jul 17 18:37:04 2007 -0700"
      },
      "committer": {
        "name": "Jeremy Fitzhardinge",
        "email": "jeremy@goop.org",
        "time": "Wed Jul 18 08:47:41 2007 -0700"
      },
      "message": "Allocate and free vmalloc areas\n\nAllocate/release a chunk of vmalloc address space:\n alloc_vm_area reserves a chunk of address space, and makes sure all\n the pagetables are constructed for that address range - but no pages.\n\n free_vm_area releases the address space range.\n\nSigned-off-by: Jeremy Fitzhardinge \u003cjeremy@xensource.com\u003e\nSigned-off-by: Ian Pratt \u003cian.pratt@xensource.com\u003e\nSigned-off-by: Christian Limpach \u003cChristian.Limpach@cl.cam.ac.uk\u003e\nSigned-off-by: Chris Wright \u003cchrisw@sous-sol.org\u003e\nCc: \"Jan Beulich\" \u003cJBeulich@novell.com\u003e\nCc: \"Andi Kleen\" \u003cak@muc.de\u003e\n"
    },
    {
      "commit": "c70df74376c1e29a04e07e23dd3f4c384d6166dd",
      "tree": "e85b195f67547e9e8bc914ce9426b6969a1ec60a",
      "parents": [
        "724faa89ccd8fae65f3d41a47b0e1034cf07918b"
      ],
      "author": {
        "name": "Jeremy Fitzhardinge",
        "email": "jeremy@xensource.com",
        "time": "Tue Jul 17 18:37:03 2007 -0700"
      },
      "committer": {
        "name": "Jeremy Fitzhardinge",
        "email": "jeremy@goop.org",
        "time": "Wed Jul 18 08:47:41 2007 -0700"
      },
      "message": "paravirt: make siblingmap functions visible\n\nParavirt implementations need to set the sibling map on new cpus.\n\nSigned-off-by: Jeremy Fitzhardinge \u003cjeremy@xensource.com\u003e\n"
    },
    {
      "commit": "724faa89ccd8fae65f3d41a47b0e1034cf07918b",
      "tree": "6e720d0d35ac99eae1bc8f3e8bc304f4f144d6b5",
      "parents": [
        "53787013248f52af81d99f63454e5a5cf34d6f12"
      ],
      "author": {
        "name": "Jeremy Fitzhardinge",
        "email": "jeremy@xensource.com",
        "time": "Tue Jul 17 18:37:03 2007 -0700"
      },
      "committer": {
        "name": "Jeremy Fitzhardinge",
        "email": "jeremy@goop.org",
        "time": "Wed Jul 18 08:47:41 2007 -0700"
      },
      "message": "paravirt: unstatic smp_store_cpu_info\n\nParavirt implementations need to store cpu info when bringing up cpus.\n\nSigned-off-by: Jeremy Fitzhardinge \u003cjeremy@xensource.com\u003e\n"
    },
    {
      "commit": "53787013248f52af81d99f63454e5a5cf34d6f12",
      "tree": "3a56e7439d8ee407af34899501ab663ee8202054",
      "parents": [
        "03f0c2f950f813e3b26c56ed041ba170479d479c"
      ],
      "author": {
        "name": "Jeremy Fitzhardinge",
        "email": "jeremy@xensource.com",
        "time": "Tue Jul 17 18:37:03 2007 -0700"
      },
      "committer": {
        "name": "Jeremy Fitzhardinge",
        "email": "jeremy@goop.org",
        "time": "Wed Jul 18 08:47:41 2007 -0700"
      },
      "message": "paravirt: unstatic leave_mm\n\nMake globally leave_mm visible, specifically so that Xen can use it to\nshoot-down lazy uses of cr3.\n\nSigned-off-by: Jeremy Fitzhardinge \u003cjeremy@xensource.com\u003e\nSigned-off-by: Chris Wright \u003cchrisw@sous-sol.org\u003e\n"
    },
    {
      "commit": "03f0c2f950f813e3b26c56ed041ba170479d479c",
      "tree": "752961d777482f5c2b7b1f68e2cddc26dc259024",
      "parents": [
        "6996d3b63fd9a64341bc80dad1b556fd3eb81272"
      ],
      "author": {
        "name": "Jeremy Fitzhardinge",
        "email": "jeremy@xensource.com",
        "time": "Tue Jul 17 18:37:03 2007 -0700"
      },
      "committer": {
        "name": "Jeremy Fitzhardinge",
        "email": "jeremy@goop.org",
        "time": "Wed Jul 18 08:47:41 2007 -0700"
      },
      "message": "paravirt: increase IRQ limit\n\nWhen running with CONFIG_PARAVIRT, we may want lots of IRQs even if\nthere\u0027s no IO APIC.\n\nSigned-off-by: Jeremy Fitzhardinge \u003cjeremy@xensource.com\u003e\nCc: \"Eric W. Biederman\" \u003cebiederm@xmission.com\u003e\n"
    },
    {
      "commit": "6996d3b63fd9a64341bc80dad1b556fd3eb81272",
      "tree": "74ddc02eeb33c5ce6a9670cd3fcd1613444e0711",
      "parents": [
        "fdb4c338c8d1d494e17c3422a3ea2129f6791596"
      ],
      "author": {
        "name": "Jeremy Fitzhardinge",
        "email": "jeremy@xensource.com",
        "time": "Tue Jul 17 18:37:03 2007 -0700"
      },
      "committer": {
        "name": "Jeremy Fitzhardinge",
        "email": "jeremy@goop.org",
        "time": "Wed Jul 18 08:47:41 2007 -0700"
      },
      "message": "paravirt: add a hook for once the allocator is ready\n\nAdd a hook so that the paravirt backend knows when the allocator is\nready.  This is useful for the obvious reason that the allocator is\navailable, but the other side-effect of having the bootmem allocator\navailable is that each page now has an associated \"struct page\".\n\nSigned-off-by: Jeremy Fitzhardinge \u003cjeremy@xensource.com\u003e\n"
    },
    {
      "commit": "fdb4c338c8d1d494e17c3422a3ea2129f6791596",
      "tree": "08305dcbbf4179299f5d001796d658ff08ecc014",
      "parents": [
        "810bab448e563ffd1718d78e9a3756806b626acc"
      ],
      "author": {
        "name": "Jeremy Fitzhardinge",
        "email": "jeremy@xensource.com",
        "time": "Tue Jul 17 18:37:03 2007 -0700"
      },
      "committer": {
        "name": "Jeremy Fitzhardinge",
        "email": "jeremy@goop.org",
        "time": "Wed Jul 18 08:47:40 2007 -0700"
      },
      "message": "paravirt: add an \"mm\" argument to alloc_pt\n\nIt\u0027s useful to know which mm is allocating a pagetable.  Xen uses this\nto determine whether the pagetable being added to is pinned or not.\n\nSigned-off-by: Jeremy Fitzhardinge \u003cjeremy@xensource.com\u003e\n"
    },
    {
      "commit": "810bab448e563ffd1718d78e9a3756806b626acc",
      "tree": "238983d8120772f81b5d6fd74f570608c7d53663",
      "parents": [
        "86313c488a6848b7ec2ba04e74f25f79dd32a0b7"
      ],
      "author": {
        "name": "Jeremy Fitzhardinge",
        "email": "jeremy@xensource.com",
        "time": "Tue Jul 17 18:37:03 2007 -0700"
      },
      "committer": {
        "name": "Jeremy Fitzhardinge",
        "email": "jeremy@goop.org",
        "time": "Wed Jul 18 08:47:40 2007 -0700"
      },
      "message": "use elfnote.h to generate vsyscall notes.\n\nUse existing elfnote.h to generate vsyscall notes, rather than doing\nit locally.  Changes elfnote.h a bit to suit, since this is the first\nasm user, and it wasn\u0027t quite right.\n\nSigned-off-by: Jeremy Fitzhardinge \u003cjeremy@xensource.com\u003e\nCc: \"Eric W. Biederman\" \u003cebiederm@xmission.com\u003e\nCc: Roland McGrath \u003croland@redhat.com\u003e\nCc: Andrew Morton \u003cakpm@linux-foundation.com\u003e\n"
    },
    {
      "commit": "86313c488a6848b7ec2ba04e74f25f79dd32a0b7",
      "tree": "3b190f7afc338362470573b563f65a1eb83795ac",
      "parents": [
        "10a0a8d4e3f6bf2d077f94344441909abe670f5a"
      ],
      "author": {
        "name": "Jeremy Fitzhardinge",
        "email": "jeremy@xensource.com",
        "time": "Tue Jul 17 18:37:03 2007 -0700"
      },
      "committer": {
        "name": "Jeremy Fitzhardinge",
        "email": "jeremy@goop.org",
        "time": "Wed Jul 18 08:47:40 2007 -0700"
      },
      "message": "usermodehelper: Tidy up waiting\n\nRather than using a tri-state integer for the wait flag in\ncall_usermodehelper_exec, define a proper enum, and use that.  I\u0027ve\npreserved the integer values so that any callers I\u0027ve missed should\nstill work OK.\n\nSigned-off-by: Jeremy Fitzhardinge \u003cjeremy@xensource.com\u003e\nCc: James Bottomley \u003cJames.Bottomley@HansenPartnership.com\u003e\nCc: Randy Dunlap \u003crandy.dunlap@oracle.com\u003e\nCc: Christoph Hellwig \u003chch@infradead.org\u003e\nCc: Andi Kleen \u003cak@suse.de\u003e\nCc: Paul Mackerras \u003cpaulus@samba.org\u003e\nCc: Johannes Berg \u003cjohannes@sipsolutions.net\u003e\nCc: Ralf Baechle \u003cralf@linux-mips.org\u003e\nCc: Bjorn Helgaas \u003cbjorn.helgaas@hp.com\u003e\nCc: Joel Becker \u003cjoel.becker@oracle.com\u003e\nCc: Tony Luck \u003ctony.luck@intel.com\u003e\nCc: Kay Sievers \u003ckay.sievers@vrfy.org\u003e\nCc: Srivatsa Vaddagiri \u003cvatsa@in.ibm.com\u003e\nCc: Oleg Nesterov \u003coleg@tv-sign.ru\u003e\nCc: David Howells \u003cdhowells@redhat.com\u003e\n"
    },
    {
      "commit": "10a0a8d4e3f6bf2d077f94344441909abe670f5a",
      "tree": "b834c912629498e9fefb5958ee9965c414d32d69",
      "parents": [
        "0ab4dc92278a0f3816e486d6350c6652a72e06c8"
      ],
      "author": {
        "name": "Jeremy Fitzhardinge",
        "email": "jeremy@xensource.com",
        "time": "Tue Jul 17 18:37:02 2007 -0700"
      },
      "committer": {
        "name": "Jeremy Fitzhardinge",
        "email": "jeremy@goop.org",
        "time": "Wed Jul 18 08:47:40 2007 -0700"
      },
      "message": "Add common orderly_poweroff()\n\nVarious pieces of code around the kernel want to be able to trigger an\norderly poweroff.  This pulls them together into a single\nimplementation.\n\nBy default the poweroff command is /sbin/poweroff, but it can be set\nvia sysctl: kernel/poweroff_cmd.  This is split at whitespace, so it\ncan include command-line arguments.\n\nThis patch replaces four other instances of invoking either \"poweroff\"\nor \"shutdown -h now\": two sbus drivers, and acpi thermal\nmanagement.\n\nsparc64 has its own \"powerd\"; still need to determine whether it should\nbe replaced by orderly_poweroff().\n\nSigned-off-by: Jeremy Fitzhardinge \u003cjeremy@xensource.com\u003e\nAcked-by: Len Brown \u003clenb@kernel.org\u003e\nSigned-off-by: Chris Wright \u003cchrisw@sous-sol.org\u003e\nCc: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nCc: Randy Dunlap \u003crandy.dunlap@oracle.com\u003e\nCc: Andi Kleen \u003cak@suse.de\u003e\nCc: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\nCc: Arnd Bergmann \u003carnd@arndb.de\u003e\nCc: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "0ab4dc92278a0f3816e486d6350c6652a72e06c8",
      "tree": "84bc321c94ca86a3b5eafa308c8dba9af85a725c",
      "parents": [
        "d84d1cc7647c7e4f77d517e2d87b4a106a0420d9"
      ],
      "author": {
        "name": "Jeremy Fitzhardinge",
        "email": "jeremy@xensource.com",
        "time": "Tue Jul 17 18:37:02 2007 -0700"
      },
      "committer": {
        "name": "Jeremy Fitzhardinge",
        "email": "jeremy@goop.org",
        "time": "Wed Jul 18 08:47:40 2007 -0700"
      },
      "message": "usermodehelper: split setup from execution\n\nRather than having hundreds of variations of call_usermodehelper for\nvarious pieces of usermode state which could be set up, split the\ninfo allocation and initialization from the actual process execution.\n\nThis means the general pattern becomes:\n info \u003d call_usermodehelper_setup(path, argv, envp); /* basic state */\n call_usermodehelper_\u003cSET EXTRA STATE\u003e(info, stuff...);\t/* extra state */\n call_usermodehelper_exec(info, wait);\t/* run process and free info */\n\nThis patch introduces wrappers for all the existing calling styles for\ncall_usermodehelper_*, but folds their implementations into one.\n\nSigned-off-by: Jeremy Fitzhardinge \u003cjeremy@xensource.com\u003e\nCc: Andi Kleen \u003cak@suse.de\u003e\nCc: Rusty Russell \u003crusty@rustcorp.com.au\u003e\nCc: David Howells \u003cdhowells@redhat.com\u003e\nCc: Bj?rn Steinbrink \u003cB.Steinbrink@gmx.de\u003e\nCc: Randy Dunlap \u003crandy.dunlap@oracle.com\u003e\n"
    },
    {
      "commit": "d84d1cc7647c7e4f77d517e2d87b4a106a0420d9",
      "tree": "b6ccc40d323998d4ad013c7b05613bc727a8f4e0",
      "parents": [
        "1e66df3ee301209f4a38df097d7cc5cb9b367a3f"
      ],
      "author": {
        "name": "Jeremy Fitzhardinge",
        "email": "jeremy@xensource.com",
        "time": "Tue Jul 17 18:37:02 2007 -0700"
      },
      "committer": {
        "name": "Jeremy Fitzhardinge",
        "email": "jeremy@goop.org",
        "time": "Wed Jul 18 08:47:40 2007 -0700"
      },
      "message": "add argv_split()\n\nargv_split() is a helper function which takes a string, splits it at\nwhitespace, and returns a NULL-terminated argv vector.  This is\ndeliberately simple - it does no quote processing of any kind.\n\n[ Seems to me that this is something which is already being done in\n  the kernel, but I couldn\u0027t find any other implementations, either to\n  steal or replace.  Keep an eye out. ]\n\nSigned-off-by: Jeremy Fitzhardinge \u003cjeremy@xensource.com\u003e\nSigned-off-by: Chris Wright \u003cchrisw@sous-sol.org\u003e\nCc: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nCc: Randy Dunlap \u003crandy.dunlap@oracle.com\u003e\n"
    },
    {
      "commit": "1e66df3ee301209f4a38df097d7cc5cb9b367a3f",
      "tree": "55beb2a342dbe08c0404f749e02808e3f09023ac",
      "parents": [
        "8b4a40809e5330c9da5d20107d693d92d73b31dc"
      ],
      "author": {
        "name": "Jeremy Fitzhardinge",
        "email": "jeremy@xensource.com",
        "time": "Tue Jul 17 18:37:02 2007 -0700"
      },
      "committer": {
        "name": "Jeremy Fitzhardinge",
        "email": "jeremy@goop.org",
        "time": "Wed Jul 18 08:47:39 2007 -0700"
      },
      "message": "add kstrndup\n\nAdd a kstrndup function, modelled on strndup.  Like strndup this\nreturns a string copied into its own allocated memory, but it copies\nno more than the specified number of bytes from the source.\n\nRemove private strndup() from irda code.\n\nSigned-off-by: Jeremy Fitzhardinge \u003cjeremy@xensource.com\u003e\nSigned-off-by: Chris Wright \u003cchrisw@sous-sol.org\u003e\nCc: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nCc: Randy Dunlap \u003crandy.dunlap@oracle.com\u003e\nCc: YOSHIFUJI Hideaki \u003cyoshfuji@linux-ipv6.org\u003e\nCc: Akinobu Mita \u003cakinobu.mita@gmail.com\u003e\nCc: Arnaldo Carvalho de Melo \u003cacme@mandriva.com\u003e\nCc: Al Viro \u003cviro@ftp.linux.org.uk\u003e\nCc: Panagiotis Issaris \u003ctakis@issaris.org\u003e\nCc: Rene Scharfe \u003crene.scharfe@lsrfire.ath.cx\u003e\n"
    },
    {
      "commit": "8b4a40809e5330c9da5d20107d693d92d73b31dc",
      "tree": "14de7320d32a7e72dc2cddf4833405db0f49a7ba",
      "parents": [
        "b187f180cc942e50007aa039f8e3a620ee5f3171"
      ],
      "author": {
        "name": "Maciej W. Rozycki",
        "email": "macro@linux-mips.org",
        "time": "Wed Jul 18 00:49:11 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Wed Jul 18 08:38:22 2007 -0700"
      },
      "message": "zs: move to the serial subsystem\n\nThis is a reimplementation of the zs driver for the serial subsystem.  Any\nresemblance to the old driver is purely coincidential.  ;-) I do hope I got\nthe handling of modem lines right -- better do not tackle me about the\nissue unless you feel too good...\n\nAny users of the old driver: please note the numbers of the serial lines\nhave now been swapped, i.e.  ttyS0 \u003c-\u003e ttyS1 and ttyS2 \u003c-\u003e ttyS3.  It has\nto do with the modem lines mentioned above; basically the port A in a given\nchip has to be initialised before the port B if you want to use the latter\nas the serial console (which is usually the case), as operations on modem\nlines of the serial line associated with the port B access both ports (see\nthe comment at the top of the driver for the details of wiring used).\nPlease update your scripts.\n\nThis is also the reason each SCC now requests an IRQ once only (as seen in\n\"/proc/interrupts\") -- the handler takes care of both ports at once as the\nline associated with the port B has to take status update interrupts from\nboth ports (and yet the line of the port A takes its own for itself too).\nThe old driver never got it right...\n\nSigned-off-by: Maciej W. Rozycki \u003cmacro@linux-mips.org\u003e\nCc: Ralf Baechle \u003cralf@linux-mips.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "b187f180cc942e50007aa039f8e3a620ee5f3171",
      "tree": "5a46af1f8a1a3e2d4852b7ff4df4b339a9b31b7d",
      "parents": [
        "04e08d0e9b936b91e761454b3134e260c4f50696"
      ],
      "author": {
        "name": "Yinghai Lu",
        "email": "Yinghai.Lu@Sun.COM",
        "time": "Wed Jul 18 00:49:10 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Wed Jul 18 08:38:22 2007 -0700"
      },
      "message": "serial: add early_serial_setup() back to header file\n\nearly_serial_setup was removed from serial.h, but forgot to put in\nserial_8250.h\n\nSigned-off-by: Yinghai Lu \u003cyinghai.lu@sun.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "3261ebd7d4194ff30d0eae7ba8d937dcccf7235d",
      "tree": "75381f6dd24263cdf484ebc9a5c8a93db6d83cb4",
      "parents": [
        "bf07803a6827ef8d4c9d840a1de800ba36db0213"
      ],
      "author": {
        "name": "Christoph Hellwig",
        "email": "hch@lst.de",
        "time": "Mon May 21 17:41:46 2007 +0300"
      },
      "committer": {
        "name": "Artem Bityutskiy",
        "email": "Artem.Bityutskiy@nokia.com",
        "time": "Wed Jul 18 16:53:49 2007 +0300"
      },
      "message": "UBI: kill homegrown endian macros\n\nKill UBI\u0027s homegrown endianess handling and replace it with\nthe standard kernel endianess handling.\n\nSigned-off-by: Christoph Hellwig \u003chch@lst.de\u003e\nSigned-off-by: Artem Bityutskiy \u003cArtem.Bityutskiy@nokia.com\u003e\n"
    },
    {
      "commit": "f8628a14a27eb4512a1ede43de1d9db4d9f92bc3",
      "tree": "45719452db34112382a1b3e83dc648abe45eac70",
      "parents": [
        "6dd4ee7cab7e3a17c571aebd444f4344c8c4946e"
      ],
      "author": {
        "name": "Andreas Dilger",
        "email": "adilger@clusterfs.com",
        "time": "Wed Jul 18 08:38:01 2007 -0400"
      },
      "committer": {
        "name": "Theodore Ts\u0027o",
        "email": "tytso@mit.edu",
        "time": "Wed Jul 18 08:38:01 2007 -0400"
      },
      "message": "ext4: Remove 65000 subdirectory limit\n\nThis patch adds support to ext4 for allowing more than 65000\nsubdirectories. Currently the maximum number of subdirectories is capped\nat 32000.\n\nIf we exceed 65000 subdirectories in an htree directory it sets the\ninode link count to 1 and no longer counts subdirectories.  The\ndirectory link count is not actually used when determining if a\ndirectory is empty, as that only counts subdirectories and not regular\nfiles that might be in there. \n\nA EXT4_FEATURE_RO_COMPAT_DIR_NLINK flag has been added and it is set if\nthe subdir count for any directory crosses 65000. A later fsck will clear\nEXT4_FEATURE_RO_COMPAT_DIR_NLINK if there are no longer any directory\nwith \u003e65000 subdirs.\n\nSigned-off-by: Andreas Dilger \u003cadilger@clusterfs.com\u003e\nSigned-off-by: Kalpak Shah \u003ckalpak@clusterfs.com\u003e\nSigned-off-by: \"Theodore Ts\u0027o\" \u003ctytso@mit.edu\u003e\n\n\n"
    },
    {
      "commit": "6dd4ee7cab7e3a17c571aebd444f4344c8c4946e",
      "tree": "ee7b36d3a83ea843746ed3c906a9ad778838b9c6",
      "parents": [
        "ef7f38359ea8b3e9c7f2cae9a4d4935f55ca9e80"
      ],
      "author": {
        "name": "Kalpak Shah",
        "email": "kalpak@clusterfs.com",
        "time": "Wed Jul 18 09:19:57 2007 -0400"
      },
      "committer": {
        "name": "Theodore Ts\u0027o",
        "email": "tytso@mit.edu",
        "time": "Wed Jul 18 09:19:57 2007 -0400"
      },
      "message": "ext4: Expand extra_inodes space per the s_{want,min}_extra_isize fields \n\nWe need to make sure that existing ext3 filesystems can also avail the\nnew fields that have been added to the ext4 inode. We use\ns_want_extra_isize and s_min_extra_isize to decide by how much we should\nexpand the inode. If EXT4_FEATURE_RO_COMPAT_EXTRA_ISIZE feature is set\nthen we expand the inode by max(s_want_extra_isize, s_min_extra_isize ,\nsizeof(ext4_inode) - EXT4_GOOD_OLD_INODE_SIZE) bytes. Actually it is\nstill an open question about whether users should be able to set\ns_*_extra_isize smaller than the known fields or not.\n\nThis patch also adds the functionality to expand inodes to include the\nnewly added fields. We start by trying to expand by s_want_extra_isize\nbytes and if its fails we try to expand by s_min_extra_isize bytes. This\nis done by changing the i_extra_isize if enough space is available in\nthe inode and no EAs are present. If EAs are present and there is enough\nspace in the inode then the EAs in the inode are shifted to make space.\nIf enough space is not available in the inode due to the EAs then 1 or\nmore EAs are shifted to the external EA block. In the worst case when\neven the external EA block does not have enough space we inform the user\nthat some EA would need to be deleted or s_min_extra_isize would have to\nbe reduced.\n\nSigned-off-by: Andreas Dilger \u003cadilger@clusterfs.com\u003e\nSigned-off-by: Kalpak Shah \u003ckalpak@clusterfs.com\u003e\nSigned-off-by: Mingming Cao \u003ccmm@us.ibm.com\u003e\nSigned-off-by: \"Theodore Ts\u0027o\" \u003ctytso@mit.edu\u003e\n\n"
    },
    {
      "commit": "ef7f38359ea8b3e9c7f2cae9a4d4935f55ca9e80",
      "tree": "ee34a5821332cf70b89827eb872f08bc0dd43f89",
      "parents": [
        "0f49d5d019afa4e94253bfc92f0daca3badb990b"
      ],
      "author": {
        "name": "Kalpak Shah",
        "email": "kalpak@clusterfs.com",
        "time": "Wed Jul 18 09:15:20 2007 -0400"
      },
      "committer": {
        "name": "Theodore Ts\u0027o",
        "email": "tytso@mit.edu",
        "time": "Wed Jul 18 09:15:20 2007 -0400"
      },
      "message": "ext4: Add nanosecond timestamps\n\nThis patch adds nanosecond timestamps for ext4. This involves adding\n*time_extra fields to the ext4_inode to extend the timestamps to\n64-bits.  Creation time is also added by this patch.\n\nThese extended fields will fit into an inode if the filesystem was\nformatted with large inodes (-I 256 or larger) and there are currently\nno EAs consuming all of the available space. For new inodes we always\nreserve enough space for the kernel\u0027s known extended fields, but for\ninodes created with an old kernel this might not have been the case. So\nthis patch also adds the EXT4_FEATURE_RO_COMPAT_EXTRA_ISIZE feature\nflag(ro-compat so that older kernels can\u0027t create inodes with a smaller\nextra_isize). which indicates if the fields fitting inside\ns_min_extra_isize are available or not.  If the expansion of inodes if\nunsuccessful then this feature will be disabled.  This feature is only\nenabled if requested by the sysadmin.\n\nNone of the extended inode fields is critical for correct filesystem\noperation.\n\nSigned-off-by: Andreas Dilger \u003cadilger@clusterfs.com\u003e\nSigned-off-by: Kalpak Shah \u003ckalpak@clusterfs.com\u003e\nSigned-off-by: Eric Sandeen \u003csandeen@redhat.com\u003e\nSigned-off-by: Dave Kleikamp \u003cshaggy@linux.vnet.ibm.com\u003e\nSigned-off-by: Mingming Cao \u003ccmm@us.ibm.com\u003e\nSigned-off-by: \"Theodore Ts\u0027o\" \u003ctytso@mit.edu\u003e\n\n"
    },
    {
      "commit": "0f49d5d019afa4e94253bfc92f0daca3badb990b",
      "tree": "9a8266d3a7292a0632df0f970f6377a8b8b98658",
      "parents": [
        "e23291b9120c11aafb2ee76fb71a062eb3c1056c"
      ],
      "author": {
        "name": "Jose R. Santos",
        "email": "jrs@us.ibm.com",
        "time": "Wed Jul 18 08:50:18 2007 -0400"
      },
      "committer": {
        "name": "Theodore Ts\u0027o",
        "email": "tytso@mit.edu",
        "time": "Wed Jul 18 08:50:18 2007 -0400"
      },
      "message": "jbd2: Move jbd2-debug file to debugfs\n\nThe jbd2-debug file used to be located in /proc/sys/fs/jbd2-debug, but it\nincorrectly used create_proc_entry() instead of the sysctl routines, and\nno proc entry was ever created.\n\nInstead of fixing this we might as well move the jbd2-debug file to\ndebugfs which would be the preferred location for this kind of tunable.\nThe new location is now /sys/kernel/debug/jbd2/jbd2-debug.\n\nSigned-off-by: Jose R. Santos \u003cjrs@us.ibm.com\u003e\nSigned-off-by: \"Theodore Ts\u0027o\" \u003ctytso@mit.edu\u003e\n"
    },
    {
      "commit": "e23291b9120c11aafb2ee76fb71a062eb3c1056c",
      "tree": "1a0f458c5c2803eb9a959e79622974cd5db4f985",
      "parents": [
        "eb40a09c679d7f9709f7087add57f2e1c7122bb3"
      ],
      "author": {
        "name": "Jose R. Santos",
        "email": "jrs@us.ibm.com",
        "time": "Wed Jul 18 08:57:06 2007 -0400"
      },
      "committer": {
        "name": "Theodore Ts\u0027o",
        "email": "tytso@mit.edu",
        "time": "Wed Jul 18 08:57:06 2007 -0400"
      },
      "message": "jbd2: Fix CONFIG_JBD_DEBUG ifdef to be CONFIG_JBD2_DEBUG\n\nWhen the JBD code was forked to create the new JBD2 code base, the\nreferences to CONFIG_JBD_DEBUG where never changed to\nCONFIG_JBD2_DEBUG.  This patch fixes that.\n\nSigned-off-by: Jose R. Santos \u003cjrs@us.ibm.com\u003e\nSigned-off-by: \"Theodore Ts\u0027o\" \u003ctytso@mit.edu\u003e\n\n"
    },
    {
      "commit": "ff9ddf7e847c4dc533f119efb6c77a6e57ab6397",
      "tree": "fff8ab26370c0e466d96fb99bf3dc566b909a104",
      "parents": [
        "1e2462f93e011f63fd0f1fedd2c05338ca6b31c2"
      ],
      "author": {
        "name": "Jan Kara",
        "email": "jack@suse.cz",
        "time": "Wed Jul 18 09:24:20 2007 -0400"
      },
      "committer": {
        "name": "Theodore Ts\u0027o",
        "email": "tytso@mit.edu",
        "time": "Wed Jul 18 09:24:20 2007 -0400"
      },
      "message": "ext4: copy i_flags to inode flags on write\n    \nPropagate flags such as S_APPEND, S_IMMUTABLE, etc. from i_flags into\next4-specific i_flags.  Quota code changes these flags on quota files\n(to make it harder for sysadmin to screw himself) and these changes were\nnot correctly propagated into the filesystem.\n\n(This is a forward port patch from ext3)\n\nSigned-off-by: Jan Kara \u003cjack@suse.cz\u003e\nSigned-off-by: Mingming Cao \u003ccmm@us.ibm.com\u003e\nSigned-off-by: \"Theodore Ts\u0027o\" \u003ctytso@mit.edu\u003e\n\n"
    },
    {
      "commit": "749269facaf87f6e516c3af12763e03181b9c139",
      "tree": "5c8a2091d4b1ce7636de404a1366bd174b4634fd",
      "parents": [
        "56055d3ae4cc7fa6d2b10885f20269de8a989ed7"
      ],
      "author": {
        "name": "Amit Arora",
        "email": "aarora@in.ibm.com",
        "time": "Wed Jul 18 09:02:56 2007 -0400"
      },
      "committer": {
        "name": "Theodore Ts\u0027o",
        "email": "tytso@mit.edu",
        "time": "Wed Jul 18 09:02:56 2007 -0400"
      },
      "message": "Change on-disk format to support 2^15 uninitialized extents\n\nThis change was suggested by Andreas Dilger. \nThis patch changes the EXT_MAX_LEN value and extent code which marks/checks\nuninitialized extents. With this change it will be possible to have\ninitialized extents with 2^15 blocks (earlier the max blocks we could have\nwas 2^15 - 1). This way we can have better extent-to-block alignment.\nNow, maximum number of blocks we can have in an initialized extent is 2^15\nand in an uninitialized extent is 2^15 - 1.\n\nSigned-off-by: Amit Arora \u003caarora@in.ibm.com\u003e\n"
    },
    {
      "commit": "ebd61cc042b16e6cf2486aafbfff9e4be8c213ee",
      "tree": "8e8144e7839977f65c7bbbafbbd7ff26999f213a",
      "parents": [
        "75a69ac6d66d2504ecbc4b46645fb0835a55a57c"
      ],
      "author": {
        "name": "Adrian Bunk",
        "email": "bunk@stusta.de",
        "time": "Wed Jul 18 02:21:50 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Jul 18 02:21:50 2007 -0700"
      },
      "message": "[NETFILTER]: ipt_iprange.h must #include \u003clinux/types.h\u003e\n\nipt_iprange.h must #include \u003clinux/types.h\u003e since it uses __be32.\n\nThis patch fixes kernel Bugzilla #7604.\n\nSigned-off-by: Adrian Bunk \u003cbunk@stusta.de\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "456ad75c89cdb72e11dcdb6b0794802a6f50c8a3",
      "tree": "0e220771195438b704985418e47a7dc29d9a7d7b",
      "parents": [
        "eb4965344965530411359891214cd6fcab483649"
      ],
      "author": {
        "name": "Denis Cheng",
        "email": "crquan@gmail.com",
        "time": "Wed Jul 18 02:10:54 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Jul 18 02:10:54 2007 -0700"
      },
      "message": "[NET]: move dev_mc_discard from dev_mcast.c to dev.c\n\nBecause this function is only called by unregister_netdevice,\nthis moving could make this non-global function static,\nand also remove its declaration in netdevice.h;\n\nAny further, function __dev_addr_discard is also just called by\ndev_mc_discard and dev_unicast_discard, keeping this two functions\nboth in one c file could make __dev_addr_discard also static\nand remove its declaration in netdevice.h;\n\nFuthermore, the sequential call to dev_unicast_discard and then\ndev_mc_discard in unregister_netdevice have a similar mechanism that:\n(netif_tx_lock_bh / __dev_addr_discard / netif_tx_unlock_bh),\nthey should merged into one to eliminate duplicates in acquiring and\nreleasing the dev-\u003e_xmit_lock, this would be done in my following patch.\n\nSigned-off-by: Denis Cheng \u003ccrquan@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "bd0bf0765ea1fba80d7085e1f0375ec045631dc1",
      "tree": "7a637d217e6f090f3eebe127a11fcbfaabc1c3cd",
      "parents": [
        "16751347a060a10c09b11593bb179fd5b0240c04"
      ],
      "author": {
        "name": "Patrick McHardy",
        "email": "kaber@trash.net",
        "time": "Wed Jul 18 01:55:52 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Jul 18 01:55:52 2007 -0700"
      },
      "message": "[XFRM]: Fix crash introduced by struct dst_entry reordering\n\nXFRM expects xfrm_dst-\u003eu.next to be same pointer as dst-\u003enext, which\nwas broken by the dst_entry reordering in commit 1e19e02c~, causing\nan oops in xfrm_bundle_ok when walking the bundle upwards.\n\nKill xfrm_dst-\u003eu.next and change the only user to use dst-\u003enext instead.\n\nSigned-off-by: Patrick McHardy \u003ckaber@trash.net\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "16751347a060a10c09b11593bb179fd5b0240c04",
      "tree": "40399ba217d9e4c45060c4d12334c53f931ca635",
      "parents": [
        "44beac008631d1b8a52f103e04eacba2bda81511"
      ],
      "author": {
        "name": "Stephen Hemminger",
        "email": "shemminger@linux-foundation.org",
        "time": "Mon Jul 16 18:35:52 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Jul 18 01:46:58 2007 -0700"
      },
      "message": "[TCP]: remove unused argument to cong_avoid op\n\nNone of the existing TCP congestion controls use the rtt value pased\nin the ca_ops-\u003econg_avoid interface.  Which is lucky because seq_rtt\ncould have been -1 when handling a duplicate ack.\n\nSigned-off-by: Stephen Hemminger \u003cshemminger@linux-foundation.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "0785b9dcdc3d93e67529e4bd819a427776d3a07e",
      "tree": "c9c3d556ba4f10352c50d6d137cc68f50802885f",
      "parents": [
        "d762acdbd3b2bd9a714ace47d7b0c76133d7b295"
      ],
      "author": {
        "name": "Stephen Rothwell",
        "email": "sfr@canb.auug.org.au",
        "time": "Wed Jul 18 00:09:30 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Jul 18 01:20:22 2007 -0700"
      },
      "message": "[SPARC]: Mark sparc and sparc64 as not having virt_to_bus\n\nSigned-off-by: Stephen Rothwell \u003csfr@canb.auug.org.au\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "6160f63518406485c7009cb0f2e1588ea3abccc1",
      "tree": "d0adeedae350dc4829e7eacbf198627a107f393f",
      "parents": [
        "9184a046328d2dfc9f2cf0f831e649a108492124"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Tue Jul 17 23:03:47 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Jul 18 01:20:04 2007 -0700"
      },
      "message": "[SPARC64]: Massively simplify VIO device layer and support hot add/remove.\n\nCreate and destroy VIO devices in response to MD update events.  These\nrun synchronously inside of the MD update mutex so the VIO layer\ndoesn\u0027t need to do internal locking of any sort.\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "920c3ed741340a88f2042ab0c44a25b8c743a379",
      "tree": "fecca3490f84274a6a1cc36956937f3b7bba3394",
      "parents": [
        "cb32da0416b823b7f4b65e7e85d6cba16ca4d1e1"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Tue Jul 17 21:37:35 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Jul 18 01:19:51 2007 -0700"
      },
      "message": "[SPARC64]: Add basic infrastructure for MD add/remove notification.\n\nAnd add dummy handlers for the VIO device layer.  These will be filled\nin with real code after the vdc, vnet, and ds drivers are reworked to\nhave simpler dependencies on the VIO device tree.\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "56055d3ae4cc7fa6d2b10885f20269de8a989ed7",
      "tree": "ab0008be38ef4d2789aee16d084fdaa2d5acfc32",
      "parents": [
        "a2df2a63407803a833f82e1fa6693826c8c9d584"
      ],
      "author": {
        "name": "Amit Arora",
        "email": "aarora@in.ibm.com",
        "time": "Tue Jul 17 21:42:38 2007 -0400"
      },
      "committer": {
        "name": "Theodore Ts\u0027o",
        "email": "tytso@mit.edu",
        "time": "Tue Jul 17 21:42:38 2007 -0400"
      },
      "message": "write support for preallocated blocks\n\nThis patch adds write support to the uninitialized extents that get\ncreated when a preallocation is done using fallocate(). It takes care of\nsplitting the extents into multiple (upto three) extents and merging the\nnew split extents with neighbouring ones, if possible.\n\nSigned-off-by: Amit Arora \u003caarora@in.ibm.com\u003e\n"
    },
    {
      "commit": "a2df2a63407803a833f82e1fa6693826c8c9d584",
      "tree": "db761e8d82dbbe53e166511a9f8af9162541a212",
      "parents": [
        "97ac73506c0ba93f30239bb57b4cfc5d73e68a62"
      ],
      "author": {
        "name": "Amit Arora",
        "email": "aarora@in.ibm.com",
        "time": "Tue Jul 17 21:42:41 2007 -0400"
      },
      "committer": {
        "name": "Theodore Ts\u0027o",
        "email": "tytso@mit.edu",
        "time": "Tue Jul 17 21:42:41 2007 -0400"
      },
      "message": "fallocate support in ext4\n\nThis patch implements -\u003efallocate() inode operation in ext4. With this\npatch users of ext4 file systems will be able to use fallocate() system\ncall for persistent preallocation. Current implementation only supports\npreallocation for regular files (directories not supported as of date)\nwith extent maps. This patch does not support block-mapped files currently.\nOnly FALLOC_ALLOCATE and FALLOC_RESV_SPACE modes are being supported as of\nnow.\n\nSigned-off-by: Amit Arora \u003caarora@in.ibm.com\u003e\n"
    },
    {
      "commit": "97ac73506c0ba93f30239bb57b4cfc5d73e68a62",
      "tree": "4d02848d6c792a70b413deadcaffd7bf8c8d61de",
      "parents": [
        "cb32da0416b823b7f4b65e7e85d6cba16ca4d1e1"
      ],
      "author": {
        "name": "Amit Arora",
        "email": "aarora@in.ibm.com",
        "time": "Tue Jul 17 21:42:44 2007 -0400"
      },
      "committer": {
        "name": "Theodore Ts\u0027o",
        "email": "tytso@mit.edu",
        "time": "Tue Jul 17 21:42:44 2007 -0400"
      },
      "message": "sys_fallocate() implementation on i386, x86_64 and powerpc\n\nfallocate() is a new system call being proposed here which will allow\napplications to preallocate space to any file(s) in a file system.\nEach file system implementation that wants to use this feature will need\nto support an inode operation called -\u003efallocate().\nApplications can use this feature to avoid fragmentation to certain\nlevel and thus get faster access speed. With preallocation, applications\nalso get a guarantee of space for particular file(s) - even if later the\nthe system becomes full.\n\nCurrently, glibc provides an interface called posix_fallocate() which\ncan be used for similar cause. Though this has the advantage of working\non all file systems, but it is quite slow (since it writes zeroes to\neach block that has to be preallocated). Without a doubt, file systems\ncan do this more efficiently within the kernel, by implementing\nthe proposed fallocate() system call. It is expected that\nposix_fallocate() will be modified to call this new system call first\nand incase the kernel/filesystem does not implement it, it should fall\nback to the current implementation of writing zeroes to the new blocks.\nToDos:\n1. Implementation on other architectures (other than i386, x86_64,\n   and ppc). Patches for s390(x) and ia64 are already available from\n   previous posts, but it was decided that they should be added later\n   once fallocate is in the mainline. Hence not including those patches\n   in this take.\n2. Changes to glibc,\n   a) to support fallocate() system call\n   b) to make posix_fallocate() and posix_fallocate64() call fallocate()\n\nSigned-off-by: Amit Arora \u003caarora@in.ibm.com\u003e\n"
    },
    {
      "commit": "cb32da0416b823b7f4b65e7e85d6cba16ca4d1e1",
      "tree": "1d09075441ae985fbdb4347b6b63da1ed7fcc754",
      "parents": [
        "1985026d32e69ed6dac3ba0ef8ff10366f060ed3"
      ],
      "author": {
        "name": "Paul Mundt",
        "email": "lethal@linux-sh.org",
        "time": "Wed Jul 18 09:18:36 2007 +0900"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Tue Jul 17 17:26:43 2007 -0700"
      },
      "message": "slob: Kill off duplicate kzalloc() definition.\n\nWith the slab zeroing allocations cleanups Christoph stubbed in a generic\nkzalloc(), which was missed on SLOB. Follow the SLAB/SLUB changes and\nkill off the __kzalloc() wrapper that SLOB was using.\n\nReported-by: Jan Engelhardt \u003cjengelh@computergmbh.de\u003e\nSigned-off-by: Paul Mundt \u003clethal@linux-sh.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "f3d9071667752e5d419e59f76912ed3fb4a6bb9c",
      "tree": "e8787124dbe9bdd7e12d7c427c9ee6036cbe7783",
      "parents": [
        "6dfce901a450534d046b7950682243d5fb665783",
        "5d3a8cd34beb1521a2697c6ed7b647ef9bafdbf1"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Tue Jul 17 15:26:31 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Tue Jul 17 15:26:31 2007 -0700"
      },
      "message": "Merge branch \u0027bsg\u0027 of git://git.kernel.dk/data/git/linux-2.6-block\n\n* \u0027bsg\u0027 of git://git.kernel.dk/data/git/linux-2.6-block:\n  bsg: fix missing space in version print\n  Don\u0027t define empty struct bsg_class_device if !CONFIG_BLK_DEV_BSG\n  bsg: Kconfig updates\n  bsg: minor cleanup\n  bsg: device hash table cleanup\n  bsg: fix initialization error handling bugs\n  bsg: mark FUJITA Tomonori as bsg maintainer\n  bsg: convert to dynamic major\n  bsg: address various review comments\n"
    },
    {
      "commit": "8dfd588c3180b7403c402b4545164ee4543f8f86",
      "tree": "9bd261e2b78f20ea852f60ee1a13f57cff51cdae",
      "parents": [
        "44052e0d91757ecac4a2f659ea3e1a658dd6057e"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@ftp.linux.org.uk",
        "time": "Tue Jul 17 22:29:46 2007 +0100"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Tue Jul 17 14:39:19 2007 -0700"
      },
      "message": "smp_call_function_single() should be a macro on UP\n\n... or we end up with header include order problems from hell.\n\nE.g. on m68k this is 100% fatal - local_irq_enable() there\nwants preempt_count(), which wants task_struct fields, which\nwe won\u0027t have when we are in smp.h pulled from sched.h.\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "3bd858ab1c451725c07a805dcb315215dc85b86e",
      "tree": "5d49c4300e350d64fd81eb3230b81f754117e0c1",
      "parents": [
        "49c13b51a15f1ba9f6d47e26e4a3886c4f3931e2"
      ],
      "author": {
        "name": "Satyam Sharma",
        "email": "ssatyam@cse.iitk.ac.in",
        "time": "Tue Jul 17 15:00:08 2007 +0530"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Tue Jul 17 12:00:03 2007 -0700"
      },
      "message": "Introduce is_owner_or_cap() to wrap CAP_FOWNER use with fsuid check\n\nIntroduce is_owner_or_cap() macro in fs.h, and convert over relevant\nusers to it. This is done because we want to avoid bugs in the future\nwhere we check for only effective fsuid of the current task against a\nfile\u0027s owning uid, without simultaneously checking for CAP_FOWNER as\nwell, thus violating its semantics.\n[ XFS uses special macros and structures, and in general looked ...\nuntouchable, so we leave it alone -- but it has been looked over. ]\n\nThe (current-\u003efsuid !\u003d inode-\u003ei_uid) check in generic_permission() and\nexec_permission_lite() is left alone, because those operations are\ncovered by CAP_DAC_OVERRIDE and CAP_DAC_READ_SEARCH. Similarly operations\nfalling under the purview of CAP_CHOWN and CAP_LEASE are also left alone.\n\nSigned-off-by: Satyam Sharma \u003cssatyam@cse.iitk.ac.in\u003e\nCc: Al Viro \u003cviro@ftp.linux.org.uk\u003e\nAcked-by: Serge E. Hallyn \u003cserge@hallyn.com\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "49c13b51a15f1ba9f6d47e26e4a3886c4f3931e2",
      "tree": "a96d7fc5884e56a61993f9393afa9077f8068b47",
      "parents": [
        "492559af235eb56884d62553f191c0b5c4def990",
        "cec9ad279b66793bee0b5009b7ca311060061efd"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Tue Jul 17 11:50:26 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Tue Jul 17 11:50:26 2007 -0700"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/avi/kvm\n\n* \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/avi/kvm: (80 commits)\n  KVM: Use CPU_DYING for disabling virtualization\n  KVM: Tune hotplug/suspend IPIs\n  KVM: Keep track of which cpus have virtualization enabled\n  SMP: Allow smp_call_function_single() to current cpu\n  i386: Allow smp_call_function_single() to current cpu\n  x86_64: Allow smp_call_function_single() to current cpu\n  HOTPLUG: Adapt thermal throttle to CPU_DYING\n  HOTPLUG: Adapt cpuset hotplug callback to CPU_DYING\n  HOTPLUG: Add CPU_DYING notifier\n  KVM: Clean up #includes\n  KVM: Remove kvmfs in favor of the anonymous inodes source\n  KVM: SVM: Reliably detect if SVM was disabled by BIOS\n  KVM: VMX: Remove unnecessary code in vmx_tlb_flush()\n  KVM: MMU: Fix Wrong tlb flush order\n  KVM: VMX: Reinitialize the real-mode tss when entering real mode\n  KVM: Avoid useless memory write when possible\n  KVM: Fix x86 emulator writeback\n  KVM: Add support for in-kernel pio handlers\n  KVM: VMX: Fix interrupt checking on lightweight exit\n  KVM: Adds support for in-kernel mmio handlers\n  ...\n"
    },
    {
      "commit": "492559af235eb56884d62553f191c0b5c4def990",
      "tree": "a5dfa19243b3b8b976e9f5b9c788cafcd3ad80c7",
      "parents": [
        "d3676756968eef4a31da11be5addc4eec1b6db2c",
        "4f8de2745629330d78776282ea490fece22ee5e4"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Tue Jul 17 11:31:57 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Tue Jul 17 11:31:57 2007 -0700"
      },
      "message": "Merge branch \u0027release\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/aegl/linux-2.6\n\n* \u0027release\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/aegl/linux-2.6:\n  [IA64] Clean away some code inside some non-existent CONFIG ifdefs\n  [IA64] ar.itc access must really be after xtime_lock.sequence has been read\n  [IA64] correctly count CPU objects in the ia64/sn hwperf interface\n  [IA64] arbitary speed tty ioctl support\n  [IA64] use machvec\u003ddig on hpzx1 platforms\n"
    },
    {
      "commit": "d37c6e1b67e8d7f3c5fceba491dcb09a15cb7772",
      "tree": "0475cc3e841e22994b3a779125d4cd90b52dc76d",
      "parents": [
        "cc040a8a0e8ba95fbb0ae1edcb9ec83623b422e3"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@ftp.linux.org.uk",
        "time": "Tue Jul 17 08:49:35 2007 +0100"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Tue Jul 17 11:01:07 2007 -0700"
      },
      "message": "saner typechecking in generic unaligned.h\n\nVerify that types would match for assignment (under sizeof, so we are safe from\nside effects or any code actually getting generated), then explicitly cast\neverywhere to the fixed-sized types.  Kills a bunch of bogus warnings about\nconstants being truncated (gcc, sparse), finds a pile of endianness problems\nhidden by old noise (sparse).\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "5072d5d58ef67bd7131d0be208ad1b6cd0631648",
      "tree": "71e373849933063f903d78c0bcf1d61ee951c5e2",
      "parents": [
        "0ab7a252a52943786d6d12ad8032266841d68b8e"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@ftp.linux.org.uk",
        "time": "Tue Jul 17 08:49:35 2007 +0100"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Tue Jul 17 11:01:07 2007 -0700"
      },
      "message": "alpha termios.h hadn\u0027t been updated\n\n... fortunately, termios and ktermios there are identical, so no\nrun-time breakage happened.\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "4ad1366376bfef32ec0ffa12d1faa483d6f330bd",
      "tree": "87a9c864ec5ebd446f6c99f3298bc7638efa8f1e",
      "parents": [
        "f0d76d70bc77b9b11256a3a23e98e80878be1578"
      ],
      "author": {
        "name": "NeilBrown",
        "email": "neilb@suse.de",
        "time": "Tue Jul 17 04:06:13 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Tue Jul 17 10:23:15 2007 -0700"
      },
      "message": "md: change bitmap_unplug and others to void functions\n\nbitmap_unplug only ever returns 0, so it may as well be void.  Two callers try\nto print a message if it returns non-zero, but that message is already printed\nby bitmap_file_kick.\n\nwrite_page returns an error which is not consistently checked.  It always\ncauses BITMAP_WRITE_ERROR to be set on an error, and that can more\nconveniently be checked.\n\nWhen the return of write_page is checked, an error causes bitmap_file_kick to\nbe called - so move that call into write_page - and protect against recursive\ncalls into bitmap_file_kick.\n\nbitmap_update_sb returns an error that is never checked.\n\nSo make these \u0027void\u0027 and be consistent about checking the bit.\n\nSigned-off-by: Neil Brown \u003cneilb@suse.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "713f6ab18b0e7d39f14401362bfe8015b1aedde1",
      "tree": "fc6ef865d09de1ec816ed96860ffc27dd48d837b",
      "parents": [
        "df968c4e8d809deb2602fb0e8db758f26a4006b9"
      ],
      "author": {
        "name": "NeilBrown",
        "email": "neilb@suse.de",
        "time": "Tue Jul 17 04:06:12 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Tue Jul 17 10:23:15 2007 -0700"
      },
      "message": "md: improve the is_mddev_idle test fix\n\nDon\u0027t use \u0027unsigned\u0027 variable to track sync vs non-sync IO, as the only thing\nwe want to do with them is a signed comparison, and fix up the comment which\nhad become quite wrong.\n\nSigned-off-by: Neil Brown \u003cneilb@suse.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "fe0e3a9df6372d357d3fdc4b6265a5417f1e84e8",
      "tree": "be6c941bc2ffd089cada078c30d5a958bff61760",
      "parents": [
        "8b08cf2b64f5a60594b07795b2ad518c6d044566"
      ],
      "author": {
        "name": "Imre Deak",
        "email": "imre.deak@solidboot.com",
        "time": "Tue Jul 17 04:05:55 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Tue Jul 17 10:23:13 2007 -0700"
      },
      "message": "OMAP: add TI OMAP1610 accelerator entry.\n\nSigned-off-by: Trilok Soni \u003csoni.trilok@gmail.com\u003e\nCc: Tony Lindgren \u003ctony@atomide.com\u003e\nCc: \"Antonino A. Daplas\" \u003cadaplas@pol.net\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "9900abfb5e8192f0eafcd9b9dd5d54011e46c76c",
      "tree": "d12ac087db68aedb0a26848a51292389eefea35c",
      "parents": [
        "90da63e54604fd515c17014a0a7f332a018a0a11"
      ],
      "author": {
        "name": "Geert Uytterhoeven",
        "email": "Geert.Uytterhoeven@sonycom.com",
        "time": "Tue Jul 17 04:05:50 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Tue Jul 17 10:23:13 2007 -0700"
      },
      "message": "fbdev: Add fb_append_extra_logo()\n\nAdd fb_append_extra_logo(), to append extra lines of logos below the standard\nLinux logo.\n\nSigned-off-by: Geert Uytterhoeven \u003cGeert.Uytterhoeven@sonycom.com\u003e\nSigned-off-by: Geoff Levand \u003cgeoffrey.levand@am.sony.com\u003e\nAcked-By: James Simmons \u003cjsimmons@infradead.org\u003e\nCc: \"Antonino A. Daplas\" \u003cadaplas@pol.net\u003e\nCc: Benjamin Herrenschmidt \u003cbenh@kernel.crashing.org\u003e\nCc: Paul Mackerras \u003cpaulus@samba.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "eb3daa83c2f63743fb7597f620beac75e1ba5633",
      "tree": "be59200d2ed567f6ac0a0e7dc1369b0ee67c8db6",
      "parents": [
        "9965f5b137f11a7dce01b2c32874a4875f024306"
      ],
      "author": {
        "name": "Antonino A. Daplas",
        "email": "adaplas@gmail.com",
        "time": "Tue Jul 17 04:05:41 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Tue Jul 17 10:23:12 2007 -0700"
      },
      "message": "tgafb: actually allocate memory for the pseudo_palette\n\nNo memory allocation was done for the pseudo_palette.  Allocate one for it.\n\nSigned-off-by: Antonino Daplas \u003cadaplas@gmail.com\u003e\nAcked-by: \"Maciej W. Rozycki\" \u003cmacro@linux-mips.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "b7269dd2b97b9aedb64e15fdec5575345d091925",
      "tree": "4e6776192ef784a19f9b29411ba3236a8f57cc49",
      "parents": [
        "cfafca8067c6defbaeb28cb898b7b3f8abdfe20d"
      ],
      "author": {
        "name": "Jesse Barnes",
        "email": "jbarnes@virtuousgeek.org",
        "time": "Tue Jul 17 04:05:34 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Tue Jul 17 10:23:11 2007 -0700"
      },
      "message": "vt: add comment for unbind_con_driver()\n\n- add comment for unbind_con_driver().\n- bind_con_driver() is made private again\n\nSigned-off-by: Jesse Barnes \u003cjesse.barnes@intel.com\u003e\nSigned-off-by: Antonino Daplas \u003cadaplas@gmail.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "cfafca8067c6defbaeb28cb898b7b3f8abdfe20d",
      "tree": "93c5bae1e14a4d9bec3e9396c5dd9ef0fecfaf1d",
      "parents": [
        "afd1db1632c3f8f95cbc2786bfa122cead79db58"
      ],
      "author": {
        "name": "Jesse Barnes",
        "email": "jesse.barnes@intel.com",
        "time": "Tue Jul 17 04:05:33 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Tue Jul 17 10:23:11 2007 -0700"
      },
      "message": "fbdev: fbcon: console unregistration from unregister_framebuffer\n\nThis allows for proper console unregistration via the VT layer, and updates\nthe FB layer to use it.  This makes debugging new console drivers much easier,\nsince you can properly clean them up before unloading.\n\n[adaplas]\nunregister_framebuffer() is typically called as part of the driver\u0027s\nmodule_exit(). Doing so otherwise will freeze the machine as the VT layer is\nholding reference counts on fbcon, and fbcon on the driver.  With this change,\nit allows unregister_framebuffer() to be called safely anywhere as needed.\n\nAdditions from the original:  If multiple drivers are used by fbcon, and if\none of them unregisters, a driver will take over the consoles vacated by the\noutgoing one (via set_con2fb_map).   Once only the outgoing driver remains,\nthen fbcon will unbind from the VT layer (if CONFIG_HW_CONSOLE_UNBINDING is\nset to y).\n\nIt is important that these drivers implement fb_open() and fb_release()\njust to ensure that no other process is using the driver. Likewise, these\ndrivers _must_ check the return value of unregister_framebuffer().\n\n[akpm@linux-foundation.org: make fbcon_unbind() stub inline]\nSigned-off-by: Jesse Barnes \u003cjesse.barnes@intel.com\u003e\nSigned-off-by: Antonino Daplas \u003cadaplas@gmail.com\u003e\nCc: Geert Uytterhoeven \u003cgeert@linux-m68k.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "623e71b035cb5271028500720b3622ba76db42bb",
      "tree": "651cd606c57b1e1322f92e0406d744a2b341da7e",
      "parents": [
        "317b3c2167f5326a7de30a1abe50c9897da7a0e3"
      ],
      "author": {
        "name": "Antonino A. Daplas",
        "email": "adaplas@gmail.com",
        "time": "Tue Jul 17 04:05:28 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Tue Jul 17 10:23:11 2007 -0700"
      },
      "message": "fbcon: allow fbcon to use the primary display driver\n\nAllow fbcon to select the primary display adapter using the\nfb_is_primary_device() arch-specific helper.  If a a primary adapter is\ndetected, fbcon will unbind the old adapter from the VT layer, then rebind\nusing the new adapter.  This requires that bind_/unbind_con_driver() be made\npublic.\n\nBecause this feature may produce unexpected behavior (from the user\u0027s POV),\nthis must be explicitly enabled in Kconfig.\n\n[akpm@linux-foundation.org: export unbind_con_driver]\nSigned-off-by: Antonino Daplas \u003cadaplas@gmail.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "317b3c2167f5326a7de30a1abe50c9897da7a0e3",
      "tree": "e0a8481121bb54bc2e714ea3b6c89b67a881a278",
      "parents": [
        "10eb2659cc6059d0c4de2e2c66d1534091519f56"
      ],
      "author": {
        "name": "Antonino A. Daplas",
        "email": "adaplas@gmail.com",
        "time": "Tue Jul 17 04:05:28 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Tue Jul 17 10:23:11 2007 -0700"
      },
      "message": "fbdev: detect primary display device\n\nAdd function helper, fb_is_primary_device().  Given struct fb_info, it will\nreturn a nonzero value if the device is the primary display.\n\nCurrently, only the i386 is supported where the function checks for the\nIORESOURCE_ROM_SHADOW flag.\n\nSigned-off-by: Antonino Daplas \u003cadaplas@gmail.com\u003e\nCc: David Miller \u003cdavem@davemloft.net\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "10eb2659cc6059d0c4de2e2c66d1534091519f56",
      "tree": "804a53c7a3fd6fb4ef72454a0d962c3883bbb828",
      "parents": [
        "0c6c1ce079082ddde9ba5636c352c235cd395aa1"
      ],
      "author": {
        "name": "Antonino A. Daplas",
        "email": "adaplas@gmail.com",
        "time": "Tue Jul 17 04:05:27 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Tue Jul 17 10:23:11 2007 -0700"
      },
      "message": "fbdev: move arch-specific bits to their respective subdirectories\n\nMove arch-specific bits of fb_mmap() to their respective subdirectories\n\n[bob.picco@hp.com: efi_range_is_wc is referenced but not declared]\n[bunk@stusta.de: fix include/asm-m68k/fb.h]\nSigned-off-by: Antonino Daplas \u003cadaplas@gmail.com\u003e\nAcked-by: David S. Miller \u003cdavem@davemloft.net\u003e\nSigned-off-by: Adrian Bunk \u003cbunk@stusta.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "2e774c7caf84455d5e7d492d123bad6f417818b5",
      "tree": "01e81a82fa4921887b3295000c2901dcab5bcb70",
      "parents": [
        "617780d290bd6eb2b260928c6acff5b7c6084154"
      ],
      "author": {
        "name": "Mark Zhan",
        "email": "rongkai.zhan@windriver.com",
        "time": "Tue Jul 17 04:05:05 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Tue Jul 17 10:23:09 2007 -0700"
      },
      "message": "rtc: add support for the ST M48T59 RTC\n\n[akpm@linux-foundation.org: x86_64 build fix]\n[akpm@linux-foundation.org: The acpi guys changed the bin_attribute code]\nSigned-off-by: Mark Zhan \u003crongkai.zhan@windriver.com\u003e\nCc: Alessandro Zummo \u003ca.zummo@towertech.it\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "1269bc69b6649282091bb7007372acf4ab8357fd",
      "tree": "58cd434f7381332dd8b7331da36f98b40cb69639",
      "parents": [
        "9091224f3cff4721f295df29e8a99705a63bc4c7"
      ],
      "author": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Tue Jul 17 04:04:52 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Tue Jul 17 10:23:08 2007 -0700"
      },
      "message": "knfsd: nfsd: enforce per-flavor id squashing\n\nAllow root squashing to vary per-pseudoflavor, so that you can (for example)\nallow root access only when sufficiently strong security is in use.\n\nSigned-off-by: \"J. Bruce Fields\" \u003cbfields@citi.umich.edu\u003e\nSigned-off-by: Neil Brown \u003cneilb@suse.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "4796f45740bc6f2e3e6cc14e7ed481b38bd0bd39",
      "tree": "1f24645e86f87511350e149525245f2b215ba55a",
      "parents": [
        "dcb488a3b7ac3987e21148f44f641c9b2e734232"
      ],
      "author": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Tue Jul 17 04:04:51 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Tue Jul 17 10:23:08 2007 -0700"
      },
      "message": "knfsd: nfsd4: secinfo handling without secinfo\u003d option\n\nWe could return some sort of error in the case where someone asks for secinfo\non an export without the secinfo\u003d option set--that\u0027d be no worse than what\nwe\u0027ve been doing.  But it\u0027s not really correct.  So, hack up an approximate\nsecinfo response in that case--it may not be complete, but it\u0027ll tell the\nclient at least one acceptable security flavor.\n\nSigned-off-by: \"J. Bruce Fields\" \u003cbfields@citi.umich.edu\u003e\nSigned-off-by: Neil Brown \u003cneilb@suse.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "dcb488a3b7ac3987e21148f44f641c9b2e734232",
      "tree": "edc9fe889094768068d8ea8c214076e40313a297",
      "parents": [
        "ae4c40b1d81f5299c04330306736b2f0f0539f4b"
      ],
      "author": {
        "name": "Andy Adamson",
        "email": "andros@citi.umich.edu",
        "time": "Tue Jul 17 04:04:51 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Tue Jul 17 10:23:08 2007 -0700"
      },
      "message": "knfsd: nfsd4: implement secinfo\n\nImplement the secinfo operation.\n\n(Thanks to Usha Ketineni wrote an earlier version of this support.)\n\nCc: Usha Ketineni \u003cuketinen@us.ibm.com\u003e\nSigned-off-by: Andy Adamson \u003candros@citi.umich.edu\u003e\nSigned-off-by: \"J. Bruce Fields\" \u003cbfields@citi.umich.edu\u003e\nSigned-off-by: Neil Brown \u003cneilb@suse.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "0ec757df9743025f14190d6034d8bd2bf37c2dd1",
      "tree": "77436cbdc8c241aceab2daed243606e17e126771",
      "parents": [
        "32c1eb0cd7ee00b5eb7b6f7059c635fbc1052966"
      ],
      "author": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Tue Jul 17 04:04:48 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Tue Jul 17 10:23:08 2007 -0700"
      },
      "message": "knfsd: nfsd4: make readonly access depend on pseudoflavor\n\nAllow readonly access to vary depending on the pseudoflavor, using the flag\npassed with each pseudoflavor in the export downcall.  The rest of the flags\nare ignored for now, though some day we might also allow id squashing to vary\nbased on the flavor.\n\nSigned-off-by: \"J. Bruce Fields\" \u003cbfields@citi.umich.edu\u003e\nSigned-off-by: Neil Brown \u003cneilb@suse.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "32c1eb0cd7ee00b5eb7b6f7059c635fbc1052966",
      "tree": "c1a15e47d2dd93417b38d374346332809d461bda",
      "parents": [
        "6c0a654dceaa4342270306de77eadb0173dfb58a"
      ],
      "author": {
        "name": "Andy Adamson",
        "email": "andros@citi.umich.edu",
        "time": "Tue Jul 17 04:04:48 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Tue Jul 17 10:23:08 2007 -0700"
      },
      "message": "knfsd: nfsd4: return nfserr_wrongsec\n\nMake the first actual use of the secinfo information by using it to return\nnfserr_wrongsec when an export is found that doesn\u0027t allow the flavor used on\nthis request.\n\nSigned-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\nSigned-off-by: Andy Adamson \u003candros@citi.umich.edu\u003e\nSigned-off-by: Neil Brown \u003cneilb@suse.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "3ab4d8b1215d61736e2a9a26bea7cc2e6b029e3d",
      "tree": "6b256e44c4ed5295dfd55eef8641093b91692559",
      "parents": [
        "0989a7889695831e49e2c53c1884f52645516a90"
      ],
      "author": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Tue Jul 17 04:04:46 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Tue Jul 17 10:23:07 2007 -0700"
      },
      "message": "knfsd: nfsd: set rq_client to ip-address-determined-domain\n\nWe want it to be possible for users to restrict exports both by IP address and\nby pseudoflavor.  The pseudoflavor information has previously been passed\nusing special auth_domains stored in the rq_client field.  After the preceding\npatch that stored the pseudoflavor in rq_pflavor, that\u0027s now superfluous; so\nnow we use rq_client for the ip information, as auth_null and auth_unix do.\n\nHowever, we keep around the special auth_domain in the rq_gssclient field for\nbackwards compatibility purposes, so we can still do upcalls using the old\n\"gss/pseudoflavor\" auth_domain if upcalls using the unix domain to give us an\nappropriate export.  This allows us to continue supporting old mountd.\n\nIn fact, for this first patch, we always use the \"gss/pseudoflavor\"\nauth_domain (and only it) if it is available; thus rq_client is ignored in the\nauth_gss case, and this patch on its own makes no change in behavior; that\nwill be left to later patches.\n\nNote on idmap: I\u0027m almost tempted to just replace the auth_domain in the idmap\nupcall by a dummy value--no version of idmapd has ever used it, and it\u0027s\nunlikely anyone really wants to perform idmapping differently depending on the\nwhere the client is (they may want to perform *credential* mapping\ndifferently, but that\u0027s a different matter--the idmapper just handles id\u0027s\nused in getattr and setattr).  But I\u0027m updating the idmapd code anyway, just\nout of general backwards-compatibility paranoia.\n\nSigned-off-by: \"J. Bruce Fields\" \u003cbfields@citi.umich.edu\u003e\nSigned-off-by: Neil Brown \u003cneilb@suse.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "0989a7889695831e49e2c53c1884f52645516a90",
      "tree": "f2548a7ebdedbe89121c40c0157f5554093fb0d7",
      "parents": [
        "87548c37c8bdbf98aea002c9c04e4dc8aa27fe1b"
      ],
      "author": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Tue Jul 17 04:04:44 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Tue Jul 17 10:23:07 2007 -0700"
      },
      "message": "knfsd: nfsd: provide export lookup wrappers which take a svc_rqst\n\nSplit the callers of exp_get_by_name(), exp_find(), and exp_parent() into\nthose that are processing requests and those that are doing other stuff (like\nlooking up filehandles for mountd).\n\nNo change in behavior, just a (fairly pointless, on its own) cleanup.\n\n(Note this has the effect of making nfsd_cross_mnt() pass rqstp-\u003erq_client\ninstead of exp-\u003eex_client into exp_find_by_name().  However, the two should\nhave the same value at this point.)\n\nSigned-off-by: \"J. Bruce Fields\" \u003cbfields@citi.umich.edu\u003e\nSigned-off-by: Neil Brown \u003cneilb@suse.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "df547efb03e3e8f9ea726e1d07fbbd6fd0706cd7",
      "tree": "ff0b523096d135562dd979af4864ad6846a359c7",
      "parents": [
        "e677bfe4d451f8271986a229270c6eecd1f62b3f"
      ],
      "author": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Tue Jul 17 04:04:43 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Tue Jul 17 10:23:07 2007 -0700"
      },
      "message": "knfsd: nfsd4: simplify exp_pseudoroot arguments\n\nWe\u0027re passing three arguments to exp_pseudoroot, two of which are just fields\nof the svc_rqst.  Soon we\u0027ll want to pass in a third field as well.  So let\u0027s\njust give up and pass in the whole struct svc_rqst.\n\nAlso sneak in some minor style cleanups while we\u0027re at it.\n\nSigned-off-by: \"J. Bruce Fields\" \u003cbfields@citi.umich.edu\u003e\nSigned-off-by: Neil Brown \u003cneilb@suse.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "e677bfe4d451f8271986a229270c6eecd1f62b3f",
      "tree": "75cbbe0a5d853c006d0f9aeab7dcee77148d470c",
      "parents": [
        "c4170583f655dca5da32bd14173d6a93805fc48b"
      ],
      "author": {
        "name": "Andy Adamson",
        "email": "andros@citi.umich.edu",
        "time": "Tue Jul 17 04:04:42 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Tue Jul 17 10:23:07 2007 -0700"
      },
      "message": "knfsd: nfsd4: parse secinfo information in exports downcall\n\nWe add a list of pseudoflavors to each export downcall, which will be used\nboth as a list of security flavors allowed on that export, and (in the order\ngiven) as the list of pseudoflavors to return on secinfo calls.\n\nThis patch parses the new downcall information and adds it to the export\nstructure, but doesn\u0027t use it for anything yet.\n\nSigned-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\nSigned-off-by: Andy Adamson \u003candros@citi.umich.edu\u003e\nSigned-off-by: Neil Brown \u003cneilb@suse.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "c4170583f655dca5da32bd14173d6a93805fc48b",
      "tree": "6dbac34d8dd59af4a2f096a9c842405887c4f027",
      "parents": [
        "42ed95c4e7415714aaab604ae7b1602b87b27b73"
      ],
      "author": {
        "name": "Andy Adamson",
        "email": "andros@citi.umich.edu",
        "time": "Tue Jul 17 04:04:42 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Tue Jul 17 10:23:07 2007 -0700"
      },
      "message": "knfsd: nfsd4: store pseudoflavor in request\n\nAdd a new field to the svc_rqst structure to record the pseudoflavor that the\nrequest was made with.  For now we record the pseudoflavor but don\u0027t use it\nfor anything.\n\nSigned-off-by: Andy Adamson \u003candros@citi.umich.edu\u003e\nSigned-off-by: \"J. Bruce Fields\" \u003cbfields@citi.umich.edu\u003e\nSigned-off-by: Neil Brown \u003cneilb@suse.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "47f9940c55c0bdc65188749cae4e841601f513bb",
      "tree": "ff24a78f815591d8309e368e504347371d96ef60",
      "parents": [
        "c2f1a551dea8b37c2e0cb886885c250fb703e9d8"
      ],
      "author": {
        "name": "Meelap Shah",
        "email": "meelap@umich.edu",
        "time": "Tue Jul 17 04:04:40 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Tue Jul 17 10:23:07 2007 -0700"
      },
      "message": "knfsd: nfsd4: don\u0027t delegate files that have had conflicts\n\nOne more incremental delegation policy improvement: don\u0027t give out a\ndelegation on a file if conflicting access has previously required that a\ndelegation be revoked on that file.  (In practice we\u0027ll forget about the\nconflict when the struct nfs4_file is removed on close, so this is of limited\nuse for now, though it should at least solve a temporary problem with\nself-conflicts on write opens from the same client.)\n\nSigned-off-by: \"J. Bruce Fields\" \u003cbfields@citi.umich.edu\u003e\nSigned-off-by: Neil Brown \u003cneilb@suse.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "c2f1a551dea8b37c2e0cb886885c250fb703e9d8",
      "tree": "11a5f256703d856017ceb2268bd02b7b510dee30",
      "parents": [
        "1e5140279f31e47d58ed6036ee61ba7a65710e63"
      ],
      "author": {
        "name": "Meelap Shah",
        "email": "meelap@umich.edu",
        "time": "Tue Jul 17 04:04:39 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Tue Jul 17 10:23:07 2007 -0700"
      },
      "message": "knfsd: nfsd4: vary maximum delegation limit based on RAM size\n\nOur original NFSv4 delegation policy was to give out a read delegation on any\nopen when it was possible to.\n\nSince the lifetime of a delegation isn\u0027t limited to that of an open, a client\nmay quite reasonably hang on to a delegation as long as it has the inode\ncached.  This becomes an obvious problem the first time a client\u0027s inode cache\napproaches the size of the server\u0027s total memory.\n\nOur first quick solution was to add a hard-coded limit.  This patch makes a\nmild incremental improvement by varying that limit according to the server\u0027s\ntotal memory size, allowing at most 4 delegations per megabyte of RAM.\n\nMy quick back-of-the-envelope calculation finds that in the worst case (where\nevery delegation is for a different inode), a delegation could take about\n1.5K, which would make the worst case usage about 6% of memory.  The new limit\nworks out to be about the same as the old on a 1-gig server.\n\n[akpm@linux-foundation.org: Don\u0027t needlessly bloat vmlinux]\n[akpm@linux-foundation.org: Make it right for highmem machines]\nSigned-off-by: \"J. Bruce Fields\" \u003cbfields@citi.umich.edu\u003e\nSigned-off-by: Neil Brown \u003cneilb@suse.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "1e5140279f31e47d58ed6036ee61ba7a65710e63",
      "tree": "ce2aa52d5f304907d0ed2e6675d576116d605897",
      "parents": [
        "4b2ca38ad6c44ed0442092a829e6e954bf3580af"
      ],
      "author": {
        "name": "J. Bruce Fields",
        "email": "bfields@fieldses.org",
        "time": "Tue Jul 17 04:04:38 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Tue Jul 17 10:23:07 2007 -0700"
      },
      "message": "knfsd: nfsd: remove unused header interface.h\n\nIt looks like Al Viro gutted this header file five years ago and it hasn\u0027t\nbeen touched since.\n\nSigned-off-by: \"J. Bruce Fields\" \u003cbfields@citi.umich.edu\u003e\nSigned-off-by: Neil Brown \u003cneilb@suse.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "33a1060ae7dc671a0208b341bd454009625bb5a6",
      "tree": "67d36de661a951acd19735b86a5e5a6abf5169a2",
      "parents": [
        "9a8db97e7756119689c93c431e8b8324080f5625"
      ],
      "author": {
        "name": "J. Bruce Fields",
        "email": "bfields@fieldses.org",
        "time": "Tue Jul 17 04:04:35 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Tue Jul 17 10:23:07 2007 -0700"
      },
      "message": "knfsd: nfsd4: fix NFSv4 filehandle size units confusion\n\nNFS4_FHSIZE is measured in bytes, not 4-byte words, so much more space than\nnecessary is being allocated for struct nfs4_cb_recall.\n\nI should have wondered why this structure was so much larger than it needed to\nbe!\n\nSigned-off-by: \"J. Bruce Fields\" \u003cbfields@citi.umich.edu\u003e\nSigned-off-by: Neil Brown \u003cneilb@suse.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "9a8db97e7756119689c93c431e8b8324080f5625",
      "tree": "2e0ac28664b02c7e1c7a111c6e60ac059fd92ad8",
      "parents": [
        "12127498c8f5e479df15ee374a0932f5659df49e"
      ],
      "author": {
        "name": "Marc Eshel",
        "email": "eshel@almaden.ibm.com",
        "time": "Tue Jul 17 04:04:35 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Tue Jul 17 10:23:07 2007 -0700"
      },
      "message": "knfsd: lockd: nfsd4: use same grace period for lockd and nfsd4\n\nBoth lockd and (in the nfsv4 case) nfsd enforce a \"grace period\" after reboot,\nduring which clients may reclaim locks from the previous server instance, but\nmay not acquire new locks.\n\nCurrently the lockd and nfsd enforce grace periods of different lengths.  This\nmay cause problems when we reboot a server with both v2/v3 and v4 clients.\nFor example, if the lockd grace period is shorter (as is likely the case),\nthen a v3 client might acquire a new lock that conflicts with a lock already\nheld (but not yet reclaimed) by a v4 client.\n\nThis patch calculates a lease time that lockd and nfsd can both use.\n\nSigned-off-by: Marc Eshel \u003ceshel@almaden.ibm.com\u003e\nSigned-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\nSigned-off-by: Neil Brown \u003cneilb@suse.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "d37065cd6d6bbe98fd4be14d6c9e64c0bfa124c5",
      "tree": "03a996d3d93a4d5ebd737519f7a6f959ecdbce0d",
      "parents": [
        "5ca29607331fe37980dc3b488793ef8b1409b722"
      ],
      "author": {
        "name": "Christoph Hellwig",
        "email": "hch@infradead.org",
        "time": "Tue Jul 17 04:04:30 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Tue Jul 17 10:23:06 2007 -0700"
      },
      "message": "knfsd: exportfs: add procedural interface for NFSD\n\nCurrently NFSD calls directly into filesystems through the export_operations\nstructure.  I plan to change this interface in various ways in later patches,\nand want to avoid the export of the default operations to NFSD, so this patch\nadds two simple exportfs_encode_fh/exportfs_decode_fh helpers for NFSD to call\ninstead of poking into exportfs guts.\n\nSigned-off-by: Christoph Hellwig \u003chch@lst.de\u003e\nSigned-off-by: Neil Brown \u003cneilb@suse.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "5ca29607331fe37980dc3b488793ef8b1409b722",
      "tree": "cf4e5ad786aeebc8d82d1b867ab3d91d0cb4b824",
      "parents": [
        "a569425512253992cc64ebf8b6d00a62f986db3e"
      ],
      "author": {
        "name": "Christoph Hellwig",
        "email": "hch@infradead.org",
        "time": "Tue Jul 17 04:04:29 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Tue Jul 17 10:23:06 2007 -0700"
      },
      "message": "knfsd: exportfs: remove iget abuse\n\nWhen the exportfs interface was added the expectation was that filesystems\nprovide an operation to convert from a file handle to an inode/dentry, but it\nkept a backwards compat option that still calls into iget.\n\nCalling into iget from non-filesystem code is very bad, because it gives too\nlittle information to filesystem, and simply crashes if the filesystem doesn\u0027t\nimplement the -\u003eread_inode routine.\n\nFortunately there are only two filesystems left using this fallback: efs and\njfs.  This patch moves a copy of export_iget to each of those to implement the\nget_dentry method.\n\nWhile this is a temporary increase of lines of code in the kernel it allows\nfor a much cleaner interface and important code restructuring in later\npatches.\n\n[akpm@linux-foundation.org: add jfs_get_inode_flags() declaration]\nSigned-off-by: Dave Kleikamp \u003cshaggy@linux.vnet.ibm.com\u003e\nSigned-off-by: Christoph Hellwig \u003chch@lst.de\u003e\nSigned-off-by: Neil Brown \u003cneilb@suse.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "a569425512253992cc64ebf8b6d00a62f986db3e",
      "tree": "7ea72c75c54697bddbad807af89cc549d7426a69",
      "parents": [
        "6dd4ac3b30b81b5bd0d628af1c89b7da689a38ea"
      ],
      "author": {
        "name": "Christoph Hellwig",
        "email": "hch@infradead.org",
        "time": "Tue Jul 17 04:04:28 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Tue Jul 17 10:23:06 2007 -0700"
      },
      "message": "knfsd: exportfs: add exportfs.h header\n\ncurrently the export_operation structure and helpers related to it are in\nfs.h.  fs.h is already far too large and there are very few places needing the\nexport bits, so split them off into a separate header.\n\n[akpm@linux-foundation.org: fix cifs build]\nSigned-off-by: Christoph Hellwig \u003chch@lst.de\u003e\nSigned-off-by: Neil Brown \u003cneilb@suse.de\u003e\nCc: Steven French \u003csfrench@us.ibm.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "67837f232d6d55be99d6e0dec4ea9bb8112840cd",
      "tree": "031713a5ce68712d3df3bab5eafdb52fdd829d04",
      "parents": [
        "940408289842677cfe9e053a6c423bf3fb922560"
      ],
      "author": {
        "name": "Matthias Kaehlcke",
        "email": "matthias.kaehlcke@gmail.com",
        "time": "Tue Jul 17 04:04:16 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Tue Jul 17 10:23:05 2007 -0700"
      },
      "message": "Use mutex instead of semaphore in CAPI 2.0 driver\n\nThe CAPI 2.0 driver uses a semaphore as mutex.  Use the mutex API instead of\nthe (binary) semaphore.\n\nSigned-off-by: Matthias Kaehlcke \u003cmatthias.kaehlcke@gmail.com\u003e\nAcked-by: Karsten Keil \u003ckkeil@suse.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    }
  ],
  "next": "f29ba280ecb46331c1f6842b094808af01131422"
}
