)]}'
{
  "log": [
    {
      "commit": "6a211bf1fc63891bfbc510d9caa751c4dee4bc37",
      "tree": "9f243de62a131b59520c0bf592332f73a2f93a99",
      "parents": [
        "fe9f6342c86292aee1941447f22dc5470735e5a1"
      ],
      "author": {
        "name": "Johannes Berg",
        "email": "johannes@sipsolutions.net",
        "time": "Thu Sep 17 10:19:23 2009 -0700"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Wed Sep 23 11:35:53 2009 -0400"
      },
      "message": "mac80211: fix DTIM setting\n\nWhen the DTIM setting is read from beacons, mac80211 will\nassume it is 1 if the TIM IE is not present or the value\nis 0. This sounds fine, but the same function processes\nprobe responses as well, which don\u0027t have a TIM IE. This\nleads to overwriting any values previously parsed out of\nbeacon frames.\n\nThus, instead of checking for the presence of the TIM IE\nwhen setting the default, simply check whether the DTIM\nperiod value is valid already. If the TIM IE is not there\nthen the value cannot be valid (it is initialised to 0)\nand probe responses received after beacons will not lead\nto overwriting an already valid value.\n\nSigned-off-by: Johannes Berg \u003cjohannes@sipsolutions.net\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "fe9f6342c86292aee1941447f22dc5470735e5a1",
      "tree": "1a51adcc683802f20cad9add0b1963253f5d6945",
      "parents": [
        "a3ca95fbe488b9cc6edd4903c609b19ba0365efc"
      ],
      "author": {
        "name": "Christian Lamparter",
        "email": "chunkeey@googlemail.com",
        "time": "Thu Sep 17 13:46:53 2009 +0200"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Wed Sep 23 11:35:53 2009 -0400"
      },
      "message": "ar9170usb: add usbid for TP-Link TL-WN821N v2\n\nThis patch adds the usbid for TP-Link TL-WN821N v2.\n\nCc: stable@kernel.org\nReported-by: Fabian Lenz \u003clenz_fabian@yahoo.de\u003e\nSigned-off-by: Christian Lamparter \u003cchunkeey@googlemail.com\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "a3ca95fbe488b9cc6edd4903c609b19ba0365efc",
      "tree": "79e373bc613bff502ac7076c3ddbe6c6eaa9cad0",
      "parents": [
        "edbf51f65eefb952a03c00eadefa9aa48580fcc6"
      ],
      "author": {
        "name": "Vivek Natarajan",
        "email": "vnatarajan@atheros.com",
        "time": "Thu Sep 17 09:29:07 2009 +0530"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Wed Sep 23 11:35:53 2009 -0400"
      },
      "message": "ath9k: Disable autosleep feature by default.\n\nAutosleep needs to be disabled for AR9287 chipsets also.\nSince autosleep is not used for any of the currently supported\nchipsets, disable it by default and can be enabled if needed\nfor any of the future chipsets.\n\nSigned-off-by: Vivek Natarajan \u003cvnatarajan@atheros.com\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "edbf51f65eefb952a03c00eadefa9aa48580fcc6",
      "tree": "c34b44424047962e65c9b71e4d2e7dbf3d2ee7d1",
      "parents": [
        "d865ca6c147552a1c38161e2e262c4ab59e762d6"
      ],
      "author": {
        "name": "Sujith",
        "email": "Sujith.Manoharan@atheros.com",
        "time": "Thu Sep 17 09:28:41 2009 +0530"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Wed Sep 23 11:35:52 2009 -0400"
      },
      "message": "ath9k: Fix regression in PA calibration\n\nThe commit \"ath9k: Fix bugs in programming registers during PA CAL\"\nremoved a REG_READ of 0x7834. This resulted in incorrect\ncomputation of the subsequent value to be written in RF2G6.\n\nThis patch fixes the regression by re-adding the REG_READ.\n\nSigned-off-by: Sujith \u003cSujith.Manoharan@atheros.com\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "d865ca6c147552a1c38161e2e262c4ab59e762d6",
      "tree": "9017954e64712795781af5f2513843039350fa46",
      "parents": [
        "42abfbee23bf86e2c74d569b7ddd040d29782c5a"
      ],
      "author": {
        "name": "Senthil Balasubramanian",
        "email": "senthilkumar@atheros.com",
        "time": "Thu Sep 17 09:28:21 2009 +0530"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Wed Sep 23 11:35:52 2009 -0400"
      },
      "message": "ath9k: Fix bug in chain handling\n\n* This patch fixes a bug in calculating the scaled\n  power for three chain chipsets.\n\n* Also, a delay is needed after setting DAC low-power mode in\n  TOP1 RF register (Top Level Register Bits).\n\nSigned-off-by: Senthil Balasubramanian \u003csenthilkumar@atheros.com\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "42abfbee23bf86e2c74d569b7ddd040d29782c5a",
      "tree": "7349cd777711c76062d700e78614c844040e6729",
      "parents": [
        "ce143bb04491a586ec95798711dee7fd43fbe042"
      ],
      "author": {
        "name": "Vivek Natarajan",
        "email": "vnatarajan@atheros.com",
        "time": "Thu Sep 17 09:27:59 2009 +0530"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Wed Sep 23 11:35:52 2009 -0400"
      },
      "message": "ath9k: Fix AHB reset for AR9280\n\nThe commit \"ath9k: Do an AHB reset before doing RTC reset\"\nfixed RTC reset issue for AR9280 2.0 chipsets and above.\nThe fix is valid for all AR9280 chipsets.\n\nSigned-off-by: Vivek Natarajan \u003cvnatarajan@atheros.com\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "ce143bb04491a586ec95798711dee7fd43fbe042",
      "tree": "1ff8e227adcfc1e519959c0ee4f45ffc298682cd",
      "parents": [
        "0a475cc6a0ac8e38ac3587cff87026551800b7fe"
      ],
      "author": {
        "name": "Senthil Balasubramanian",
        "email": "senthilkumar@atheros.com",
        "time": "Thu Sep 17 09:27:33 2009 +0530"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Wed Sep 23 11:35:52 2009 -0400"
      },
      "message": "ath9k: Adjust the chainmasks properly\n\nThis is needed to account for the number of chains in use,\nnot just the number of chains present.\n\nSigned-off-by: Senthil Balasubramanian \u003csenthilkumar@atheros.com\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "0a475cc6a0ac8e38ac3587cff87026551800b7fe",
      "tree": "10311e8d48873fe93b8eb2edb9cb2491b44cbcf9",
      "parents": [
        "9ebef7997d0c131a8d53c045bff68becddd58124"
      ],
      "author": {
        "name": "Vasanthakumar Thiagarajan",
        "email": "vasanth@atheros.com",
        "time": "Thu Sep 17 09:27:10 2009 +0530"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Wed Sep 23 11:35:52 2009 -0400"
      },
      "message": "ath9k: Do a full reset for AR9280\n\nAR9280 requires a full reset during channel change and HW reset.\nCurrently, a fast channel change is done. This patch fixes\nthis bug.\n\nSigned-off-by: Vasanthakumar Thiagarajan \u003cvasanth@atheros.com\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "9ebef7997d0c131a8d53c045bff68becddd58124",
      "tree": "311109971c91b2550f487a04b9309b12642bb16e",
      "parents": [
        "204d794086f26a7b191d9a9c3483af8b81362b16"
      ],
      "author": {
        "name": "Vasanthakumar Thiagarajan",
        "email": "vasanth@atheros.com",
        "time": "Thu Sep 17 09:26:44 2009 +0530"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Wed Sep 23 11:35:52 2009 -0400"
      },
      "message": "ath9k: Don\u0027t read NF when chip has gone through full sleep mode\n\nNF value may be incorrect when we read it just after the chip\nhas gone through a full sleep mode. Reading incorrect NF values\naffects RX throughput.\n\nSigned-off-by: Vasanthakumar Thiagarajan \u003cvasanth@atheros.com\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "204d794086f26a7b191d9a9c3483af8b81362b16",
      "tree": "797644f85b2cb78d6681b68479a102ccfd0ad88b",
      "parents": [
        "d8caa83967d62c05f406d34abaaf2e1baa172c6c"
      ],
      "author": {
        "name": "Vasanthakumar Thiagarajan",
        "email": "vasanth@atheros.com",
        "time": "Thu Sep 17 09:26:14 2009 +0530"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Wed Sep 23 11:35:51 2009 -0400"
      },
      "message": "ath9k: Fix rx data corruption\n\nSetting bit 20 and 25 of 0x8344 can cause occasional rx data\ncorruption, clear them to fix this issue.\n\nSigned-off-by: Vasanthakumar Thiagarajan \u003cvasanth@atheros.com\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "d8caa83967d62c05f406d34abaaf2e1baa172c6c",
      "tree": "747f3b9de52d0c48b08782ddcdbe634394f424d5",
      "parents": [
        "46fe782c97f5e54a02485ad97b2e6256386a8c8f"
      ],
      "author": {
        "name": "Sujith",
        "email": "Sujith.Manoharan@atheros.com",
        "time": "Thu Sep 17 09:25:45 2009 +0530"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Wed Sep 23 11:35:51 2009 -0400"
      },
      "message": "ath9k: Fix chip wakeup issue\n\nWaking up the chip after powering it down fails sometimes.\nIn this case the CPU is locked for 200ms. Reduce this\ninterval to 10ms to avoid excessive busy looping.\n\nSigned-off-by: Sujith \u003cSujith.Manoharan@atheros.com\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "46fe782c97f5e54a02485ad97b2e6256386a8c8f",
      "tree": "7cf464de9b45e2b600d39d5f80188b36d69bb9f0",
      "parents": [
        "93b1b37f6a4de8bce17f55d9cfa10ef5c8c04e8a"
      ],
      "author": {
        "name": "Sujith",
        "email": "Sujith.Manoharan@atheros.com",
        "time": "Thu Sep 17 09:25:25 2009 +0530"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Wed Sep 23 11:35:51 2009 -0400"
      },
      "message": "ath9k: Restore TSF after RESET\n\nFor chips requiring RTC reset, TSF has to be restored\nafter power on reset.\n\nSigned-off-by: Sujith \u003cSujith.Manoharan@atheros.com\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "93b1b37f6a4de8bce17f55d9cfa10ef5c8c04e8a",
      "tree": "16405891b20c8d73e80812d525ec45a9f71255f5",
      "parents": [
        "6170cd5c72399f8536412ac75cba29cddc9919fb"
      ],
      "author": {
        "name": "Vivek Natarajan",
        "email": "vnatarajan@atheros.com",
        "time": "Thu Sep 17 09:24:58 2009 +0530"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Wed Sep 23 11:35:50 2009 -0400"
      },
      "message": "ath9k: Revamp PCIE workarounds\n\n* Disable L1 state ONLY when device is in D3 mode.\n* Clear bit 22 of register 0x4004.\n* Handle power on/off properly\n\nNot setting the workarounds properly resulted in the\ndisappearance of the card in certain cases.\n\nSigned-off-by: Vivek Natarajan \u003cvnatarajan@atheros.com\u003e\nSigned-off-by: Sujith \u003cSujith.Manoharan@atheros.com\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "6170cd5c72399f8536412ac75cba29cddc9919fb",
      "tree": "ef1db141a0b1738da9e49a21dc2a7ab810be68c7",
      "parents": [
        "692e565e4b07ed872e6de5e1e3a6ae5b950e0369"
      ],
      "author": {
        "name": "Vivek Natarajan",
        "email": "vnatarajan@atheros.com",
        "time": "Thu Sep 17 09:24:24 2009 +0530"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Wed Sep 23 11:35:45 2009 -0400"
      },
      "message": "ath9k: Set default noise floor value for AR9287\n\nThe default noise floor was never initialized for\nAR9287.This patch helps in reporting the correct\nRSSI for this version of chipset.\n\nSigned-off-by: Vivek Natarajan \u003cvnatarajan@atheros.com\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "692e565e4b07ed872e6de5e1e3a6ae5b950e0369",
      "tree": "bd1abc68ef3fae69d936203230fa343a3ce295ca",
      "parents": [
        "4963cceea830f6afa65f0b921cfaff6765ac7748"
      ],
      "author": {
        "name": "Larry Finger",
        "email": "Larry.Finger@lwfinger.net",
        "time": "Mon Sep 21 17:59:27 2009 -0500"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Wed Sep 23 11:35:45 2009 -0400"
      },
      "message": "b43: Implement RFKILL status for LP PHY\n\nThe LP (and probably N) PHY has the same radio disabled bit as\nthe higher-revision A and G PHYs.\n\nSigned-off-by: Larry Finger \u003cLarry.Finger@lwfinger.net\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "4963cceea830f6afa65f0b921cfaff6765ac7748",
      "tree": "41718bddeb7be656c7f619461cd18210a96099e2",
      "parents": [
        "82905ace22614fe220875fc5748b1afbac868a76"
      ],
      "author": {
        "name": "Michael Buesch",
        "email": "mb@bu3sch.de",
        "time": "Wed Sep 16 01:13:57 2009 +0200"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Wed Sep 23 11:35:45 2009 -0400"
      },
      "message": "b43: Remove BROKEN attribute from SDIO\n\nSDIO works (more or less), so remove the BROKEN dependency and\nlet people test it.\n\nSigned-off-by: Michael Buesch \u003cmb@bu3sch.de\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "82905ace22614fe220875fc5748b1afbac868a76",
      "tree": "c6b896a3c1a1fa917279750604a0421086545827",
      "parents": [
        "e899a3f232125c393cdf7f7bf6533501ef8808fb"
      ],
      "author": {
        "name": "Albert Herranz",
        "email": "albert_herranz@yahoo.es",
        "time": "Wed Sep 16 00:26:19 2009 +0200"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Wed Sep 23 11:35:45 2009 -0400"
      },
      "message": "b43: fix build error if !CONFIG_B43_LEDS\n\nFix the following build error when CONFIG_B43_LEDS is not selected:\n\ndrivers/net/wireless/b43/main.c: In function \u0027b43_remove\u0027:\ndrivers/net/wireless/b43/main.c:4990: error: \u0027struct b43_leds\u0027 has no member named \u0027stop\u0027\ndrivers/net/wireless/b43/main.c:4991: error: \u0027struct b43_leds\u0027 has no member named \u0027work\u0027\nmake[4]: *** [drivers/net/wireless/b43/main.o] Error 1\n\nSigned-off-by: Albert Herranz \u003calbert_herranz@yahoo.es\u003e\nSigned-off-by: Michael Buesch \u003cmb@bu3sch.de\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "e899a3f232125c393cdf7f7bf6533501ef8808fb",
      "tree": "bf6dae95b5e9da612ccdc24f56807c66ca310d0a",
      "parents": [
        "9308779aad721cab8434fd5f98d3c85d3716fdec"
      ],
      "author": {
        "name": "Michael Buesch",
        "email": "mb@bu3sch.de",
        "time": "Mon Sep 14 23:22:08 2009 +0200"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Wed Sep 23 11:35:45 2009 -0400"
      },
      "message": "b43: Don\u0027t abuse wl-\u003ecurrent_dev in the led work\n\nDon\u0027t abuse wl-\u003ecurrent_dev in the LED work for checking whether we\u0027re\ngoing down. Add an explicit variable.\nThis fixes a crash on rmmod dereferencing the wl-\u003ecurrent_dev NULL pointer\nin various other places of the driver.\n\nSigned-off-by: Michael Buesch \u003cmb@bu3sch.de\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "9308779aad721cab8434fd5f98d3c85d3716fdec",
      "tree": "58f8f403682c82553c85e7726f28735ad2f2d431",
      "parents": [
        "09ebe2f94373e95952ed6340b0a5d21739eb99da"
      ],
      "author": {
        "name": "Thomas Ilnseher",
        "email": "illth@gmx.de",
        "time": "Mon Sep 14 23:01:33 2009 +0200"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Wed Sep 23 11:35:44 2009 -0400"
      },
      "message": "b43: Add LP PHY Analog Switch Support\n\nThe current verison of b43 uses \"b43_phyop_switch_analog_generic\" for A,\nG and LP phys.\n\nAccording to the spec, this is the wrong behaviour for the LP PHY\n(see: http://bcm-v4.sipsolutions.net/802.11/PHY/Anacore )\n\nWhile no problems on the x86 plattform where seen, this leads to a crash\non the BCM5354 SoC (MIPS 32 LE plattform).\nThis patch implements the analog switch for LP PHYs according to the\nspecs. It fixes the crash\n\nsigned-off-by: Thomas Ilnseher \u003cillth@gmx.de\u003e\n\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "09ebe2f94373e95952ed6340b0a5d21739eb99da",
      "tree": "514473303a20ab15fa1ef5100a00c79ac3ad443e",
      "parents": [
        "990b86f4f9c54f83085d4136498ac44719b17654"
      ],
      "author": {
        "name": "Michael Buesch",
        "email": "mb@bu3sch.de",
        "time": "Sat Sep 12 00:52:48 2009 +0200"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Wed Sep 23 11:35:44 2009 -0400"
      },
      "message": "b43: Disable PMQ mechanism\n\nThis reduces IRQ pressure by about one third on a saturated link\nby disabling the PMQ mechanism. We currently don\u0027t use that mechanism.\n\nSigned-off-by: Michael Buesch \u003cmb@bu3sch.de\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "990b86f4f9c54f83085d4136498ac44719b17654",
      "tree": "08e71a5293f53c1d8aec45be80d99ba1a1d41872",
      "parents": [
        "176e9f6a4cf4b1bf66d18243ede0938a35c81541"
      ],
      "author": {
        "name": "Michael Buesch",
        "email": "mb@bu3sch.de",
        "time": "Sat Sep 12 00:48:03 2009 +0200"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Wed Sep 23 11:35:44 2009 -0400"
      },
      "message": "b43: Add optional verbose runtime statistics\n\nThis adds support for verbose runtime statistics.\nIt defaults to off and must be enabled in debugfs, if desired.\nThe first measurement may be incorrect, because statistics are not cleared\nafter they got enabled through debugfs.\n\nSigned-off-by: Michael Buesch \u003cmb@bu3sch.de\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "176e9f6a4cf4b1bf66d18243ede0938a35c81541",
      "tree": "6cf1f0afdafb61e329b5d74426a83eb4ac3ca744",
      "parents": [
        "a8696c800b8154e27b359866f7b837079cdb513a"
      ],
      "author": {
        "name": "Michael Buesch",
        "email": "mb@bu3sch.de",
        "time": "Fri Sep 11 23:04:04 2009 +0200"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Wed Sep 23 11:35:44 2009 -0400"
      },
      "message": "b43: Fix IRQ sync for SDIO\n\nsynchronize_irq is meaningless for SDIO. sdio_release_irq will\nsync the IRQ thread for us.\n\nSigned-off-by: Michael Buesch \u003cmb@bu3sch.de\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "a8696c800b8154e27b359866f7b837079cdb513a",
      "tree": "6407ebbe05d64a5f070faac02b3464102e572661",
      "parents": [
        "ce6c4a13927bc0418169fe543c6614abfab051eb"
      ],
      "author": {
        "name": "Michael Buesch",
        "email": "mb@bu3sch.de",
        "time": "Fri Sep 11 16:00:19 2009 +0200"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Wed Sep 23 11:35:44 2009 -0400"
      },
      "message": "b43: Fix SDIO interrupt handler deadlock\n\nWe need to release the SDIO host before locking the driver mutex.\n\nSigned-off-by: Michael Buesch \u003cmb@bu3sch.de\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "ce6c4a13927bc0418169fe543c6614abfab051eb",
      "tree": "3e441638172b36bda4685c699ec80aee33141fc7",
      "parents": [
        "3dbba8e281552da640080f08a0f127d48456669f"
      ],
      "author": {
        "name": "Michael Buesch",
        "email": "mb@bu3sch.de",
        "time": "Thu Sep 10 20:22:02 2009 +0200"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Wed Sep 23 11:35:43 2009 -0400"
      },
      "message": "b43: Do not use _irqsafe callbacks\n\nWe don\u0027t need to call the irqsafe callbacks.\n\nSigned-off-by: Michael Buesch \u003cmb@bu3sch.de\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "3dbba8e281552da640080f08a0f127d48456669f",
      "tree": "111f1db7448c7e3214e02e6d09d7e8f285727188",
      "parents": [
        "a78b3bb2f3ab9afcf78dbcff18fd7bf900c7c27e"
      ],
      "author": {
        "name": "Albert Herranz",
        "email": "albert_herranz@yahoo.es",
        "time": "Thu Sep 10 19:34:49 2009 +0200"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Wed Sep 23 11:35:43 2009 -0400"
      },
      "message": "b43: Add Soft-MAC SDIO device support\n\nThis adds support for Soft-MAC SDIO devices to b43.\nThe driver still lacks some fixes for SDIO devices, so it\u0027s currently\nmarked as BROKEN.\n\nSigned-off-by: Albert Herranz \u003calbert_herranz@yahoo.es\u003e\nSigned-off-by: Michael Buesch \u003cmb@bu3sch.de\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "a78b3bb2f3ab9afcf78dbcff18fd7bf900c7c27e",
      "tree": "708cf458e4b2c97c26fad18aea8693599723212c",
      "parents": [
        "90c215c47675be42f164a4bac282666753e09225"
      ],
      "author": {
        "name": "Michael Buesch",
        "email": "mb@bu3sch.de",
        "time": "Fri Sep 11 21:44:05 2009 +0200"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Wed Sep 23 11:35:43 2009 -0400"
      },
      "message": "b43: Rewrite suspend/resume code\n\nThis removes most of the b43 suspend/resume code (it\u0027s handled by mac80211)\nand moves the registration of devices to the attachment phase. This is\nrequired, because we must not register/unregister devices on suspend/resume.\n\nSigned-off-by: Michael Buesch \u003cmb@bu3sch.de\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "90c215c47675be42f164a4bac282666753e09225",
      "tree": "52c1e1bef91bf7bc52c7342d12da15225b9827b5",
      "parents": [
        "909a203566a75d26c65370d7dd933fa513d47990"
      ],
      "author": {
        "name": "Johannes Berg",
        "email": "johannes@sipsolutions.net",
        "time": "Wed Sep 16 09:04:26 2009 -0700"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Wed Sep 23 11:35:43 2009 -0400"
      },
      "message": "cfg80211: fix SME connect\n\nThere\u0027s a check saying\n\t/* we\u0027re good if we have both BSSID and channel */\n\tif (wdev-\u003econn-\u003eparams.bssid \u0026\u0026 wdev-\u003econn-\u003eparams.channel) {\n\nbut that isn\u0027t true -- we need the BSS struct. This leads\nto errors such as\n\n    Trying to associate with 00:1b:53:11:dc:40 (SSID\u003d\u0027TEST\u0027 freq\u003d2412 MHz)\n    ioctl[SIOCSIWFREQ]: No such file or directory\n    ioctl[SIOCSIWESSID]: No such file or directory\n    Association request to the driver failed\n    Associated with 00:1b:53:11:dc:40\n\nin wpa_supplicant, as reported by Holger.\n\nInstead, we really need to have the BSS struct, and if we\ndon\u0027t, then we need to initiate a scan for it. But we may\nalready have the BSS struct here, so hang on to it if we\ndo and scan if we don\u0027t.\n\nSigned-off-by: Johannes Berg \u003cjohannes@sipsolutions.net\u003e\nTested-by: Holger Schurig \u003chs4233@mail.mn-solutions.de\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "909a203566a75d26c65370d7dd933fa513d47990",
      "tree": "c77fc25740fa2c4061911b9551b3031f51c2c13e",
      "parents": [
        "71702bc13efd3238e02197780d6e62c51c196a9d"
      ],
      "author": {
        "name": "Pavel Roskin",
        "email": "proski@gnu.org",
        "time": "Tue Sep 15 22:24:30 2009 -0400"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Wed Sep 23 11:35:42 2009 -0400"
      },
      "message": "rc80211_minstrel: fix contention window calculation\n\nThe contention window is supposed to be a power of two minus one, i.e.\n15, 31, 63, 127...  minstrel_rate_init() forgets to subtract 1, so the\nsequence becomes 15, 32, 66, 134...\n\nBug reported by Dan Halperin \u003cdhalperi@cs.washington.edu\u003e\n\nSigned-off-by: Pavel Roskin \u003cproski@gnu.org\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "71702bc13efd3238e02197780d6e62c51c196a9d",
      "tree": "a414356c4ea1f885d168e9c0018e0b011b962b1e",
      "parents": [
        "c3de943ad6e535ceb5238b3b7d3903c6e294061a"
      ],
      "author": {
        "name": "Randy Dunlap",
        "email": "randy.dunlap@oracle.com",
        "time": "Tue Sep 15 14:52:40 2009 -0700"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Wed Sep 23 11:35:41 2009 -0400"
      },
      "message": "ssb/sdio: fix printk format warnings\n\nFix printk format warnings:\n\ndrivers/ssb/sdio.c:336: warning: format \u0027%u\u0027 expects type \u0027unsigned int\u0027, but argument 7 has type \u0027size_t\u0027\ndrivers/ssb/sdio.c:443: warning: format \u0027%u\u0027 expects type \u0027unsigned int\u0027, but argument 7 has type \u0027size_t\u0027\n\nSigned-off-by: Randy Dunlap \u003crandy.dunlap@oracle.com\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "c3de943ad6e535ceb5238b3b7d3903c6e294061a",
      "tree": "3e4943e694410c83e472fe3d4c94b0d7c4ccf4c6",
      "parents": [
        "d45b90ddee58db8caa3b06c3709b73dd0444559c"
      ],
      "author": {
        "name": "Christian Lamparter",
        "email": "chunkeey@googlemail.com",
        "time": "Mon Sep 14 23:08:43 2009 +0200"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Wed Sep 23 11:35:41 2009 -0400"
      },
      "message": "p54usb: add Zcomax XG-705A usbid\n\nThis patch adds a new usbid for Zcomax XG-705A to the device table.\n\nCc: stable@kernel.org\nReported-by: Jari Jaakola \u003cjari.jaakola@gmail.com\u003e\nSigned-off-by: Christian Lamparter \u003cchunkeey@googlemail.com\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "d45b90ddee58db8caa3b06c3709b73dd0444559c",
      "tree": "da14d2de642dbae0d4085dbd0166f2b329ecbc46",
      "parents": [
        "96d8c6af24bcacb16f18fc88fb7f2de1a59c09d6"
      ],
      "author": {
        "name": "Larry Finger",
        "email": "Larry.Finger@lwfinger.net",
        "time": "Sun Sep 13 15:55:13 2009 -0500"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Wed Sep 23 11:35:41 2009 -0400"
      },
      "message": "ssb: Fix error when V1 SPROM extraction is forced\n\nWhen an SPROM revision is not recognized, the code falls back to a V1\nSPROM; however, that revision is not forced in the appropriate structure.\n\nSigned-off-by: Larry Finger \u003cLarry.Finger@lwfinger.net\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "96d8c6af24bcacb16f18fc88fb7f2de1a59c09d6",
      "tree": "04eb4d69f0dfca3e043505c8a69ef10b2be79adf",
      "parents": [
        "4a86eaa46dbaf26498bcf0bb3535d4fd36a32858"
      ],
      "author": {
        "name": "Johannes Berg",
        "email": "johannes@sipsolutions.net",
        "time": "Fri Sep 11 10:50:37 2009 -0700"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Wed Sep 23 11:35:40 2009 -0400"
      },
      "message": "iwlwifi: disable powersave for 4965\n\nThere\u0027s a bug in 4965 powersave that appears to\nbe related to the way it keeps track of its data\nduring sleep, but we haven\u0027t found it yet. Due to\nthat, using powersave may spontaneously cause the\ndevice to SYSASSERT when transitioning from sleep\nto wake. Therefore, disable powersave for 4965,\nuntil (if ever, unfortunately) we can identify\nand fix the problem.\n\nCf. http://bugzilla.intellinuxwireless.org/show_bug.cgi?id\u003d1982\nwhich was closed, but now has re-appeared with\nIDLE mode, which probably means we never really\nfixed it.\n\nSigned-off-by: Johannes Berg \u003cjohannes@sipsolutions.net\u003e\nSigned-off-by: Reinette Chatre \u003creinette.chatre@intel.com\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "4a86eaa46dbaf26498bcf0bb3535d4fd36a32858",
      "tree": "0e9fd6179e6349525b63f48d55ed30d891054511",
      "parents": [
        "de0bd50845eb5935ce3d503c5d2f565d6cb9ece1"
      ],
      "author": {
        "name": "Wey-Yi Guy",
        "email": "wey-yi.w.guy@intel.com",
        "time": "Fri Sep 11 10:38:18 2009 -0700"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Wed Sep 23 11:35:40 2009 -0400"
      },
      "message": "iwlwifi: find the correct first antenna\n\nWe can not assume antenna \"A\" is the first valid anttena for\nall the NIC. Need to make sure choice the correct antenna based on\nh/w configuration for transmit to avoid sending frame on invalid\nantenna\n\nSigned-off-by: Wey-Yi Guy \u003cwey-yi.w.guy@intel.com\u003e\nSigned-off-by: Reinette Chatre \u003creinette.chatre@intel.com\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "de0bd50845eb5935ce3d503c5d2f565d6cb9ece1",
      "tree": "11403d40a5985886bf5fa04f6006654e11130c83",
      "parents": [
        "c929c5a1281b666fabc9aa94c607932ec6d28c6d"
      ],
      "author": {
        "name": "Reinette Chatre",
        "email": "reinette.chatre@intel.com",
        "time": "Fri Sep 11 10:38:12 2009 -0700"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Wed Sep 23 11:35:40 2009 -0400"
      },
      "message": "iwlwifi: fix potential rx buffer loss\n\nRX handling maintains a few lists that keep track of the RX buffers.\nBuffers move from one list to the other as they are used, replenished, and\nagain made available for usage. In one such instance, when a buffer is used\nit enters the \"rx_used\" list. When buffers are replenished an skb is\nattached to the buffer and it is moved to the \"rx_free\" list. The problem\nhere is that the buffer is first removed from the \"rx_used\" list _before_ the\nskb is allocated. Thus, if the skb allocation fails this buffer remains\nremoved from the \"rx_used\" list and is thus lost for future usage.\n\nFix this by first allocating the skb before trying to attach it to a list.\nWe add an additional check to not do this unnecessarily.\n\nReported-by: Rick Farrington \u003crickdic@hotmail.com\u003e\nSigned-off-by: Reinette Chatre \u003creinette.chatre@intel.com\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "c929c5a1281b666fabc9aa94c607932ec6d28c6d",
      "tree": "c82c4f1fff737022de09ff362a230c81acd3ced5",
      "parents": [
        "91d372c0afc55faf44c1b763693f089b5dad31ec"
      ],
      "author": {
        "name": "Daniel C Halperin",
        "email": "daniel.c.halperin@intel.com",
        "time": "Fri Sep 11 10:38:08 2009 -0700"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Wed Sep 23 11:35:40 2009 -0400"
      },
      "message": "iwlwifi: fix HT operation in 2.4 GHz band\n\nWhen we cleaned up the driver to properly tell mac80211 about HT rates\n(\"iwlwifi: use iwl_hwrate_get_mac80211_idx where appropriate\"), we broke\ninternal rate indexing in 2.4 GHz band.\n\nSigned-off-by: Daniel C Halperin \u003cdaniel.c.halperin@intel.com\u003e\nTested-by: Wey-Yi Guy \u003cwey-yi.w.guy@intel.com\u003e\nSigned-off-by: Reinette Chatre \u003creinette.chatre@intel.com\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "91d372c0afc55faf44c1b763693f089b5dad31ec",
      "tree": "f011236408ca3bcb2d9f832d9f9fcfe29228d333",
      "parents": [
        "44fdd375cd8bb3544f9832b4a42df497d180feb2"
      ],
      "author": {
        "name": "Michael Buesch",
        "email": "mb@bu3sch.de",
        "time": "Fri Sep 11 18:31:32 2009 +0200"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Wed Sep 23 11:35:40 2009 -0400"
      },
      "message": "b43: Fix resume failure\n\nThis fixes a resume failure where a signal is pending on resume\nso the firmware upload fails.\nThis removes the interruptible sleep, because we don\u0027t really need it.\nIn the worst case (with broken firmware) the sleep loop will take 1 second.\nIn the common case (working firmware), it will only take a few milliseconds.\nSo we don\u0027t really need to be interruptible.\n\nSigned-off-by: Michael Buesch \u003cmb@bu3sch.de\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "44fdd375cd8bb3544f9832b4a42df497d180feb2",
      "tree": "f66e3a21b8989aa324bca317f7bd8f8f137779b2",
      "parents": [
        "7ab44f17bc5b16ab1b4fc4dad4a0667c21e727b5"
      ],
      "author": {
        "name": "Michael Buesch",
        "email": "mb@bu3sch.de",
        "time": "Fri Sep 11 16:08:06 2009 +0200"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Wed Sep 23 11:35:40 2009 -0400"
      },
      "message": "ssb: Disable verbose SDIO coreswitch\n\nDisable SDIO coreswitch debugging.\n\nSigned-off-by: Michael Buesch \u003cmb@bu3sch.de\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "7ab44f17bc5b16ab1b4fc4dad4a0667c21e727b5",
      "tree": "d7278ee1eead5508b98f350da906c7c034dc80db",
      "parents": [
        "012a1b3e5e3561376dacf07efee15688284302c6"
      ],
      "author": {
        "name": "Luis R. Rodriguez",
        "email": "lrodriguez@atheros.com",
        "time": "Fri Sep 11 04:43:29 2009 -0400"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Wed Sep 23 11:35:39 2009 -0400"
      },
      "message": "wireless: default CONFIG_WLAN to y\n\nWhen this was added no defaults were set and it seems\nthis implies n. Default this to y.\n\nReported-by: Jouni Malinen \u003cjouni.malinen@atheros.com\u003e\nSigned-off-by: Luis R. Rodriguez \u003clrodriguez@atheros.com\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "012a1b3e5e3561376dacf07efee15688284302c6",
      "tree": "9970293afe1d5a390573e32035cf8719a7ba7e16",
      "parents": [
        "50425b0977c53c6ac608f0b2c8a562a5c7cd5602"
      ],
      "author": {
        "name": "Holger Schurig",
        "email": "hs4233@mail.mn-solutions.de",
        "time": "Fri Sep 11 10:13:55 2009 +0200"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Wed Sep 23 11:35:39 2009 -0400"
      },
      "message": "cfg80211: minimal error handling for wext-compat freq scanning\n\nSigned-off-by: Holger Schurig \u003chs4233@mail.mn-solutions.de\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "50425b0977c53c6ac608f0b2c8a562a5c7cd5602",
      "tree": "4e81902d774bcf126ee7ea4b8e5f17daf3a205d8",
      "parents": [
        "10a01bfd4e077ff03a4ace76a6d9b81272f91678"
      ],
      "author": {
        "name": "Holger Schurig",
        "email": "h.schurig@mn-solutions.de",
        "time": "Fri Sep 11 10:13:53 2009 +0200"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Wed Sep 23 11:35:39 2009 -0400"
      },
      "message": "cfg80211: use cfg80211_wext_freq() for freq conversion\n\nWEXT\u0027s \"struct iw_freq\" can also be used to handle a channel. This patch now\nuses cfg80211_wext_freq() instead of hand-converting the frequency. That\nallows user-space to specify channels as well, like with SIOCSIWFREQ.\n\nSigned-off-by: Holger Schurig \u003chs4233@mail.mn-solutions.de\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "10a01bfd4e077ff03a4ace76a6d9b81272f91678",
      "tree": "2141f5496208da7472b090bd93833cbc8351aebe",
      "parents": [
        "5ab9549a64c77b6975b079b27e95fc2c115f613b"
      ],
      "author": {
        "name": "Sujith",
        "email": "Sujith.Manoharan@atheros.com",
        "time": "Fri Sep 11 08:30:03 2009 +0530"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Wed Sep 23 11:35:39 2009 -0400"
      },
      "message": "ath9k: Fix bug in ANI channel handling\n\nWhen processing MIB interrupts, OFDM and CCK error\nhandling routines for low RSSI values have to be invoked\nonly when the channel mode is 11G/11B. Since HT channels\nwill also fall under the bands 2Ghz/5Ghz, check appropriately.\n\nSigned-off-by: Sujith \u003cSujith.Manoharan@atheros.com\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "5ab9549a64c77b6975b079b27e95fc2c115f613b",
      "tree": "520feec41a74ca3419130f623536a1a52f294c65",
      "parents": [
        "05f57195ab5a232afd773328f00784e79c60e64e"
      ],
      "author": {
        "name": "Michael Buesch",
        "email": "mb@bu3sch.de",
        "time": "Thu Sep 10 20:31:46 2009 +0200"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Wed Sep 23 11:35:39 2009 -0400"
      },
      "message": "b43: Force-wake queues on init\n\nForce wake the mac80211 queues on init.\nUnder rare circumstances they may be stopped, if a DMA error or\nsomething else causes a device reset while a queue was stopped.\n\nSigned-off-by: Michael Buesch \u003cmb@bu3sch.de\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "05f57195ab5a232afd773328f00784e79c60e64e",
      "tree": "5e07ca884997d8b51d91aa95fd7e514ec36b7ba4",
      "parents": [
        "4142e0d1def2c0176c27fd2e810243045a62eb6d"
      ],
      "author": {
        "name": "Martin Decky",
        "email": "martin@decky.cz",
        "time": "Thu Sep 10 03:44:47 2009 +0200"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Wed Sep 23 11:35:39 2009 -0400"
      },
      "message": "hostap: Revert a toxic part of the conversion to net_device_ops\n\nAs the hostap driver was converted to use net_device_ops, a mistake was\nmade in hostap_main.c (commit 5ae4efbcd2611562a8b93596be034e63495706a5).\nOriginally, the tx_queue_len was set to 0 for every other interface than\nHOSTAP_INTERFACE_MASTER, but the new fragment of code sets tx_queue_len to\n0 only for HOSTAP_INTERFACE_MASTER. The opposite of the previous\nbehavior makes the driver to drop all packets in AP mode.\n\nChange the way 0 is assigned to tx_queue_len according to the original\nlogic.\n\nSigned-off-by: Martin Decky \u003cmartin@decky.cz\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "4142e0d1def2c0176c27fd2e810243045a62eb6d",
      "tree": "a21f76fafcd7609419a3ce610d8b9360748ccd76",
      "parents": [
        "33f1de69312432baecb997a570b7d77c4d02d1ed",
        "2daea67e966dc0c42067ebea015ddac6834cef88"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Sep 14 14:36:47 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Sep 14 14:36:47 2009 -0700"
      },
      "message": "Merge branch \u0027osync_cleanup\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/jack/linux-fs-2.6\n\n* \u0027osync_cleanup\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/jack/linux-fs-2.6:\n  fsync: wait for data writeout completion before calling -\u003efsync\n  vfs: Remove generic_osync_inode() and sync_page_range{_nolock}()\n  fat: Opencode sync_page_range_nolock()\n  pohmelfs: Use new syncing helper\n  xfs: Convert sync_page_range() to simple filemap_write_and_wait_range()\n  ocfs2: Update syncing after splicing to match generic version\n  ntfs: Use new syncing helpers and update comments\n  ext4: Remove syncing logic from ext4_file_write\n  ext3: Remove syncing logic from ext3_file_write\n  ext2: Update comment about generic_osync_inode\n  vfs: Introduce new helpers for syncing after writing to O_SYNC file or IS_SYNC inode\n  vfs: Rename generic_file_aio_write_nolock\n  ocfs2: Use __generic_file_aio_write instead of generic_file_aio_write_nolock\n  pohmelfs: Use __generic_file_aio_write instead of generic_file_aio_write_nolock\n  vfs: Remove syncing from generic_file_direct_write() and generic_file_buffered_write()\n  vfs: Export __generic_file_aio_write() and add some comments\n  vfs: Introduce filemap_fdatawait_range\n"
    },
    {
      "commit": "33f1de69312432baecb997a570b7d77c4d02d1ed",
      "tree": "24e9e7487ec3b892e120409aa2ac1b1263794373",
      "parents": [
        "041d6d0be82bed7e0b87181dba5d10b8ab14afd9",
        "86d006365610fe6cda243d89b67d5047dca44656"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Sep 14 14:35:56 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Sep 14 14:35:56 2009 -0700"
      },
      "message": "Merge branch \u0027master\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/steve/gfs2-2.6-nmw\n\n* \u0027master\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/steve/gfs2-2.6-nmw:\n  GFS2: Whitespace fixes\n  GFS2: Remove unused sysfs file\n  GFS2: Be extra careful about deallocating inodes\n  GFS2: Remove no_formal_ino generating code\n  GFS2: Rename eattr.[ch] as xattr.[ch]\n  GFS2: Clean up of extended attribute support\n  GFS2: Add explanation of extended attr on-disk format\n  GFS2: Add \"-o errors\u003dpanic|withdraw\" mount options\n  GFS2: jumping to wrong label?\n  GFS2: free disk inode which is deleted by remote node -V2\n  GFS2: Add a document explaining GFS2\u0027s uevents\n  GFS2: Add sysfs link to device\n  GFS2: Replace assertion with proper error handling\n  GFS2: Improve error handling in inode allocation\n  GFS2: Add some more info to uevents\n  GFS2: Add online uevent to GFS2\n"
    },
    {
      "commit": "041d6d0be82bed7e0b87181dba5d10b8ab14afd9",
      "tree": "b7af53fa7ca104d30b9759c1f951439af7df3734",
      "parents": [
        "af8cb8aa38296ecc43aca7fae9e574db7b8ae0c4",
        "cbc8cc33529b0e0e55ae0ff077b8cb0b71d54c7a"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Sep 14 14:35:07 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Sep 14 14:35:07 2009 -0700"
      },
      "message": "Merge branch \u0027for_linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/jack/linux-udf-2.6\n\n* \u0027for_linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/jack/linux-udf-2.6:\n  udf: Fix possible corruption when close races with write\n  udf: Perform preallocation only for regular files\n  udf: Remove wrong assignment in udf_symlink\n  udf: Remove dead code\n"
    },
    {
      "commit": "af8cb8aa38296ecc43aca7fae9e574db7b8ae0c4",
      "tree": "636090652a055bff0930ad713e315ff185282330",
      "parents": [
        "6cdb5930a6fa0e35b236f4aa0e056001fe1384b4",
        "41f4db0f48c72db3a93cc1a0b18368d9a9aca700"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Sep 14 14:34:33 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Sep 14 14:34:33 2009 -0700"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/ryusuke/nilfs2\n\n* \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/ryusuke/nilfs2: (21 commits)\n  fs/Kconfig: move nilfs2 outside misc filesystems\n  nilfs2: convert nilfs_bmap_lookup to an inline function\n  nilfs2: allow btree code to directly call dat operations\n  nilfs2: add update functions of virtual block address to dat\n  nilfs2: remove individual gfp constants for each metadata file\n  nilfs2: stop zero-fill of btree path just before free it\n  nilfs2: remove unused btree argument from btree functions\n  nilfs2: remove nilfs_dat_abort_start and nilfs_dat_abort_free\n  nilfs2: shorten freeze period due to GC in write operation v3\n  nilfs2: add more check routines in mount process\n  nilfs2: An unassigned variable is assigned to a never used structure member\n  nilfs2: use GFP_NOIO for bio_alloc instead of GFP_NOWAIT\n  nilfs2: stop using periodic write_super callback\n  nilfs2: clean up nilfs_write_super\n  nilfs2: fix disorder of nilfs_write_super in nilfs_sync_fs\n  nilfs2: remove redundant super block commit\n  nilfs2: implement nilfs_show_options to display mount options in /proc/mounts\n  nilfs2: always lookup disk block address before reading metadata block\n  nilfs2: use semaphore to protect pointer to a writable FS-instance\n  nilfs2: fix format string compile warning (ino_t)\n  ...\n"
    },
    {
      "commit": "6cdb5930a6fa0e35b236f4aa0e056001fe1384b4",
      "tree": "f7627d65c283ab122d69c20605355cb2c397f112",
      "parents": [
        "99bc47067910f7070e65ee318a6dd79a2371f1e5",
        "9162ab2000e08be076883b5a295a771223264ce8"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Sep 14 14:33:13 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Sep 14 14:33:13 2009 -0700"
      },
      "message": "Merge git://git.kernel.org/pub/scm/linux/kernel/git/sfrench/cifs-2.6\n\n* git://git.kernel.org/pub/scm/linux/kernel/git/sfrench/cifs-2.6:\n  cifs: consolidate reconnect logic in smb_init routines\n  cifs: Replace wrtPending with a real reference count\n  cifs: protect GlobalOplock_Q with its own spinlock\n  cifs: use tcon pointer in cifs_show_options\n  cifs: send IPv6 addr in upcall with colon delimiters\n  [CIFS] Fix checkpatch warnings\n  PATCH] cifs: fix broken mounts when a SSH tunnel is used (try #4)\n  [CIFS] Memory leak in ntlmv2 hash calculation\n  [CIFS] potential NULL dereference in parse_DFS_referrals()\n"
    },
    {
      "commit": "99bc47067910f7070e65ee318a6dd79a2371f1e5",
      "tree": "d24941285af868b0392a327360ae260a8f50caf1",
      "parents": [
        "d7e9660ad9d5e0845f52848bce31bcf5cdcdea6b",
        "cabc5c0f7fa1342049042d6e147db5a73773955b"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Sep 14 10:48:59 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Sep 14 10:48:59 2009 -0700"
      },
      "message": "Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/sparc-next-2.6\n\n* git://git.kernel.org/pub/scm/linux/kernel/git/davem/sparc-next-2.6: (21 commits)\n  sparc64: Initial niagara2 perf counter support.\n  sparc64: Perf counter \u0027nop\u0027 event is not constant.\n  sparc64: Provide a way to specify a perf counter overflow IRQ enable bit.\n  sparc64: Provide hypervisor tracing bit support for perf counters.\n  sparc64: Initial hw perf counter support.\n  sparc64: Implement a real set_perf_counter_pending().\n  sparc64: Use nmi_enter() and nmi_exit(), as needed.\n  sparc64: Provide extern decls for sparc_??u_type strings.\n  sparc64: Make touch_nmi_watchdog() actually work.\n  sparc64: Kill unnecessary cast in profile_timer_exceptions_notify().\n  sparc64: Manage NMI watchdog enabling like x86.\n  sparc: add basic support for \u0027perf\u0027\n  sparc: convert /proc/io_map, /proc/dvma_map to seq_file\n  sparc, leon: sparc-leon specific SRMMU initialization and bootup fixes.\n  sparc,leon: Added support for AMBAPP bus.\n  sparc,leon: Introduce the sparc-leon CPU type.\n  sparc,leon: Redefine MMU register access asi if CONFIG_LEON\n  sparc,leon: CONFIG_SPARC_LEON option and leon specific files.\n  sparc64: cheaper asm/uaccess.h inclusion\n  SPARC: fix duplicate declaration\n  ...\n"
    },
    {
      "commit": "d7e9660ad9d5e0845f52848bce31bcf5cdcdea6b",
      "tree": "c6c67d145771187b194d79d603742b31090a59d6",
      "parents": [
        "b8cb48aae1b8c50b37dcb7710363aa69a7a0d9ca",
        "13af7a6ea502fcdd4c0e3d7de6e332b102309491"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Sep 14 10:37:28 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Sep 14 10:37:28 2009 -0700"
      },
      "message": "Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-next-2.6\n\n* git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-next-2.6: (1623 commits)\n  netxen: update copyright\n  netxen: fix tx timeout recovery\n  netxen: fix file firmware leak\n  netxen: improve pci memory access\n  netxen: change firmware write size\n  tg3: Fix return ring size breakage\n  netxen: build fix for INET\u003dn\n  cdc-phonet: autoconfigure Phonet address\n  Phonet: back-end for autoconfigured addresses\n  Phonet: fix netlink address dump error handling\n  ipv6: Add IFA_F_DADFAILED flag\n  net: Add DEVTYPE support for Ethernet based devices\n  mv643xx_eth.c: remove unused txq_set_wrr()\n  ucc_geth: Fix hangs after switching from full to half duplex\n  ucc_geth: Rearrange some code to avoid forward declarations\n  phy/marvell: Make non-aneg speed/duplex forcing work for 88E1111 PHYs\n  drivers/net/phy: introduce missing kfree\n  drivers/net/wan: introduce missing kfree\n  net: force bridge module(s) to be GPL\n  Subject: [PATCH] appletalk: Fix skb leak when ipddp interface is not loaded\n  ...\n\nFixed up trivial conflicts:\n\n - arch/x86/include/asm/socket.h\n\n   converted to \u003casm-generic/socket.h\u003e in the x86 tree.  The generic\n   header has the same new #define\u0027s, so that works out fine.\n\n - drivers/net/tun.c\n\n   fix conflict between 89f56d1e9 (\"tun: reuse struct sock fields\") that\n   switched over to using \u0027tun-\u003esocket.sk\u0027 instead of the redundantly\n   available (and thus removed) \u0027tun-\u003esk\u0027, and 2b980dbd (\"lsm: Add hooks\n   to the TUN driver\") which added a new \u0027tun-\u003esk\u0027 use.\n\n   Noted in \u0027next\u0027 by Stephen Rothwell.\n"
    },
    {
      "commit": "b8cb48aae1b8c50b37dcb7710363aa69a7a0d9ca",
      "tree": "c7b04bfc8ece8b0121a9030c7f49e7bf9bf570d1",
      "parents": [
        "0cc6d77e55eca9557bbe41bf2db94b31aa8fcb2a",
        "78c86e5e5691fc84d5fbea0cd4ac7147e87b7490"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Sep 14 10:23:49 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Sep 14 10:23:49 2009 -0700"
      },
      "message": "Merge branch \u0027x86-xen-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip\n\n* \u0027x86-xen-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:\n  x86: split __phys_addr out into separate file\n  xen: use stronger barrier after unlocking lock\n  xen: only enable interrupts while actually blocking for spinlock\n  xen: make -fstack-protector work under Xen\n"
    },
    {
      "commit": "cbc8cc33529b0e0e55ae0ff077b8cb0b71d54c7a",
      "tree": "5edace261ca6d707456d1bde03c0bf719ac8a365",
      "parents": [
        "81056dd04465902461b627169c4b4487a11acba1"
      ],
      "author": {
        "name": "Jan Kara",
        "email": "jack@suse.cz",
        "time": "Fri Aug 07 00:27:27 2009 +0200"
      },
      "committer": {
        "name": "Jan Kara",
        "email": "jack@suse.cz",
        "time": "Mon Sep 14 19:13:01 2009 +0200"
      },
      "message": "udf: Fix possible corruption when close races with write\n\nWhen we close a file, we remove preallocated blocks from it. But this\ntruncation was not protected by i_mutex and thus it could have raced with a\nwrite through a different fd and cause crashes or even filesystem corruption.\n\nSigned-off-by: Jan Kara \u003cjack@suse.cz\u003e\n"
    },
    {
      "commit": "81056dd04465902461b627169c4b4487a11acba1",
      "tree": "902b49848f8d2033c24ad78ac5d391bf092091ef",
      "parents": [
        "7c6e3d1aaeb3b25b49510d193000c27037004acb"
      ],
      "author": {
        "name": "Jan Kara",
        "email": "jack@suse.cz",
        "time": "Thu Jul 16 18:02:25 2009 +0200"
      },
      "committer": {
        "name": "Jan Kara",
        "email": "jack@suse.cz",
        "time": "Mon Sep 14 19:13:00 2009 +0200"
      },
      "message": "udf: Perform preallocation only for regular files\n\nSo far we preallocated blocks also for directories but that brings a\nproblem, when to get rid of preallocated blocks we don\u0027t need. So far\nwe removed them in udf_clear_inode() which has a disadvantage that\n1) blocks are unavailable long after writing to a directory finished\n   and thus one can get out of space unnecessarily early\n2) releasing blocks from udf_clear_inode is problematic because VFS\n   does not expect us to redirty inode there and it also slows down\n   memory reclaim.\n\nSo preallocate blocks only for regular files where we can drop preallocation\nin udf_release_file.\n\nSigned-off-by: Jan Kara \u003cjack@suse.cz\u003e\n"
    },
    {
      "commit": "7c6e3d1aaeb3b25b49510d193000c27037004acb",
      "tree": "1d20b31e4e74708812b6bd5821775bbac2eae539",
      "parents": [
        "5891d9dd2a47d38c205115211841a3d82304628f"
      ],
      "author": {
        "name": "Jan Kara",
        "email": "jack@suse.cz",
        "time": "Thu Jul 16 17:36:54 2009 +0200"
      },
      "committer": {
        "name": "Jan Kara",
        "email": "jack@suse.cz",
        "time": "Mon Sep 14 19:13:00 2009 +0200"
      },
      "message": "udf: Remove wrong assignment in udf_symlink\n\nRecomputation of the pointer was wrong (it should have been just increment).\nLuckily, we never use the computed value. Remove it.\n\nSigned-off-by: Jan Kara \u003cjack@suse.cz\u003e\n"
    },
    {
      "commit": "5891d9dd2a47d38c205115211841a3d82304628f",
      "tree": "8ee321785b597895bbd2ed8f47772e3e09f62b07",
      "parents": [
        "0cc6d77e55eca9557bbe41bf2db94b31aa8fcb2a"
      ],
      "author": {
        "name": "Jan Kara",
        "email": "jack@suse.cz",
        "time": "Thu Jul 16 17:35:11 2009 +0200"
      },
      "committer": {
        "name": "Jan Kara",
        "email": "jack@suse.cz",
        "time": "Mon Sep 14 19:13:00 2009 +0200"
      },
      "message": "udf: Remove dead code\n\nRemove code that gets never used.\n\nSigned-off-by: Jan Kara \u003cjack@suse.cz\u003e\n"
    },
    {
      "commit": "2daea67e966dc0c42067ebea015ddac6834cef88",
      "tree": "0adef51c45c7dd31062824eb3ba102a349966608",
      "parents": [
        "18f2ee705d98034b0f229a3202d827468d4bffd9"
      ],
      "author": {
        "name": "Christoph Hellwig",
        "email": "hch@lst.de",
        "time": "Thu Sep 03 12:39:39 2009 +0200"
      },
      "committer": {
        "name": "Jan Kara",
        "email": "jack@suse.cz",
        "time": "Mon Sep 14 17:08:17 2009 +0200"
      },
      "message": "fsync: wait for data writeout completion before calling -\u003efsync\n\nCurrenly vfs_fsync(_range) first calls filemap_fdatawrite to write out\nthe data, the calls into -\u003efsync to write out the metadata and then finally\ncalls filemap_fdatawait to wait for the data I/O to complete.  What sounds\nlike a clever micro-optimization actually is nast trap for many filesystems.\n\nFor many modern filesystems i_size or other inode information is only\nupdated on I/O completion and we need to wait for I/O to finish before\nwe can write out the metadata.  For old fashionen filesystems that\ninstanciate blocks during the actual write and also update the metadata\nat that point it opens up a large window were we could expose uninitialized\nblocks after a crash.  While a few filesystems that need it already wait\nfor the I/O to finish inside their -\u003efsync methods it is rather suboptimal\nas it is done under the i_mutex and also always for the whole file instead\nof just a part as we could do for O_SYNC handling.\n\nHere is a small audit of all fsync instances in the tree:\n\n - spufs_mfc_fsync:\n - ps3flash_fsync:\n - vol_cdev_fsync:\n - printer_fsync:\n - fb_deferred_io_fsync:\n - bad_file_fsync:\n - simple_sync_file:\n\n\tdon\u0027t care - filesystems/drivers do\u0027t use the page cache or are\n\tpurely in-memory.\n\n - simple_fsync:\n - file_fsync:\n - affs_file_fsync:\n - fat_file_fsync:\n - jfs_fsync:\n - ubifs_fsync:\n - reiserfs_dir_fsync:\n - reiserfs_sync_file:\n\n\tnever touch pagecache themselves.  We need to wait before if we do\n\tnot want to expose stale data after an allocation.\n\n - afs_fsync:\n - fuse_fsync_common:\n\n\tdo the waiting writeback itself in awkward ways, would benefit from\n\tproper semantics\n\n - block_fsync:\n\n\tDoes a filemap_write_and_wait on the block device inode.  Because we\n\tnow have f_mapping that is the same inode we call it on in vfs_fsync.\n\tSo just removing it and letting the VFS do the work in one go would\n\tbe an improvement.\n\n - btrfs_sync_file:\n - cifs_fsync:\n - xfs_file_fsync:\n\n\tneed the wait first and currently do it themselves. would benefit from\n\tdoing it outside i_mutex.\n\n - coda_fsync:\n - ecryptfs_fsync:\n - exofs_file_fsync:\n - shm_fsync:\n\n\tonly passes the fsync through to the lower layer\n\n - ext3_sync_file:\n\n\tdoesn\u0027t seem to care, comments are confusing.\n\n - ext4_sync_file:\n\n\twould need the wait to work correctly for delalloc mode with late\n\ti_size updates.  Otherwise the ext3 comment applies.\n\n\tcurrently implemens it\u0027s own writeback and wait in an odd way,\n\tcould benefit from doing it properly.\n\n - gfs2_fsync:\n\n\tnot needed for journaled data mode, but probably harmless there.\n\tCurrently writes back data asynchronously itself.  Needs some\n\tmajor audit.\n\n - hostfs_fsync:\n\n\tjust calls fsync/datasync on the host FD.  Without the wait before\n\tdata might not even be inflight yet if we\u0027re unlucky.\n\n - hpfs_file_fsync:\n - ncp_fsync:\n\n\tno-ops.  Dangerous before and after.\n\n - jffs2_fsync:\n\n\tjust calls jffs2_flush_wbuf_gc, not sure how this relates to data.\n\n - nfs_fsync_dir:\n\n\tjust increments stats, claims all directory operations are synchronous\n\n - nfs_file_fsync:\n\n\tonly writes out data???  Looks very odd.\n\n - nilfs_sync_file:\n\n\tlooks like it expects all data done, but not sure from the code\n\n - ntfs_dir_fsync:\n - ntfs_file_fsync:\n\n\tappear to do their own data writeback.  Very convoluted code.\n\n - ocfs2_sync_file:\n\n\tdoes it\u0027s own data writeback, but no wait.  probably needs the wait.\n\n - smb_fsync:\n\n\taccording to a comment expects all pages written already, probably needs\n\tthe wait before.\n\nThis patch only changes vfs_fsync_range, removal of the wait in the methods\nthat have it is left to the filesystem maintainers.  Note that most\nfilesystems really do need an audit for their fsync methods given the\ngems found in this very brief audit.\n\nSigned-off-by: Christoph Hellwig \u003chch@lst.de\u003e\nSigned-off-by: Jan Kara \u003cjack@suse.cz\u003e\n"
    },
    {
      "commit": "18f2ee705d98034b0f229a3202d827468d4bffd9",
      "tree": "1da282e5eb90dc8e8a1e46214e0e7639138d3568",
      "parents": [
        "2f3d675bcd4a84251d6e8eea8096ec8fc795e5d6"
      ],
      "author": {
        "name": "Jan Kara",
        "email": "jack@suse.cz",
        "time": "Tue Aug 18 18:43:15 2009 +0200"
      },
      "committer": {
        "name": "Jan Kara",
        "email": "jack@suse.cz",
        "time": "Mon Sep 14 17:08:17 2009 +0200"
      },
      "message": "vfs: Remove generic_osync_inode() and sync_page_range{_nolock}()\n\nRemove these three functions since nobody uses them anymore.\n\nSigned-off-by: Jan Kara \u003cjack@suse.cz\u003e\n"
    },
    {
      "commit": "2f3d675bcd4a84251d6e8eea8096ec8fc795e5d6",
      "tree": "3b186e4960d4553fac577be5f1def6d17196beca",
      "parents": [
        "aa3caafe53cab7ef60605e481cd5d7943e1c3022"
      ],
      "author": {
        "name": "Jan Kara",
        "email": "jack@suse.cz",
        "time": "Mon Aug 17 17:00:02 2009 +0200"
      },
      "committer": {
        "name": "Jan Kara",
        "email": "jack@suse.cz",
        "time": "Mon Sep 14 17:08:17 2009 +0200"
      },
      "message": "fat: Opencode sync_page_range_nolock()\n\nfat_cont_expand() is the only user of sync_page_range_nolock(). It\u0027s also the\nonly user of generic_osync_inode() which does not have a file open.  So\nopencode needed actions for FAT so that we can convert generic_osync_inode() to\na standard syncing path.\n\nUpdate a comment about generic_osync_inode().\n\nCC: OGAWA Hirofumi \u003chirofumi@mail.parknet.co.jp\u003e\nSigned-off-by: Jan Kara \u003cjack@suse.cz\u003e\n"
    },
    {
      "commit": "aa3caafe53cab7ef60605e481cd5d7943e1c3022",
      "tree": "b3723d4c31c84a8b0f74d1d4e920d9ba1c867915",
      "parents": [
        "af0f4414f343429971d33b0dd8dccc85c1f3dcd2"
      ],
      "author": {
        "name": "Jan Kara",
        "email": "jack@suse.cz",
        "time": "Tue Aug 18 18:38:45 2009 +0200"
      },
      "committer": {
        "name": "Jan Kara",
        "email": "jack@suse.cz",
        "time": "Mon Sep 14 17:08:17 2009 +0200"
      },
      "message": "pohmelfs: Use new syncing helper\n\nUse new generic_write_sync() helper instead of sync_page_range().\n\nAcked-by: Evgeniy Polyakov \u003czbr@ioremap.net\u003e\nSigned-off-by: Jan Kara \u003cjack@suse.cz\u003e\n"
    },
    {
      "commit": "af0f4414f343429971d33b0dd8dccc85c1f3dcd2",
      "tree": "1b053812591d19f618240672eb74fd74912c29c1",
      "parents": [
        "d23c937b0f740888765676f6f82f509dbbb2bbad"
      ],
      "author": {
        "name": "Jan Kara",
        "email": "jack@suse.cz",
        "time": "Tue Aug 18 18:32:55 2009 +0200"
      },
      "committer": {
        "name": "Jan Kara",
        "email": "jack@suse.cz",
        "time": "Mon Sep 14 17:08:17 2009 +0200"
      },
      "message": "xfs: Convert sync_page_range() to simple filemap_write_and_wait_range()\n\nChristoph Hellwig says that it is enough for XFS to call\nfilemap_write_and_wait_range() instead of sync_page_range() because we do\nall the metadata syncing when forcing the log.\n\nCC: Felix Blyakher \u003cfelixb@sgi.com\u003e\nCC: xfs@oss.sgi.com\nCC: Christoph Hellwig \u003chch@lst.de\u003e\nSigned-off-by: Jan Kara \u003cjack@suse.cz\u003e\n"
    },
    {
      "commit": "d23c937b0f740888765676f6f82f509dbbb2bbad",
      "tree": "df4e085d935805f54061436ee820460c79143087",
      "parents": [
        "ebbbf757c6b8577ac2fb6181c08c2059153bb0e2"
      ],
      "author": {
        "name": "Jan Kara",
        "email": "jack@suse.cz",
        "time": "Tue Aug 18 18:24:31 2009 +0200"
      },
      "committer": {
        "name": "Jan Kara",
        "email": "jack@suse.cz",
        "time": "Mon Sep 14 17:08:16 2009 +0200"
      },
      "message": "ocfs2: Update syncing after splicing to match generic version\n\nUpdate ocfs2 specific splicing code to use generic syncing helper. The sync now\ndoes not happen under rw_lock because generic_write_sync() acquires i_mutex\nwhich ranks above rw_lock. That should not matter because standard fsync path\ndoes not hold it either.\n\nAcked-by: Joel Becker \u003cJoel.Becker@oracle.com\u003e\nAcked-by: Mark Fasheh \u003cmfasheh@suse.com\u003e\nCC: ocfs2-devel@oss.oracle.com\nSigned-off-by: Jan Kara \u003cjack@suse.cz\u003e\n"
    },
    {
      "commit": "ebbbf757c6b8577ac2fb6181c08c2059153bb0e2",
      "tree": "0c29915bd629c4faf314d052b003a5dab19d6f74",
      "parents": [
        "0d34ec62e18984ac9476208660372306ef54e70d"
      ],
      "author": {
        "name": "Jan Kara",
        "email": "jack@suse.cz",
        "time": "Tue Aug 18 18:13:58 2009 +0200"
      },
      "committer": {
        "name": "Jan Kara",
        "email": "jack@suse.cz",
        "time": "Mon Sep 14 17:08:16 2009 +0200"
      },
      "message": "ntfs: Use new syncing helpers and update comments\n\nUse new syncing helpers in .write and .aio_write functions. Also\nremove superfluous syncing in ntfs_file_buffered_write() and update\ncomments about generic_osync_inode().\n\nCC: Anton Altaparmakov \u003caia21@cantab.net\u003e\nCC: linux-ntfs-dev@lists.sourceforge.net\nSigned-off-by: Jan Kara \u003cjack@suse.cz\u003e\n"
    },
    {
      "commit": "0d34ec62e18984ac9476208660372306ef54e70d",
      "tree": "7b75d266b832bb8457369082fba86456ef88e568",
      "parents": [
        "e367626b6164aeecb97fb7c20509ed8696babc26"
      ],
      "author": {
        "name": "Jan Kara",
        "email": "jack@suse.cz",
        "time": "Tue Aug 18 17:48:27 2009 +0200"
      },
      "committer": {
        "name": "Jan Kara",
        "email": "jack@suse.cz",
        "time": "Mon Sep 14 17:08:16 2009 +0200"
      },
      "message": "ext4: Remove syncing logic from ext4_file_write\n\nThe syncing is now properly handled by generic_file_aio_write() so\nno special ext4 code is needed.\n\nCC: linux-ext4@vger.kernel.org\nCC: tytso@mit.edu\nSigned-off-by: Jan Kara \u003cjack@suse.cz\u003e\n"
    },
    {
      "commit": "e367626b6164aeecb97fb7c20509ed8696babc26",
      "tree": "e69721734412f9373aea87297c4ff9450cf55308",
      "parents": [
        "a2a735ad666a04306a708b5a0109cc1fe113f569"
      ],
      "author": {
        "name": "Jan Kara",
        "email": "jack@suse.cz",
        "time": "Tue Aug 18 17:51:23 2009 +0200"
      },
      "committer": {
        "name": "Jan Kara",
        "email": "jack@suse.cz",
        "time": "Mon Sep 14 17:08:16 2009 +0200"
      },
      "message": "ext3: Remove syncing logic from ext3_file_write\n\nSyncing is now properly done by generic_file_aio_write() so no special logic is\nneeded in ext3.\n\nCC: linux-ext4@vger.kernel.org\nSigned-off-by: Jan Kara \u003cjack@suse.cz\u003e\n"
    },
    {
      "commit": "a2a735ad666a04306a708b5a0109cc1fe113f569",
      "tree": "1b880e0e8eb9e9b019d3e6443751cd56e5fe3d58",
      "parents": [
        "148f948ba877f4d3cdef036b1ff6d9f68986706a"
      ],
      "author": {
        "name": "Jan Kara",
        "email": "jack@suse.cz",
        "time": "Tue Aug 18 17:54:11 2009 +0200"
      },
      "committer": {
        "name": "Jan Kara",
        "email": "jack@suse.cz",
        "time": "Mon Sep 14 17:08:16 2009 +0200"
      },
      "message": "ext2: Update comment about generic_osync_inode\n\nWe rely on generic_write_sync() now.\n\nCC: linux-ext4@vger.kernel.org\nSigned-off-by: Jan Kara \u003cjack@suse.cz\u003e\n"
    },
    {
      "commit": "148f948ba877f4d3cdef036b1ff6d9f68986706a",
      "tree": "c07963f08bf8c2119ec00df64e4293e2e60acaa1",
      "parents": [
        "eef99380679e20e7edc096aa4d8a98b875404d79"
      ],
      "author": {
        "name": "Jan Kara",
        "email": "jack@suse.cz",
        "time": "Mon Aug 17 19:52:36 2009 +0200"
      },
      "committer": {
        "name": "Jan Kara",
        "email": "jack@suse.cz",
        "time": "Mon Sep 14 17:08:15 2009 +0200"
      },
      "message": "vfs: Introduce new helpers for syncing after writing to O_SYNC file or IS_SYNC inode\n\nIntroduce new function for generic inode syncing (vfs_fsync_range) and use\nit from fsync() path. Introduce also new helper for syncing after a sync\nwrite (generic_write_sync) using the generic function.\n\nUse these new helpers for syncing from generic VFS functions. This makes\nO_SYNC writes to block devices acquire i_mutex for syncing. If we really\ncare about this, we can make block_fsync() drop the i_mutex and reacquire\nit before it returns.\n\nCC: Evgeniy Polyakov \u003czbr@ioremap.net\u003e\nCC: ocfs2-devel@oss.oracle.com\nCC: Joel Becker \u003cjoel.becker@oracle.com\u003e\nCC: Felix Blyakher \u003cfelixb@sgi.com\u003e\nCC: xfs@oss.sgi.com\nCC: Anton Altaparmakov \u003caia21@cantab.net\u003e\nCC: linux-ntfs-dev@lists.sourceforge.net\nCC: OGAWA Hirofumi \u003chirofumi@mail.parknet.co.jp\u003e\nCC: linux-ext4@vger.kernel.org\nCC: tytso@mit.edu\nAcked-by: Christoph Hellwig \u003chch@lst.de\u003e\nSigned-off-by: Jan Kara \u003cjack@suse.cz\u003e\n"
    },
    {
      "commit": "eef99380679e20e7edc096aa4d8a98b875404d79",
      "tree": "358a39148e8513eed9ba6aaff13f6bf660a2ce1e",
      "parents": [
        "918941a3f3d46c2a69971b4718aaf13b1be2f1a7"
      ],
      "author": {
        "name": "Christoph Hellwig",
        "email": "hch@lst.de",
        "time": "Thu Aug 20 17:43:41 2009 +0200"
      },
      "committer": {
        "name": "Jan Kara",
        "email": "jack@suse.cz",
        "time": "Mon Sep 14 17:08:15 2009 +0200"
      },
      "message": "vfs: Rename generic_file_aio_write_nolock\n\ngeneric_file_aio_write_nolock() is now used only by block devices and raw\ncharacter device. Filesystems should use __generic_file_aio_write() in case\ngeneric_file_aio_write() doesn\u0027t suit them. So rename the function to\nblkdev_aio_write() and move it to fs/blockdev.c.\n\nSigned-off-by: Christoph Hellwig \u003chch@lst.de\u003e\nSigned-off-by: Jan Kara \u003cjack@suse.cz\u003e\n"
    },
    {
      "commit": "918941a3f3d46c2a69971b4718aaf13b1be2f1a7",
      "tree": "3ef80cb4b8107be981cc87904c7e80c0e383e5e5",
      "parents": [
        "b04f932171e8a99bb8ca2f863b2b9eadb85741e8"
      ],
      "author": {
        "name": "Jan Kara",
        "email": "jack@suse.cz",
        "time": "Mon Aug 17 18:50:08 2009 +0200"
      },
      "committer": {
        "name": "Jan Kara",
        "email": "jack@suse.cz",
        "time": "Mon Sep 14 17:08:15 2009 +0200"
      },
      "message": "ocfs2: Use __generic_file_aio_write instead of generic_file_aio_write_nolock\n\nUse the new helper. We have to submit data pages ourselves in case of O_SYNC\nwrite because __generic_file_aio_write does not do it for us. OCFS2 developpers\nmight think about moving the sync out of i_mutex which seems to be easily\npossible but that\u0027s out of scope of this patch.\n\nCC: ocfs2-devel@oss.oracle.com\nAcked-by: Joel Becker \u003cjoel.becker@oracle.com\u003e\nSigned-off-by: Jan Kara \u003cjack@suse.cz\u003e\n"
    },
    {
      "commit": "b04f932171e8a99bb8ca2f863b2b9eadb85741e8",
      "tree": "a379db3e75b7332d407230397678a4f895f60612",
      "parents": [
        "c7b50db21fe8c295092518e224d60b95e69da3b0"
      ],
      "author": {
        "name": "Jan Kara",
        "email": "jack@suse.cz",
        "time": "Mon Aug 17 18:14:33 2009 +0200"
      },
      "committer": {
        "name": "Jan Kara",
        "email": "jack@suse.cz",
        "time": "Mon Sep 14 17:08:15 2009 +0200"
      },
      "message": "pohmelfs: Use __generic_file_aio_write instead of generic_file_aio_write_nolock\n\nUse new helper __generic_file_aio_write(). Since the fs takes care of syncing\nby itself afterwards, there are no more changes needed.\n\nCC: Evgeniy Polyakov \u003czbr@ioremap.net\u003e\nSigned-off-by: Jan Kara \u003cjack@suse.cz\u003e\n"
    },
    {
      "commit": "c7b50db21fe8c295092518e224d60b95e69da3b0",
      "tree": "ed73757b475462c4cfccdcf61d95929f4cb32637",
      "parents": [
        "e4dd9de3c66bc7e26c5c7f149a060c5a67cf06a0"
      ],
      "author": {
        "name": "Jan Kara",
        "email": "jack@suse.cz",
        "time": "Tue Aug 18 16:18:20 2009 +0200"
      },
      "committer": {
        "name": "Jan Kara",
        "email": "jack@suse.cz",
        "time": "Mon Sep 14 17:08:15 2009 +0200"
      },
      "message": "vfs: Remove syncing from generic_file_direct_write() and generic_file_buffered_write()\n\ngeneric_file_direct_write() and generic_file_buffered_write() called\ngeneric_osync_inode() if it was called on O_SYNC file or IS_SYNC inode. But\nthis is superfluous since generic_file_aio_write() does the syncing as well.\nAlso XFS and OCFS2 which call these functions directly handle syncing\nthemselves. So let\u0027s have a single place where syncing happens:\ngeneric_file_aio_write().\n\nWe slightly change the behavior by syncing only the range of file to which the\nwrite happened for buffered writes but that should be all that is required.\n\nCC: ocfs2-devel@oss.oracle.com\nCC: Joel Becker \u003cjoel.becker@oracle.com\u003e\nCC: Felix Blyakher \u003cfelixb@sgi.com\u003e\nCC: xfs@oss.sgi.com\nSigned-off-by: Jan Kara \u003cjack@suse.cz\u003e\n"
    },
    {
      "commit": "e4dd9de3c66bc7e26c5c7f149a060c5a67cf06a0",
      "tree": "3270180b085c86afe4834fba5567464cd3932eb8",
      "parents": [
        "d3bccb6f4b886060aa0f58976b92b77d951f5434"
      ],
      "author": {
        "name": "Jan Kara",
        "email": "jack@suse.cz",
        "time": "Mon Aug 17 18:10:06 2009 +0200"
      },
      "committer": {
        "name": "Jan Kara",
        "email": "jack@suse.cz",
        "time": "Mon Sep 14 17:08:14 2009 +0200"
      },
      "message": "vfs: Export __generic_file_aio_write() and add some comments\n\nRename __generic_file_aio_write_nolock() to __generic_file_aio_write(), add\ncomments to write helpers explaining how they should be used and export\n__generic_file_aio_write() since it will be used by some filesystems.\n\nCC: ocfs2-devel@oss.oracle.com\nCC: Joel Becker \u003cjoel.becker@oracle.com\u003e\nAcked-by: Evgeniy Polyakov \u003czbr@ioremap.net\u003e\nReviewed-by: Christoph Hellwig \u003chch@lst.de\u003e\nSigned-off-by: Jan Kara \u003cjack@suse.cz\u003e\n"
    },
    {
      "commit": "d3bccb6f4b886060aa0f58976b92b77d951f5434",
      "tree": "b5f9eb43890da173a078e883d51c23b8c27ceaa6",
      "parents": [
        "86d710146fb9975f04c505ec78caa43d227c1018"
      ],
      "author": {
        "name": "Jan Kara",
        "email": "jack@suse.cz",
        "time": "Mon Aug 17 19:30:27 2009 +0200"
      },
      "committer": {
        "name": "Jan Kara",
        "email": "jack@suse.cz",
        "time": "Mon Sep 14 17:08:14 2009 +0200"
      },
      "message": "vfs: Introduce filemap_fdatawait_range\n\nThis simple helper saves some filesystems conversion from byte offset\nto page numbers and also makes the fdata* interface more complete.\n\nReviewed-by: Christoph Hellwig \u003chch@lst.de\u003e\nSigned-off-by: Jan Kara \u003cjack@suse.cz\u003e\n"
    },
    {
      "commit": "0cc6d77e55eca9557bbe41bf2db94b31aa8fcb2a",
      "tree": "432df46039500f5220ae315f1efca9431ea257e3",
      "parents": [
        "55e0715f612f19b44c17497929091df2f3357e5d",
        "5051fd69773d2d044734b78516317a04d3774871"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Sep 14 08:01:47 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Sep 14 08:01:47 2009 -0700"
      },
      "message": "Merge branch \u0027x86-setup-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip\n\n* \u0027x86-setup-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:\n  x86, e820: Guard against array overflowed in __e820_add_region()\n  x86, setup: remove obsolete pre-Kconfig CONFIG_VIDEO_ variables\n"
    },
    {
      "commit": "55e0715f612f19b44c17497929091df2f3357e5d",
      "tree": "31e139ebb4fcd98357b3af7af6c4becb41fa9563",
      "parents": [
        "7dfd54a905be0242bd604557d543c3a2d7b0a540",
        "bdf977b37418cdf8a2252504779a7e12a09b7575"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Sep 14 08:01:28 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Sep 14 08:01:28 2009 -0700"
      },
      "message": "Merge branch \u0027x86-percpu-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip\n\n* \u0027x86-percpu-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:\n  x86, percpu: Collect hot percpu variables into one cacheline\n  x86, percpu: Fix DECLARE/DEFINE_PER_CPU_PAGE_ALIGNED()\n  x86, percpu: Add \u0027percpu_read_stable()\u0027 interface for cacheable accesses\n"
    },
    {
      "commit": "7dfd54a905be0242bd604557d543c3a2d7b0a540",
      "tree": "75906d8bf8d835ae570667ea4d9311d9b443a77a",
      "parents": [
        "6512c0d62589c9f4da00328518e492ddd1c01c7f",
        "565b0c1f100408ccbcb04ba458a14da454cb271d"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Sep 14 07:59:32 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Sep 14 07:59:32 2009 -0700"
      },
      "message": "Merge branch \u0027x86-mm-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip\n\n* \u0027x86-mm-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:\n  x86, highmem_32.c: Clean up comment\n  x86, pgtable.h: Clean up types\n  x86: Clean up dump_pagetable()\n"
    },
    {
      "commit": "6512c0d62589c9f4da00328518e492ddd1c01c7f",
      "tree": "f70613120d00a9882b84f7b3149689b620860972",
      "parents": [
        "625037cc405eabbfd2a39e9297e583a94886225f",
        "c7bd0414d681706a32105895cae20fb9090db52e"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Sep 14 07:59:07 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Sep 14 07:59:07 2009 -0700"
      },
      "message": "Merge branch \u0027x86-kbuild-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip\n\n* \u0027x86-kbuild-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:\n  x86: Simplify the Makefile in a minor way through use of cc-ifversion\n"
    },
    {
      "commit": "625037cc405eabbfd2a39e9297e583a94886225f",
      "tree": "c0a62f6cb2a565efb7cd494f558f0acbadcbabb0",
      "parents": [
        "8fafa0a789faaff4318cbfa9c2f827d2198505dc",
        "17950c5b243f99cbabef173415ee988c52104d7e"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Sep 14 07:58:08 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Sep 14 07:58:08 2009 -0700"
      },
      "message": "Merge branch \u0027x86-fpu-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip\n\n* \u0027x86-fpu-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:\n  x86-64: move clts into batch cpu state updates when preloading fpu\n  x86-64: move unlazy_fpu() into lazy cpu state part of context switch\n  x86-32: make sure clts is batched during context switch\n  x86: split out core __math_state_restore\n"
    },
    {
      "commit": "8fafa0a789faaff4318cbfa9c2f827d2198505dc",
      "tree": "b360ef0ef73f4886fc18af3de1cacce3f57d01a3",
      "parents": [
        "c7208de304ac335d5d58db346bb773a471fc636b",
        "23b6c52cf558f2a1dc6c7010c601b3624eb4591f"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Sep 14 07:57:50 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Sep 14 07:57:50 2009 -0700"
      },
      "message": "Merge branch \u0027x86-debug-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip\n\n* \u0027x86-debug-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:\n  x86: Decrease the level of some NUMA messages to KERN_DEBUG\n"
    },
    {
      "commit": "c7208de304ac335d5d58db346bb773a471fc636b",
      "tree": "47808484fc3ff8447fe30943a33880bae00d5fee",
      "parents": [
        "15b0404272e1513940223cf9eefadfd22804a060",
        "5367b6887e7d8c870a5da7d9b8c6e9c207684e43"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Sep 14 07:57:32 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Sep 14 07:57:32 2009 -0700"
      },
      "message": "Merge branch \u0027x86-cpu-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip\n\n* \u0027x86-cpu-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip: (22 commits)\n  x86: Fix code patching for paravirt-alternatives on 486\n  x86, msr: change msr-reg.o to obj-y, and export its symbols\n  x86: Use hard_smp_processor_id() to get apic id for AMD K8 cpus\n  x86, sched: Workaround broken sched domain creation for AMD Magny-Cours\n  x86, mcheck: Use correct cpumask for shared bank4\n  x86, cacheinfo: Fixup L3 cache information for AMD multi-node processors\n  x86: Fix CPU llc_shared_map information for AMD Magny-Cours\n  x86, msr: Fix msr-reg.S compilation with gas 2.16.1, on 32-bit too\n  x86: Move kernel_fpu_using to irq_fpu_usable in asm/i387.h\n  x86, msr: fix msr-reg.S compilation with gas 2.16.1\n  x86, msr: Export the register-setting MSR functions via /dev/*/msr\n  x86, msr: Create _on_cpu helpers for {rw,wr}msr_safe_regs()\n  x86, msr: Have the _safe MSR functions return -EIO, not -EFAULT\n  x86, msr: CFI annotations, cleanups for msr-reg.S\n  x86, asm: Make _ASM_EXTABLE() usable from assembly code\n  x86, asm: Add 32-bit versions of the combined CFI macros\n  x86, AMD: Disable wrongly set X86_FEATURE_LAHF_LM CPUID bit\n  x86, msr: Rewrite AMD rd/wrmsr variants\n  x86, msr: Add rd/wrmsr interfaces with preset registers\n  x86: add specific support for Intel Atom architecture\n  ...\n"
    },
    {
      "commit": "15b0404272e1513940223cf9eefadfd22804a060",
      "tree": "9bdb1c0a41d0c3bddbae8885d361e053bbcd6d97",
      "parents": [
        "9b74aec028e7d7ce57b8deef490e440003555520",
        "d535e4319a2e598ba25dc966ada4e52ea774e33f"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Sep 14 07:56:43 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Sep 14 07:56:43 2009 -0700"
      },
      "message": "Merge branch \u0027x86-cleanups-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip\n\n* \u0027x86-cleanups-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:\n  x86: Make memtype_seq_ops const\n  x86: uv: Clean up uv_ptc_init(), use proc_create()\n  x86: Use printk_once()\n  x86/cpu: Clean up various files a bit\n  x86: Remove duplicated #include\n  x86, ipi: Clean up safe_smp_processor_id() by using the cpu_has_apic() macro helper\n  x86: Clean up idt_descr and idt_tableby using NR_VECTORS instead of hardcoded number\n  x86: Further clean up of mtrr/generic.c\n  x86: Clean up mtrr/main.c\n  x86: Clean up mtrr/state.c\n  x86: Clean up mtrr/mtrr.h\n  x86: Clean up mtrr/if.c\n  x86: Clean up mtrr/generic.c\n  x86: Clean up mtrr/cyrix.c\n  x86: Clean up mtrr/cleanup.c\n  x86: Clean up mtrr/centaur.c\n  x86: Clean up mtrr/amd.c:\n  x86: ds.c fix invalid assignment\n"
    },
    {
      "commit": "9b74aec028e7d7ce57b8deef490e440003555520",
      "tree": "c6804dba556f981ce1a2363582dbbd9a55e85489",
      "parents": [
        "b581af5110ab62db3a33f86ea7531d5f898a520c",
        "73a2d096fdf23aa841f7595d114a11ec85a85e4d"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Sep 14 07:55:37 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Sep 14 07:55:37 2009 -0700"
      },
      "message": "Merge branch \u0027x86-asm-generic-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip\n\n* \u0027x86-asm-generic-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:\n  x86: remove all now-duplicate header files\n  x86: convert termios.h to the asm-generic version\n  x86: convert almost generic headers to asm-generic version\n  x86: convert trivial headers to asm-generic version\n  x86: add copies of some headers to convert to asm-generic\n"
    },
    {
      "commit": "b581af5110ab62db3a33f86ea7531d5f898a520c",
      "tree": "eef312788928ad26ab5687438903bf19f6aaa207",
      "parents": [
        "ffaf854b011bde97d63955a71232a20fe4382a38",
        "53f824520b6d84ca5b4a8fd71addc91dbf64357e"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Sep 14 07:53:49 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Sep 14 07:53:49 2009 -0700"
      },
      "message": "Merge branch \u0027x86-asm-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip\n\n* \u0027x86-asm-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:\n  x86/i386: Put aligned stack-canary in percpu shared_aligned section\n  x86/i386: Make sure stack-protector segment base is cache aligned\n  x86: Detect stack protector for i386 builds on x86_64\n  x86: allow \"\u003drm\" in native_save_fl()\n  x86: properly annotate alternatives.c\n  x86: Introduce GDT_ENTRY_INIT(), initialize bad_bios_desc statically\n  x86, 32-bit: Use generic sys_pipe()\n  x86: Introduce GDT_ENTRY_INIT(), fix APM\n  x86: Introduce GDT_ENTRY_INIT()\n  x86: Introduce set_desc_base() and set_desc_limit()\n  x86: Remove unused patch_espfix_desc()\n  x86: Use get_desc_base()\n"
    },
    {
      "commit": "ffaf854b011bde97d63955a71232a20fe4382a38",
      "tree": "7cd833505685b20bd11b065de1fd9b718b8b8b3f",
      "parents": [
        "86d710146fb9975f04c505ec78caa43d227c1018",
        "eebc57f73d42095b778e899f6aa90ad050c72655"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Sep 14 07:51:20 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Sep 14 07:51:20 2009 -0700"
      },
      "message": "Merge branch \u0027x86-apic-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip\n\n* \u0027x86-apic-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip: (24 commits)\n  ACPI, x86: expose some IO-APIC routines when CONFIG_ACPI\u003dn\n  x86, apic: Slim down stack usage in early_init_lapic_mapping()\n  x86, ioapic: Get rid of needless check and simplify ioapic_setup_resources()\n  x86, ioapic: Define IO_APIC_DEFAULT_PHYS_BASE constant\n  x86: Fix x86_model test in es7000_apic_is_cluster()\n  x86, apic: Move dmar_table_init() out of enable_IR()\n  x86, ioapic: Panic on irq-pin binding only if needed\n  x86/apic: Enable x2APIC without interrupt remapping under KVM\n  x86, apic: Drop redundant bit assignment\n  x86, ioapic: Throw BUG instead of NULL dereference\n  x86, ioapic: Introduce for_each_irq_pin() helper\n  x86: Remove superfluous NULL pointer check in destroy_irq()\n  x86/ioapic.c: unify ioapic_retrigger_irq()\n  x86/ioapic.c: convert __target_IO_APIC_irq to conventional for() loop\n  x86/ioapic.c: clean up replace_pin_at_irq_node logic and comments\n  x86/ioapic.c: convert replace_pin_at_irq_node to conventional for() loop\n  x86/ioapic.c: simplify add_pin_to_irq_node()\n  x86/ioapic.c: convert io_apic_level_ack_pending loop to normal for() loop\n  x86/ioapic.c: move lost comment to what seems like appropriate place\n  x86/ioapic.c: remove redundant declaration of irq_pin_list\n  ...\n"
    },
    {
      "commit": "41f4db0f48c72db3a93cc1a0b18368d9a9aca700",
      "tree": "1cf648ef55b9cfa28012268ab6b0b5c3477534f1",
      "parents": [
        "0f3fe33b398abbecfcf9f08c16959d1a9a14a49a"
      ],
      "author": {
        "name": "Ryusuke Konishi",
        "email": "konishi.ryusuke@lab.ntt.co.jp",
        "time": "Sat Aug 08 16:09:46 2009 +0900"
      },
      "committer": {
        "name": "Ryusuke Konishi",
        "email": "konishi.ryusuke@lab.ntt.co.jp",
        "time": "Mon Sep 14 18:27:16 2009 +0900"
      },
      "message": "fs/Kconfig: move nilfs2 outside misc filesystems\n\nSome people asked me questions like the following:\n\nOn Wed, 15 Jul 2009 13:11:21 +0200, Leon Woestenberg wrote:\n\u003e just wondering, any reasons why NILFS2 is one of the miscellaneous\n\u003e filesystems and, for example, btrfs, is not in Kconfig?\n\nActually, nilfs is NOT a filesystem came from other operating systems,\nbut a filesystem created purely for Linux.  Nor is it a flash\nfilesystem but that for generic block devices.\n\nSo, this moves nilfs outside the misc category as I responded in LKML\n\"Re: Why does NILFS2 hide under Miscellaneous filesystems?\"\n(Message-Id: \u003c20090716.002526.93465395.ryusuke@osrg.net\u003e).\n\nSigned-off-by: Ryusuke Konishi \u003ckonishi.ryusuke@lab.ntt.co.jp\u003e\n"
    },
    {
      "commit": "0f3fe33b398abbecfcf9f08c16959d1a9a14a49a",
      "tree": "a60a3e8a3b90b173a58a2ba9d86e1363598bd279",
      "parents": [
        "2e0c2c73923fed27337039ddfd69985e6c4b91fe"
      ],
      "author": {
        "name": "Ryusuke Konishi",
        "email": "konishi.ryusuke@lab.ntt.co.jp",
        "time": "Sat Aug 15 02:29:28 2009 +0900"
      },
      "committer": {
        "name": "Ryusuke Konishi",
        "email": "konishi.ryusuke@lab.ntt.co.jp",
        "time": "Mon Sep 14 18:27:16 2009 +0900"
      },
      "message": "nilfs2: convert nilfs_bmap_lookup to an inline function\n\nThe nilfs_bmap_lookup() is now a wrapper function of\nnilfs_bmap_lookup_at_level().\n\nThis moves the nilfs_bmap_lookup() to a header file converting it to\nan inline function and gives an opportunity for optimization.\n\nSigned-off-by: Ryusuke Konishi \u003ckonishi.ryusuke@lab.ntt.co.jp\u003e\n"
    },
    {
      "commit": "2e0c2c73923fed27337039ddfd69985e6c4b91fe",
      "tree": "a6c4a318776f5804f53994acad7254c7404418f0",
      "parents": [
        "bd8169efae8bdd292675c386010f6b35f0771057"
      ],
      "author": {
        "name": "Ryusuke Konishi",
        "email": "konishi.ryusuke@lab.ntt.co.jp",
        "time": "Sat Aug 15 15:34:33 2009 +0900"
      },
      "committer": {
        "name": "Ryusuke Konishi",
        "email": "konishi.ryusuke@lab.ntt.co.jp",
        "time": "Mon Sep 14 18:27:16 2009 +0900"
      },
      "message": "nilfs2: allow btree code to directly call dat operations\n\nThe current btree code is written so that btree functions call dat\noperations via wrapper functions in bmap.c when they allocate, free,\nor modify virtual block addresses.\n\nThis abstraction requires additional function calls and causes\nfrequent call of nilfs_bmap_get_dat() function since it is used in the\nevery wrapper function.\n\nThis removes the wrapper functions and makes them available from\nbtree.c and direct.c, which will increase the opportunity of\ncompiler optimization.\n\nSigned-off-by: Ryusuke Konishi \u003ckonishi.ryusuke@lab.ntt.co.jp\u003e\n"
    },
    {
      "commit": "bd8169efae8bdd292675c386010f6b35f0771057",
      "tree": "aea73bd670910874eb78fd1f2c8ce8b2a494dfcb",
      "parents": [
        "7a102b09232be1ad7c180dfd1f46c7aa95dff1e0"
      ],
      "author": {
        "name": "Ryusuke Konishi",
        "email": "konishi.ryusuke@lab.ntt.co.jp",
        "time": "Sat Aug 15 17:22:13 2009 +0900"
      },
      "committer": {
        "name": "Ryusuke Konishi",
        "email": "konishi.ryusuke@lab.ntt.co.jp",
        "time": "Mon Sep 14 18:27:15 2009 +0900"
      },
      "message": "nilfs2: add update functions of virtual block address to dat\n\nThis is a preparation for the successive cleanup (\"nilfs2: allow btree\nto directly call dat operations\").\n\nThis adds functions bundling a few operations to change an entry of\nvirtual block address on the dat file.\n\nSigned-off-by: Ryusuke Konishi \u003ckonishi.ryusuke@lab.ntt.co.jp\u003e\n"
    },
    {
      "commit": "7a102b09232be1ad7c180dfd1f46c7aa95dff1e0",
      "tree": "81691c3a48e3108db1a5341c8dcf4531ac404cac",
      "parents": [
        "3218929dbd25245e0f601df1e359a3ed3f7fb03b"
      ],
      "author": {
        "name": "Ryusuke Konishi",
        "email": "konishi.ryusuke@lab.ntt.co.jp",
        "time": "Sat Aug 15 13:47:09 2009 +0900"
      },
      "committer": {
        "name": "Ryusuke Konishi",
        "email": "konishi.ryusuke@lab.ntt.co.jp",
        "time": "Mon Sep 14 18:27:15 2009 +0900"
      },
      "message": "nilfs2: remove individual gfp constants for each metadata file\n\nThis gets rid of NILFS_CPFILE_GFP, NILFS_SUFILE_GFP, NILFS_DAT_GFP,\nand NILFS_IFILE_GFP.  All of these constants refer to NILFS_MDT_GFP,\nand can be removed.\n\nSigned-off-by: Ryusuke Konishi \u003ckonishi.ryusuke@lab.ntt.co.jp\u003e\n"
    },
    {
      "commit": "3218929dbd25245e0f601df1e359a3ed3f7fb03b",
      "tree": "4f3f0f21b9f2e6eaa255315c659c1168ad3b5c96",
      "parents": [
        "6d28f7ea43856449ed2f344cb209af3ba1c6b757"
      ],
      "author": {
        "name": "Ryusuke Konishi",
        "email": "konishi.ryusuke@lab.ntt.co.jp",
        "time": "Sat Aug 15 01:54:59 2009 +0900"
      },
      "committer": {
        "name": "Ryusuke Konishi",
        "email": "konishi.ryusuke@lab.ntt.co.jp",
        "time": "Mon Sep 14 18:27:15 2009 +0900"
      },
      "message": "nilfs2: stop zero-fill of btree path just before free it\n\nThe btree path object is cleared just before it is freed.\n\nThis will remove the code doing the unnecessary clear operation.\n\nSigned-off-by: Ryusuke Konishi \u003ckonishi.ryusuke@lab.ntt.co.jp\u003e\n"
    },
    {
      "commit": "6d28f7ea43856449ed2f344cb209af3ba1c6b757",
      "tree": "e41a19062d0956f698eb6ec7deccb6d8ebabfced",
      "parents": [
        "9ead98637300dc7caefd904bbe1e092bf4d21f87"
      ],
      "author": {
        "name": "Ryusuke Konishi",
        "email": "konishi.ryusuke@lab.ntt.co.jp",
        "time": "Sat Aug 15 01:14:10 2009 +0900"
      },
      "committer": {
        "name": "Ryusuke Konishi",
        "email": "konishi.ryusuke@lab.ntt.co.jp",
        "time": "Mon Sep 14 18:27:15 2009 +0900"
      },
      "message": "nilfs2: remove unused btree argument from btree functions\n\nEven though many btree functions take a btree object as their first\nargument, most of them are not used in their functions.\n\nThis sticky use of the btree argument is hurting code readability and\ngiving the possibility of inefficient code generation.\n\nSo, this removes the unnecessary btree arguments.\n\nSigned-off-by: Ryusuke Konishi \u003ckonishi.ryusuke@lab.ntt.co.jp\u003e\n"
    },
    {
      "commit": "9ead98637300dc7caefd904bbe1e092bf4d21f87",
      "tree": "e90ef82f107ae807cf5b1ef6f8e92afe7c7a8f70",
      "parents": [
        "1cf58fa840472ec7df6bf2312885949ebb308853"
      ],
      "author": {
        "name": "Ryusuke Konishi",
        "email": "konishi.ryusuke@lab.ntt.co.jp",
        "time": "Fri Aug 14 23:39:45 2009 +0900"
      },
      "committer": {
        "name": "Ryusuke Konishi",
        "email": "konishi.ryusuke@lab.ntt.co.jp",
        "time": "Mon Sep 14 18:27:15 2009 +0900"
      },
      "message": "nilfs2: remove nilfs_dat_abort_start and nilfs_dat_abort_free\n\nThese functions are not called from any functions.\n\nSigned-off-by: Ryusuke Konishi \u003ckonishi.ryusuke@lab.ntt.co.jp\u003e\n"
    },
    {
      "commit": "1cf58fa840472ec7df6bf2312885949ebb308853",
      "tree": "2743a6ab63331703e6c9abbb714e2bf13744d009",
      "parents": [
        "43be0ec0387a5ccce2e064cb78502e7b2b4dd590"
      ],
      "author": {
        "name": "Jiro SEKIBA",
        "email": "jir@unicus.jp",
        "time": "Thu Sep 03 22:24:17 2009 +0900"
      },
      "committer": {
        "name": "Ryusuke Konishi",
        "email": "konishi.ryusuke@lab.ntt.co.jp",
        "time": "Mon Sep 14 18:27:15 2009 +0900"
      },
      "message": "nilfs2: shorten freeze period due to GC in write operation v3\n\nThis is a re-revised patch to shorten freeze period.\nThis version include a fix of the bug Konishi-san mentioned last time.\n\nWhen GC is runnning, GC moves live block to difference segments.\nCopying live blocks into memory is done in a transaction,\nhowever it is not necessarily to be in the transaction.\nThis patch will get the nilfs_ioctl_move_blocks() out from\ntransaction lock and put it before the transaction.\n\nI ran sysbench fileio test against nilfs partition.\nI copied some DVD/CD images and created snapshot to create live blocks\nbefore starting the benchmark.\n\nFollowings are summary of rc8 and rc8 w/ the patch of per-request\nstatistics, which is min/max and avg.  I ran each test three times and\nbellow is average of those numers.\n\nAccording to this benchmark result, average time is slightly degrated.\nHowever, worstcase (max) result is significantly improved.\nThis can address a few seconds write freeze.\n\n- random write per-request performance of rc8\n min   0.843ms\n max 680.406ms\n avg   3.050ms\n- random write per-request performance of rc8 w/ this patch\n min   0.843ms -\u003e 100.00%\n max 380.490ms -\u003e  55.90%\n avg   3.233ms -\u003e 106.00%\n\n- sequential write per-request performance of rc8\n min   0.736ms\n max 774.343ms\n avg   2.883ms\n- sequential write per-request performance of rc8 w/ this patch\n min   0.720ms -\u003e  97.80%\n max  644.280ms-\u003e  83.20%\n avg   3.130ms -\u003e 108.50%\n\n-----8\u003c-----8\u003c-----nilfs_cleanerd.conf-----8\u003c-----8\u003c-----\nprotection_period       150\nselection_policy        timestamp       # timestamp in ascend order\nnsegments_per_clean     2\ncleaning_interval       2\nretry_interval          60\nuse_mmap\nlog_priority            info\n-----8\u003c-----8\u003c-----nilfs_cleanerd.conf-----8\u003c-----8\u003c-----\n\nSigned-off-by: Jiro SEKIBA \u003cjir@unicus.jp\u003e\nSigned-off-by: Ryusuke Konishi \u003ckonishi.ryusuke@lab.ntt.co.jp\u003e\n"
    },
    {
      "commit": "43be0ec0387a5ccce2e064cb78502e7b2b4dd590",
      "tree": "e412246fce3f999b46b960ef416f1f10653ca895",
      "parents": [
        "a4f0b9c5b4ae83636dafde8f3a0e04b5e411a0f3"
      ],
      "author": {
        "name": "Zhu Yanhai",
        "email": "zhu.yanhai@gmail.com",
        "time": "Wed Aug 12 14:17:59 2009 +0800"
      },
      "committer": {
        "name": "Ryusuke Konishi",
        "email": "konishi.ryusuke@lab.ntt.co.jp",
        "time": "Mon Sep 14 18:27:14 2009 +0900"
      },
      "message": "nilfs2: add more check routines in mount process\n\nnilfs2: Add more safeguard routines and protections in mount process,\nwhich also makes nilfs2 report consistency error messages when\ncheckpoint number is invalid.\n\nSigned-off-by: Zhu Yanhai \u003czhu.yanhai@gmail.com\u003e\nSigned-off-by: Ryusuke Konishi \u003ckonishi.ryusuke@lab.ntt.co.jp\u003e\n"
    },
    {
      "commit": "a4f0b9c5b4ae83636dafde8f3a0e04b5e411a0f3",
      "tree": "885111c7beec6e69680768c7fb1a8b22d53cd175",
      "parents": [
        "c1b353f04a42f1b531be920149b85343d56a6b3b"
      ],
      "author": {
        "name": "Zhang Qiang",
        "email": "zhangqiang.buaa@gmail.com",
        "time": "Sun Aug 09 19:13:10 2009 +0800"
      },
      "committer": {
        "name": "Ryusuke Konishi",
        "email": "konishi.ryusuke@lab.ntt.co.jp",
        "time": "Mon Sep 14 18:27:14 2009 +0900"
      },
      "message": "nilfs2: An unassigned variable is assigned to a never used structure member\n\nnilfs2: In procedure \u0027nilfs_get_sb()\u0027, when a nilfs filesysttem is\nmounted for the first time, local variable \u0027nilfs-\u003ens_last_cno\u0027 is\nused before loading the latest checkpoint number from disk (in\n\u0027nilfs_fill_super\u0027). \u0027nilfs-\u003ens_last_cno\u0027 is assigned to \u0027sd.cno\u0027, but\n\u0027sd.cno\u0027 has never been used in the procedure.\n\nSigned-off-by: Zhang Qiang \u003czhangqiang.buaa@gmail.com\u003e\nSigned-off-by: Ryusuke Konishi \u003ckonishi.ryusuke@lab.ntt.co.jp\u003e\n"
    },
    {
      "commit": "c1b353f04a42f1b531be920149b85343d56a6b3b",
      "tree": "40d81fd322b8ed70beba950ab47dbd0b90487936",
      "parents": [
        "1dfa27105a6cf4171c439fd40a004a0a17838115"
      ],
      "author": {
        "name": "Ryusuke Konishi",
        "email": "konishi.ryusuke@lab.ntt.co.jp",
        "time": "Fri Jun 19 15:25:42 2009 +0900"
      },
      "committer": {
        "name": "Ryusuke Konishi",
        "email": "konishi.ryusuke@lab.ntt.co.jp",
        "time": "Mon Sep 14 18:27:14 2009 +0900"
      },
      "message": "nilfs2: use GFP_NOIO for bio_alloc instead of GFP_NOWAIT\n\nAlberto Bertogli advised me about bio_alloc() use in nilfs:\nOn Sat, 13 Jun 2009 22:52:40 -0300, Alberto Bertogli wrote:\n\u003e By the way, those bio_alloc()s are using GFP_NOWAIT but it looks\n\u003e like they could use at least GFP_NOIO or GFP_NOFS, since the caller\n\u003e can (and sometimes do) sleep. The only caller is nilfs_submit_bh(),\n\u003e which calls nilfs_submit_seg_bio() which can sleep calling\n\u003e wait_for_completion().\n\nThis takes in the comment and replaces the use of GFP_NOWAIT flag with\nGFP_NOIO.\n\nSigned-off-by: Ryusuke Konishi \u003ckonishi.ryusuke@lab.ntt.co.jp\u003e\n"
    },
    {
      "commit": "1dfa27105a6cf4171c439fd40a004a0a17838115",
      "tree": "7d348398a9e623324ca86eafd050b8c12abf3cea",
      "parents": [
        "79efdd94111f30c373fce05e4e5822d8ff671c2a"
      ],
      "author": {
        "name": "Jiro SEKIBA",
        "email": "jir@unicus.jp",
        "time": "Thu Jul 23 01:33:49 2009 +0900"
      },
      "committer": {
        "name": "Ryusuke Konishi",
        "email": "konishi.ryusuke@lab.ntt.co.jp",
        "time": "Mon Sep 14 18:27:14 2009 +0900"
      },
      "message": "nilfs2: stop using periodic write_super callback\n\nThis removes nilfs_write_super and commit super block in nilfs\ninternal thread, instead of periodic write_super callback.\n\nVFS layer calls -\u003ewrite_super callback periodically.  However,\nit looks like that calling back is ommited when disk I/O is busy.\nAnd when cleanerd (nilfs GC) is runnig, disk I/O tend to be busy thus\nnilfs superblock is not synchronized as nilfs designed.\n\nTo avoid it, syncing superblock by nilfs thread instead of pdflush.\n\nSigned-off-by: Jiro SEKIBA \u003cjir@unicus.jp\u003e\nSigned-off-by: Ryusuke Konishi \u003ckonishi.ryusuke@lab.ntt.co.jp\u003e\n"
    },
    {
      "commit": "79efdd94111f30c373fce05e4e5822d8ff671c2a",
      "tree": "9d12c0e87146fb4fb63362f567e574d629a222a1",
      "parents": [
        "6233caa9d5b153c2190d6c1c35c1dd1010104fc1"
      ],
      "author": {
        "name": "Jiro SEKIBA",
        "email": "jir@unicus.jp",
        "time": "Thu Jul 23 01:26:34 2009 +0900"
      },
      "committer": {
        "name": "Ryusuke Konishi",
        "email": "konishi.ryusuke@lab.ntt.co.jp",
        "time": "Mon Sep 14 18:27:14 2009 +0900"
      },
      "message": "nilfs2: clean up nilfs_write_super\n\nSeparate conditions that check if syncing super block and alternative\nsuper block are required as inline functions to reuse the conditions.\n\nSigned-off-by: Jiro SEKIBA \u003cjir@unicus.jp\u003e\nSigned-off-by: Ryusuke Konishi \u003ckonishi.ryusuke@lab.ntt.co.jp\u003e\n"
    },
    {
      "commit": "6233caa9d5b153c2190d6c1c35c1dd1010104fc1",
      "tree": "885fdeacf10bbbecebf94fc274bfd84ff28066f6",
      "parents": [
        "ec5d66abdb0caf8b753a138568f20770a3d64c8c"
      ],
      "author": {
        "name": "Jiro SEKIBA",
        "email": "jir@unicus.jp",
        "time": "Thu Jul 23 01:26:33 2009 +0900"
      },
      "committer": {
        "name": "Ryusuke Konishi",
        "email": "konishi.ryusuke@lab.ntt.co.jp",
        "time": "Mon Sep 14 18:27:14 2009 +0900"
      },
      "message": "nilfs2: fix disorder of nilfs_write_super in nilfs_sync_fs\n\nThis fixes disorder of nilfs_write_super in nilfs_sync_fs.  Commiting\nsuper block must be the end of the function so that every changes are\nreflected.\n\n-\u003esync_fs() is not called frequently so this makes nilfs_sync_fs call\nnilfs_commit_super instead of nilfs_write_super.\n\nSigned-off-by: Jiro SEKIBA \u003cjir@unicus.jp\u003e\nSigned-off-by: Ryusuke Konishi \u003ckonishi.ryusuke@lab.ntt.co.jp\u003e\n"
    },
    {
      "commit": "ec5d66abdb0caf8b753a138568f20770a3d64c8c",
      "tree": "238dab276eab98a6aa0f560812e62adde759143a",
      "parents": [
        "b58a285ba40866e22e5876969a8f796a74311d9e"
      ],
      "author": {
        "name": "Jiro SEKIBA",
        "email": "jir@unicus.jp",
        "time": "Fri Jul 10 19:57:28 2009 +0900"
      },
      "committer": {
        "name": "Ryusuke Konishi",
        "email": "konishi.ryusuke@lab.ntt.co.jp",
        "time": "Mon Sep 14 18:27:13 2009 +0900"
      },
      "message": "nilfs2: remove redundant super block commit\n\nThis removes redundant super block commit.\n\nnilfs_write_super will call nilfs_commit_super to store super block\ninto block device.  However, nilfs_put_super will call\nnilfs_commit_super right after calling nilfs_write_super.  So calling\nnilfs_write_super in nilfs_put_super would be redundant.\n\nSigned-off-by: Jiro SEKIBA \u003cjir@unicus.jp\u003e\nSigned-off-by: Ryusuke Konishi \u003ckonishi.ryusuke@lab.ntt.co.jp\u003e\n"
    },
    {
      "commit": "b58a285ba40866e22e5876969a8f796a74311d9e",
      "tree": "9a667fdb99c0429c1871da626cb7589dec54adb7",
      "parents": [
        "143511046765504d2d1be633efd710f8d84e0407"
      ],
      "author": {
        "name": "Jiro SEKIBA",
        "email": "jir@unicus.jp",
        "time": "Wed Jun 24 20:06:34 2009 +0900"
      },
      "committer": {
        "name": "Ryusuke Konishi",
        "email": "konishi.ryusuke@lab.ntt.co.jp",
        "time": "Mon Sep 14 18:27:13 2009 +0900"
      },
      "message": "nilfs2: implement nilfs_show_options to display mount options in /proc/mounts\n\nThis is a patch to display mount options in procfs.\nMount options will show up in the /proc/mounts as other fs does.\n\n...\n/dev/sda6 /mnt nilfs2 ro,relatime,barrier\u003doff,cp\u003d3,order\u003dstrict 0 0\n...\n\nSigned-off-by: Jiro SEKIBA \u003cjir@unicus.jp\u003e\nSigned-off-by: Ryusuke Konishi \u003ckonishi.ryusuke@lab.ntt.co.jp\u003e\n"
    }
  ],
  "next": "143511046765504d2d1be633efd710f8d84e0407"
}
