2067
Comment: Typo correction
|
21111
USB, V4L, bluetooth
|
Deletions are marked like this. | Additions are marked like this. |
Line 1: | Line 1: |
Linux 2.6.30 is currently in development. The release candidate -rc1 was released the 7 April 2009, closing the merge window. | Linux 2.6.30 is currently in development. The last prepatch version is -rc2, released the 15th April. |
Line 9: | Line 9: |
== NILFS2 log-structured filesystem == [http://www.nilfs.org NILFS2] (new implementation of a log-structured file system 2) is a log-structured filesystem, which allows continuous snapshotting. |
== NILFS2, a log-structured filesystem == NILFS2 is a new filesystem, contributed by [http://en.wikipedia.org/wiki/Nippon_Telegraph_and_Telephone_Corporation NTT] (Nippon Telegraph and Telephone Corporation) Labs. It uses a [http://en.wikipedia.org/wiki/Log-structured_file_system log-structured] design. What makes log-structured filesystems different is that they treat the whole disk as a consecutive list of blocks (called log). All the operations append data at the end of the log, they never rewrite blocks (except when there's no space left - in that case, new blocks are reclaimed from the tail of the log). The advantage of this approach is that writes are always sequential. Crashes can't corrupt the filesystem. On mount, the filesystem detects the real end of the log, and continues working from that point. Another advantage of this approach is that the log offers a coherent historical view of all the operations done in the disk in the past. This is called "continuous snapshotting" - snapshots of modifications done in all the filesystem at any time are created automatically due to the log-structure design, with no requeriment of intervention from an admin, and with the filesystem size as the only limit. NILFS2 allows to access those snapshots and even mount them (on read-only mode). NILFS2 is [http://www.nilfs.org/en/current_status.html under development]. Code: [http://git.kernel.org/?p=linux/kernel/git/torvalds/linux-2.6.git;a=tree;f=fs/nilfs2;hb=HEAD fs/nilfs2/]. Filesystem web page: [http://www.nilfs.org www.nilfs.org] |
Line 17: | Line 23: |
== FS-Cache, a caching filesystem == Recommended LWN article: [http://lwn.net/Articles/100321/ A general caching filesystem] FS-Cache is the Linux implementation of a cache layer for networking filesystems, similar to the [http://en.wikipedia.org/wiki/CacheFS CacheFS] of other Unixes. With this system, data from the networked filesystems can be cached on the disk, speeding up operations. This version adds support for NFS and AFS, but it's a generic layer that could be used by other networking filesystems or even non-networking (such as ISO9660) Code: Slow-work related changes: [http://git.kernel.org/linus/07fe7cb7c7c179f473fd9c823348fd3eb5dad369 (commit 1], [http://git.kernel.org/linus/109d9272c423f46604d45fedfe87e21ee0b25180 2], [http://git.kernel.org/linus/12e22c5e4bc08ab4b05ac079fe40d9891c5e81a0 3], [http://git.kernel.org/linus/8f0aa2f25b31ba27db84259141e52ee6ec0d2820 4)], FS-cache [http://git.kernel.org/linus/03fb3d2af96c2783c3a5bc03f3d984cf422f0e69 (commit 1], [http://git.kernel.org/linus/266cf658efcf6ac33541a46740f74f50c79d2b6b 2], [http://git.kernel.org/linus/2d6fff637037395cc946ef910a880b5fa67b5370 3], [http://git.kernel.org/linus/0dfc41d1efcc4180abfd32f68f0ade540e636ff6 4], [http://git.kernel.org/linus/06b3db1b9bccdc8c2c743122a89745279e5ecc46 5], [http://git.kernel.org/linus/7394daa8c61dfda4baa687f133748fa0b599b017 6], [http://git.kernel.org/linus/a6891645cf2ddd4778096848a864580e7258faba 7], [http://git.kernel.org/linus/0e04d4cefcf4d8fbbdb2c50e93ad541582933fd2 8], [http://git.kernel.org/linus/4c515dd47ab41be3f89e757d441661795470b376 9], [http://git.kernel.org/linus/955d00917f0c094e0f2fb88df967e980ab66b8ca 10], [http://git.kernel.org/linus/726dd7ff10c217dd74329c94643dc8ebea27334b 11], [http://git.kernel.org/linus/2868cbea72dc89ae0eb17693596b1dedaafff1c5 12], [http://git.kernel.org/linus/36c9559022850f919269564a74bf17fdabf4bb30 13], [http://git.kernel.org/linus/ccc4fc3d11e91477036d1f82bfa2d442f6ce77f0 14], [http://git.kernel.org/linus/952efe7b7840e1c726ae88222245e4efe6bd88f3 15] [http://git.kernel.org/linus/b510882281d56873e1194021643b7c325336f84f 16], [http://git.kernel.org/linus/385e1ca5f21c4680ad6a46a3aa2ea8af99e99c92 17] [http://git.kernel.org/linus/800a964787faef3509d194fa33268628c3d1daa9 18], [http://git.kernel.org/linus/9ae326a69004dea8af2dae4fde58de27db700a8d 19)]; AFS and NFS changes: [http://git.kernel.org/linus/9b3f26c9110dcea62716aca9b8c68ceb482227ef (commit 1], [http://git.kernel.org/linus/6b9b3514aa188183e74049853be43380ad49314f 2], [http://git.kernel.org/linus/c6a6f19e22da0a3d74214ee010224c9a30a794c1 3], [http://git.kernel.org/linus/3b9ce977b2f31b6c396b6fb620df9881a30fac9d 4], [http://git.kernel.org/linus/8ec442ae4c6577ed181682e534d4eef524e30b3c 5], [http://git.kernel.org/linus/147272813e043fb44bd112527951da70c1e663de 6], [http://git.kernel.org/linus/08734048b380103f0412f58b84c2f76a2c8b599f 7], [http://git.kernel.org/linus/10329a5d48f5abc14a37d30b706e330f8598297a 8], [http://git.kernel.org/linus/ef79c097bbe9724e13937271b3457df560e00370 9], [http://git.kernel.org/linus/d599064a1bca7bcbaabe54b94fa73ea86952cae3 10], [http://git.kernel.org/linus/6a51091d0775cdc4a923f2172c61925ad416aa32 11], [http://git.kernel.org/linus/545db45f0fc0d4203b045047798ce156972a3056 12], [http://git.kernel.org/linus/1fcdf534885b65e6d39780a5a89e9dfc5431cf68 13], [http://git.kernel.org/linus/f42b293d6d5259043a8944b556eeab427c695d57 14], [http://git.kernel.org/linus/9a9fc1c03315f1606596e55b4096d39e2079a041 15] [http://git.kernel.org/linus/7f8e05f60c87646e12c761fef61dd71a7e67112e 16], [http://git.kernel.org/linus/5d1acff159730770cbab68b19443518c92ab1000 17] [http://git.kernel.org/linus/b797cac7487dee6bfddeb161631c1bbc54fa3cdb 18)], Documentation: [http://git.kernel.org/?p=linux/kernel/git/torvalds/linux-2.6.git;a=blob;f=Documentation/filesystems/caching/fscache.txt Documentation/filesystems/caching/fscache.txt]. == Filesystems performance improvements == Shortly after the 2.6.29 release, lots of discussions occurred on LKML about disk I/O (summary available [http://lwn.net/Articles/326471/ at LWN]), how (and why) they can stall processes for minutes, and the effect of getting a file zeroed when rebooting after a rename or a truncate. Some changes have been done to limit those problems, like [http://valhenson.livejournal.com/36519.html setting the default mount-option to relatime], implicit internal fsync of a file after a rename or truncate in ext3, ext4 and btrfs, faster fsync() in ext3, default to data=writeback mode in Ext3, and improvements to CFQ. == Microblaze CPU architecture == This release adds support for the MMU-less [http://en.wikipedia.org/wiki/MicroBlaze Microblaze] FDT CPU architecture. Code: [http://git.kernel.org/?p=linux/kernel/git/torvalds/linux-2.6.git;a=tree;f=arch/microblaze;hb=HEAD arch/microblaze/] == Integrity Management Architecture == This is an infrastructure which use the Trusted Platform Module (TPM) to check that the OS has not been tampered with. ([LWN's article http://lwn.net/Articles/227937/] |
|
Line 24: | Line 64: |
* Integrity Management Architecture has been merged. | |
Line 31: | Line 72: |
* AFS * Now makes use of the FSCache infrastructure. * NFS * Now makes use of the FSCache infrastructure. |
|
Line 67: | Line 112: |
* Add driver for the ST STV0900 dual demodulator. [http://git.kernel.org/linus/e2bc99bac5415d4e6d252322c408b5008b0f3485 (commit 1], [http://git.kernel.org/linus/db7a4843dbd10db48752ded4dba81dfb9f580861 2], [http://git.kernel.org/linus/99277b3824e4bfd290c30e8981929373c9a9e6a4 3], [http://git.kernel.org/linus/ce45264eca4963e666ec170af1eeb0c4f5f8339e 4)] * Add driver for Zarlink ZL10036 DVB-S tuner. [http://git.kernel.org/linus/68b3289fdb27f5d3e32587766ddafa487037b0bd (commit)] * Add driver for the ST STV6110 silicon tuner. [http://git.kernel.org/linus/47220bc11f5bb4bc21ae7227278452ae82fefe18 (commit)] * Add driver for the LG Electronics LGDT3305 ATSC/QAM-B Demodulator [http://git.kernel.org/linus/cae78ed599c348999a318ace0fcc3ff0277c8fa4 (commit)] * Add driver for the Freescale MC44S803 tuner [http://git.kernel.org/linus/b72dbaefbdcdfc9b69fc3861b9de0a6240f5cc8a (commit)] * Add "Sony PlayTV" to dibcom driver [http://git.kernel.org/linus/0a6e1ed2f11d92e24c3792ce5403e2628a9f7a7e (commit)] * Add cx231xx USB driver [http://git.kernel.org/linus/e0d3bafd02586cfde286c320f56906fd9fa8d256 (commit)] * Add driver for Intel CE6230 DVB-T USB2.0 [http://git.kernel.org/linus/eebb876b0b8f7ee5e6c01a85433a754c9be88369 (commit)] * Add camera (CSI) driver for MX1 [http://git.kernel.org/linus/6acc81c394393b853e731cc67f17ef277d521123 (commit)] * zr364xx: add support for Aiptek DV T300 [http://git.kernel.org/linus/c76b638ca20d6cbf91ee017c6f2afd7d3fcd57ff (commit)] * af9015: add MC44S803 support [http://git.kernel.org/linus/d563399859bcc984aa2df38df62851163b1690b3 (commit)], add new USB ID for KWorld DVB-T 395U [http://git.kernel.org/linus/71bf2e08ce197ab7a92215cb4e08a68c755e32f9 (commit)], add new USB ID for KWorld USB DVB-T TV Stick II (VS-DVB-T 395U) [http://git.kernel.org/linus/58fe1595455566a1cfe22db6f5f59bc989e5a80f (commit)], add support for TrekStor DVB-T USB Stick [http://git.kernel.org/linus/261448405eb578972244ae406a2d785bc095f193 (commit)], add support for AverMedia AVerTV Volar Black HD (A850) [http://git.kernel.org/linus/3956fefc593c45a480466c76fdbfee5063d766bf (commit)] * bttv: Add support for IVCE-8784 support for V4L2 bttv driver [http://git.kernel.org/linus/ade0815c16734e8c25dbac9faf5b5d63bcccd533 (commit)], add support for ProVideo PV-183 [http://git.kernel.org/linus/dceaddb978a7fcd2efbdf6775a509529757327c3 (commit)], conceptronic CTVFMI2 PCI Id [http://git.kernel.org/linus/76ecf4599e55fd16bdb333a737c6243105c916e6 (commit)], add support for GeoVision GV-800(S) [http://git.kernel.org/linus/0c5db425519487d06a5a14eb369268f4a2b32677 (commit)] * gspca: Add new mr97310a subdriver. [http://git.kernel.org/linus/d661e62205498ce6518b9859bc30444e59737d8b (commit)], add new sq905 subdriver [http://git.kernel.org/linus/27d35fc3fb06284edec8a3c9f6872a1ce7405a48 (commit)], add new sq905c subdriver [http://git.kernel.org/linus/14a19c0a2254ba58ed7559e072456ab94c9a2d3c (commit)], add QCIF resolution support to m5602-ov9650 [http://git.kernel.org/linus/e31f9dd6624de2250d32b7ca88042b0bc51b3cc5 (commit)] * sms1xxx: add missing usb id 2040:2011 [http://git.kernel.org/linus/50b1a9fc259042666605ff65acd572eaa656ab0b (commit)] * em28xx: Add support for Kaiomy TVnPC U2 stick [http://git.kernel.org/linus/0bf4f6ce6d43b135867a78fa1b4ac58e22d2e329 (commit)], add support for Easy Cap Capture DC-60 [http://git.kernel.org/linus/56ee38071fe0cf1746d53c5b40a46a835b24fbe4 (commit)], add DVC 101 model to Pinnacle Dazzle description [http://git.kernel.org/linus/7aa0eabde08259c47586df934921c67cff36e7dc (commit)], add Pinnacle Dazzle Video Creator Plus DVC107 description [http://git.kernel.org/linus/1d6af821a91df15e3fc2720c223ec514ae83dc86 (commit)], add Kaiser Baas Video to DVD maker support [http://git.kernel.org/linus/ac40d9e09825c62b77e8b11b3ed201f390550351 (commit)], add SIIG AVTuner-PVR board [http://git.kernel.org/linus/1f372a930c85270b4435b508b3e029021b1c5b62 (commit)] * Add support for AVerMedia Cardbus Hybrid remote control [http://git.kernel.org/linus/cb3bf504f7c875070d56e84ce1e28aff8c3b6790 (commit)] * soc-camera: camera host driver for i.MX3x SoCs [http://git.kernel.org/linus/4f67130ad35d6760c27984cf94b13a8cb85e4034 (commit)] * mxl5007t: update driver for MxL 5007T V4 [http://git.kernel.org/linus/7434ca4343c001267cec25b0ade01b0551beb1e4 (commit)] * lnbp21: Add support for ST LNBH24 LNB power controller. [http://git.kernel.org/linus/8c1a23312b120194a415be354808f58ace582d10 (commit)] * cx23885: add support for NetUP Dual DVB-S2 CI card [http://git.kernel.org/linus/5a23b0762c9095e137ce9a559cc7c37b2f8fd083 (commit)], add support for DVBWorld DVBS2 PCI-e 2005. [http://git.kernel.org/linus/c9b8b04b267f9a7e472daa06cdf6d4963d503d1f (commit)], add support for TurboSight TBS6920 DVB-S2 PCI-e card. [http://git.kernel.org/linus/96318d0cca02a91b22a2e1a1097ffeea0b3becae (commit)], add support for TeVii S470 DVB-S2 PCI-e card. [http://git.kernel.org/linus/579943f5487baa7f9fd8e3189a4f357d6b06c76d (commit)] * saa7134: add DVB support for Avermedia A700 cards [http://git.kernel.org/linus/04574185aa9ad0e6be7db96252f3c479beb5b3fa (commit)], enable digital tv support for Hauppauge WinTV-HVR1120 [http://git.kernel.org/linus/3abdedd8a4e3b1a0ad164c67929b3e798c85cd11 (commit)], add RDS support. [http://git.kernel.org/linus/2983baf8d6c1a564b6bbcc3e142f2e9408d9cbbe (commit)] * dib0700: add support for Hauppauge ATSC MiniCard [http://git.kernel.org/linus/ce904bcba41d0b4b809e9573ca43f391e5ffcf4b (commit)], support Yuan MC770 DVB-T (1164:0871) [http://git.kernel.org/linus/16ba1ee5d2d4d5d3b7d69a7a2e49de393aa931e5 (commit)], add Elgato EyeTV DTT to dibcom driver [http://git.kernel.org/linus/919a5488dba69c79d52876e8d4f9bc0ffe0c58fe (commit)], add ids for Yuan PD378S DVB adapter [http://git.kernel.org/linus/9abb6e6f5942885b7ca387a41e55e645732d63bc (commit)] * cx88: add support for Terratec Cinergy HT PCI MKII [http://git.kernel.org/linus/70101a2785598f1a743c1e0fb65264c55bf5a29f (commit)] * zl10353: add support for Intel CE6230 and Intel CE6231 [http://git.kernel.org/linus/378a2793eb5e1e6bcd44f85d368ad6962c8ce1ee (commit)] * tvaudio: add tda9875 support. [http://git.kernel.org/linus/411674fd189abe5910ea4caf08b7eac5c4a4d967 (commit)] * uvcvideo: Add support for Syntek cameras found in JAOtech Smart Terminals [http://git.kernel.org/linus/0ce566da77767bc7dd6e4016a6544c9e814d2ed3 (commit)], add support for the Alcor Micro AU3820 chipset. [http://git.kernel.org/linus/f61d1d8a563b1f3c5f1f55d856278aae3fd3987e (commit)] * ce6230: Add AVerMedia A310 USB IDs to CE6230 driver. [http://git.kernel.org/linus/80801da83389b2c6e55e1f8f5d17f923ce54f7c8 (commit)] * lgs8gxx: Support for Legend Silicon LGS8913/LGS8GL5/LGS8GXX China DMB-TH digital demodulator [http://git.kernel.org/linus/f15da16d869be8be5ef991f8d042532c119310fa (commit)] |
|
Line 68: | Line 142: |
* serial: add qualcomm wireless modem driver [http://git.kernel.org/linus/a78b42824dd7c2b40d72fb01f1b1842f7e845f3a (commit)], add symbol serial driver [http://git.kernel.org/linus/68b44eaed5def7b6490c23c3e88c6f2ccec57beb (commit)] * usbmon: Add binary API v1 [http://git.kernel.org/linus/471c604daf73ff549d374ee54f9e6bfd5a54d4e8 (commit)] * Add platform device support for the ISP1760 USB chip [http://git.kernel.org/linus/f7e7aa5850839faa5eb7c7c177da5fd6bca8949b (commit)] * Allow libusb to talk to unauthenticated WUSB devices [http://git.kernel.org/linus/6da9c99059bf24fb1faae6b9613bae64ea50c05e (commit)] * musb: partial DaVinci dm355 support [http://git.kernel.org/linus/a227fd7db74fa05d866790a4b29ba049bb5035cc (commit)] * otg: adding nop usb transceiver [http://git.kernel.org/linus/f6d92a05c86754d62eabc84856d2035d0de3ddc3 (commit)] * qcserial: add device id for HP devices [http://git.kernel.org/linus/fd8345f8dea93691b0ceba55146088d8c05415f6 (commit)] * r8a66597-hcd: suspend/resume support [http://git.kernel.org/linus/e1e609be49c9d345e8b67a122a7cdae48ad27c7e (commit)] * remove phidget drivers from kernel tree. [http://git.kernel.org/linus/77aa2b5878f48d6ab6e0c412cc9214c845483475 (commit)] * serial: opticon: add write support [http://git.kernel.org/linus/648d4e16567eae4c643bd2125e91128f06c0d3ad (commit)] * serial: opticon: add serial line ioctls [http://git.kernel.org/linus/faac64ad9c7b1aa56a10be6b5f9b813789e81dfd (commit)] * usb-storage: subdriver separation [http://git.kernel.org/linus/e6e244b6cb1f70e7109381626293cd40a8334ed3 (commit)] |
|
Line 69: | Line 156: |
* LM95241 driver [http://git.kernel.org/linus/061603275814544842e7df77d1157eff18565997 (commit)] * Add LTC4215 driver [http://git.kernel.org/linus/72f5de92e199f96cfcea125aefc76c138d8c553c (commit)] * sht15 humidity sensor driver [http://git.kernel.org/linus/251eb40f5ccd07a905633a816fbf8f2b6b25cced (commit)] * Add Asus ATK0110 support [http://git.kernel.org/linus/2c03d07ad54db03b813bb98c469790c07ca9f5dd (commit)] * Add support for GMT G760A fan speed PWM controller [http://git.kernel.org/linus/3bcfa9e47a7d1be6faef3be6c4b2049e585e2f38 (commit)] * fschmd: Add support for the FSC Hades IC [http://git.kernel.org/linus/de15f093e666ccd542f6f7a0e3e917166a07ab44 (commit)], add support for the FSC Syleus IC [http://git.kernel.org/linus/c69ab2b78efbe388bb0fc5d885b718ff4668cceb (commit)] * w83627ehf: Add support for W83667HG [http://git.kernel.org/linus/237c8d2f54ff12bd4fea1a9d18a94ae5810271d3 (commit)] == Bluetooth == * Add enhanced security model for Simple Pairing [http://git.kernel.org/linus/8c1b235594fbab9a13240a1dac12ea9fd99b6440 (commit)] * Add global deferred socket parameter [http://git.kernel.org/linus/c4f912e155504e94dd4f3d63c378dab0ff03dbda (commit)] * Add support for deferring L2CAP connection setup [http://git.kernel.org/linus/f66dc81f44d918ee1aa1a9d821bb2f25c7592bc0 (commit)] * Add support for deferring RFCOMM connection setup [http://git.kernel.org/linus/bb23c0ab824653be4aa7dfca15b07b3059717004 (commit)] * Disconnect L2CAP connections without encryption [http://git.kernel.org/linus/f62e4323ab43c59e7cd7f72c1eb392d7c767ce5a (commit)] * Fix SCO state handling for incoming connections [http://git.kernel.org/linus/c89b6e6bda4c8021195778f47567d0cc9dbfe7ec (commit)] * Pause RFCOMM TX when encryption drops [http://git.kernel.org/linus/8c84b83076b5062f59b6167cdda90d9e5124aa71 (commit)] * Preparation for usage of SOL_BLUETOOTH [http://git.kernel.org/linus/d58daf42d29a3a4a4d4be46cf47ceee096789680 (commit)] * Reject incoming SCO connections without listeners [http://git.kernel.org/linus/71aeeaa1fd88fe7446391e0553336f0e0c2cfe6a (commit)] * Replace L2CAP link mode with security level [http://git.kernel.org/linus/2af6b9d518ddfbc4d6990d5f9c9b1a05341c1cef (commit)] * Replace RFCOMM link mode with security level [http://git.kernel.org/linus/9f2c8a03fbb3048cf38b158f87aa0c3c09bca084 (commit)] * Restrict application of socket options [http://git.kernel.org/linus/0588d94fd7e414367a7ae517569d2222441c255f (commit)] |
|
Line 72: | Line 181: |
* Add support for another version of 0e8f:0003 device in hid-pl [http://git.kernel.org/linus/27a9c17930fbc356cad1d77591a033b3d9b86dd7 (commit)] * Add support for Kye/Genius Ergo 525V [http://git.kernel.org/linus/794227415f8f5f395a9ed4269a4ee7a3c34f66a5 (commit)] * Autosuspend support for USB HID [http://git.kernel.org/linus/0361a28d3f9a4315a100c7b37ba0b55cfe15fe07 (commit)] * DragonRise game controller force feedback driver [http://git.kernel.org/linus/3f866fbd52d1863db5c07700e560aef22c4fdc01 (commit)] * Support Apple mini aluminum keyboard [http://git.kernel.org/linus/fef3f571ecc2a82395c531d97b3f71a59e04e946 (commit)] * support for Kensington slimblade device [http://git.kernel.org/linus/fdf93aa33268889e126aa677f2072238bd76adb0 (commit)] |
|
Line 76: | Line 192: |
== LEDs == * Add BD2802GU LED driver [http://git.kernel.org/linus/0b56129be72c38179697b7441aacbe133d515ff9 (commit)] * Add dac124s085 driver [http://git.kernel.org/linus/ac2dd0f110d5ab0359de7786e88e9971954ac7ee (commit)] * Add rb532 LED driver for the User LED [http://git.kernel.org/linus/ac67e23bed58a0e34a8cb9ecd1de6c78569f8ef2 (commit)] * Introduce lp5521 led driver [http://git.kernel.org/linus/67a32ec750109fdfc7cba311145a18d543521822 (commit)] * Simple driver for pwm driven LEDs [http://git.kernel.org/linus/41c42ff5dbe29b7b826e6736f960959c76e7acf0 (commit)] * Add gpio-led trigger [http://git.kernel.org/linus/17354bfe85275f1bdde7f4a27ebc1ba53e053939 (commit)] * Add openfirmware platform device support [http://git.kernel.org/linus/a7d878af94b223013a48078e0c8c0a654c24a057 (commit)] |
Linux 2.6.30 is currently in development. The last prepatch version is -rc2, released the 15th April.
This page is, obviously, a work in progress.
Summary:
1. Prominent features (the cool stuff)
1.1. NILFS2, a log-structured filesystem
NILFS2 is a new filesystem, contributed by [http://en.wikipedia.org/wiki/Nippon_Telegraph_and_Telephone_Corporation NTT] (Nippon Telegraph and Telephone Corporation) Labs. It uses a [http://en.wikipedia.org/wiki/Log-structured_file_system log-structured] design. What makes log-structured filesystems different is that they treat the whole disk as a consecutive list of blocks (called log). All the operations append data at the end of the log, they never rewrite blocks (except when there's no space left - in that case, new blocks are reclaimed from the tail of the log). The advantage of this approach is that writes are always sequential. Crashes can't corrupt the filesystem. On mount, the filesystem detects the real end of the log, and continues working from that point.
Another advantage of this approach is that the log offers a coherent historical view of all the operations done in the disk in the past. This is called "continuous snapshotting" - snapshots of modifications done in all the filesystem at any time are created automatically due to the log-structure design, with no requeriment of intervention from an admin, and with the filesystem size as the only limit. NILFS2 allows to access those snapshots and even mount them (on read-only mode).
NILFS2 is [http://www.nilfs.org/en/current_status.html under development]. Code: [http://git.kernel.org/?p=linux/kernel/git/torvalds/linux-2.6.git;a=tree;f=fs/nilfs2;hb=HEAD fs/nilfs2/]. Filesystem web page: [http://www.nilfs.org www.nilfs.org]
1.2. Support for Object-Based Storage Device
Object-Based Storage Device (OSD) are basically "smart" disks, which do not store the data as blocks, but more elaborated objects. 2.6.30 adds support to these devices in the SCSI layer, as well as the addition of a filesystem (exofs, Extended Object File System) able to use them.
([http://lwn.net/Articles/305740/ LWN's Article], where exofs is still known by its old name, osdfs)
1.3. FS-Cache, a caching filesystem
Recommended LWN article: [http://lwn.net/Articles/100321/ A general caching filesystem]
FS-Cache is the Linux implementation of a cache layer for networking filesystems, similar to the [http://en.wikipedia.org/wiki/CacheFS CacheFS] of other Unixes.
With this system, data from the networked filesystems can be cached on the disk, speeding up operations. This version adds support for NFS and AFS, but it's a generic layer that could be used by other networking filesystems or even non-networking (such as ISO9660)
Code: Slow-work related changes: [http://git.kernel.org/linus/07fe7cb7c7c179f473fd9c823348fd3eb5dad369 (commit 1], [http://git.kernel.org/linus/109d9272c423f46604d45fedfe87e21ee0b25180 2], [http://git.kernel.org/linus/12e22c5e4bc08ab4b05ac079fe40d9891c5e81a0 3], [http://git.kernel.org/linus/8f0aa2f25b31ba27db84259141e52ee6ec0d2820 4)], FS-cache [http://git.kernel.org/linus/03fb3d2af96c2783c3a5bc03f3d984cf422f0e69 (commit 1], [http://git.kernel.org/linus/266cf658efcf6ac33541a46740f74f50c79d2b6b 2], [http://git.kernel.org/linus/2d6fff637037395cc946ef910a880b5fa67b5370 3], [http://git.kernel.org/linus/0dfc41d1efcc4180abfd32f68f0ade540e636ff6 4], [http://git.kernel.org/linus/06b3db1b9bccdc8c2c743122a89745279e5ecc46 5], [http://git.kernel.org/linus/7394daa8c61dfda4baa687f133748fa0b599b017 6], [http://git.kernel.org/linus/a6891645cf2ddd4778096848a864580e7258faba 7], [http://git.kernel.org/linus/0e04d4cefcf4d8fbbdb2c50e93ad541582933fd2 8], [http://git.kernel.org/linus/4c515dd47ab41be3f89e757d441661795470b376 9], [http://git.kernel.org/linus/955d00917f0c094e0f2fb88df967e980ab66b8ca 10], [http://git.kernel.org/linus/726dd7ff10c217dd74329c94643dc8ebea27334b 11], [http://git.kernel.org/linus/2868cbea72dc89ae0eb17693596b1dedaafff1c5 12], [http://git.kernel.org/linus/36c9559022850f919269564a74bf17fdabf4bb30 13], [http://git.kernel.org/linus/ccc4fc3d11e91477036d1f82bfa2d442f6ce77f0 14], [http://git.kernel.org/linus/952efe7b7840e1c726ae88222245e4efe6bd88f3 15] [http://git.kernel.org/linus/b510882281d56873e1194021643b7c325336f84f 16], [http://git.kernel.org/linus/385e1ca5f21c4680ad6a46a3aa2ea8af99e99c92 17] [http://git.kernel.org/linus/800a964787faef3509d194fa33268628c3d1daa9 18], [http://git.kernel.org/linus/9ae326a69004dea8af2dae4fde58de27db700a8d 19)]; AFS and NFS changes: [http://git.kernel.org/linus/9b3f26c9110dcea62716aca9b8c68ceb482227ef (commit 1], [http://git.kernel.org/linus/6b9b3514aa188183e74049853be43380ad49314f 2], [http://git.kernel.org/linus/c6a6f19e22da0a3d74214ee010224c9a30a794c1 3], [http://git.kernel.org/linus/3b9ce977b2f31b6c396b6fb620df9881a30fac9d 4], [http://git.kernel.org/linus/8ec442ae4c6577ed181682e534d4eef524e30b3c 5], [http://git.kernel.org/linus/147272813e043fb44bd112527951da70c1e663de 6], [http://git.kernel.org/linus/08734048b380103f0412f58b84c2f76a2c8b599f 7], [http://git.kernel.org/linus/10329a5d48f5abc14a37d30b706e330f8598297a 8], [http://git.kernel.org/linus/ef79c097bbe9724e13937271b3457df560e00370 9], [http://git.kernel.org/linus/d599064a1bca7bcbaabe54b94fa73ea86952cae3 10], [http://git.kernel.org/linus/6a51091d0775cdc4a923f2172c61925ad416aa32 11], [http://git.kernel.org/linus/545db45f0fc0d4203b045047798ce156972a3056 12], [http://git.kernel.org/linus/1fcdf534885b65e6d39780a5a89e9dfc5431cf68 13], [http://git.kernel.org/linus/f42b293d6d5259043a8944b556eeab427c695d57 14], [http://git.kernel.org/linus/9a9fc1c03315f1606596e55b4096d39e2079a041 15] [http://git.kernel.org/linus/7f8e05f60c87646e12c761fef61dd71a7e67112e 16], [http://git.kernel.org/linus/5d1acff159730770cbab68b19443518c92ab1000 17] [http://git.kernel.org/linus/b797cac7487dee6bfddeb161631c1bbc54fa3cdb 18)], Documentation: [http://git.kernel.org/?p=linux/kernel/git/torvalds/linux-2.6.git;a=blob;f=Documentation/filesystems/caching/fscache.txt Documentation/filesystems/caching/fscache.txt].
1.4. Filesystems performance improvements
Shortly after the 2.6.29 release, lots of discussions occurred on LKML about disk I/O (summary available [http://lwn.net/Articles/326471/ at LWN]), how (and why) they can stall processes for minutes, and the effect of getting a file zeroed when rebooting after a rename or a truncate. Some changes have been done to limit those problems, like [http://valhenson.livejournal.com/36519.html setting the default mount-option to relatime], implicit internal fsync of a file after a rename or truncate in ext3, ext4 and btrfs, faster fsync() in ext3, default to data=writeback mode in Ext3, and improvements to CFQ.
1.5. Microblaze CPU architecture
This release adds support for the MMU-less [http://en.wikipedia.org/wiki/MicroBlaze Microblaze] FDT CPU architecture.
Code: [http://git.kernel.org/?p=linux/kernel/git/torvalds/linux-2.6.git;a=tree;f=arch/microblaze;hb=HEAD arch/microblaze/]
1.6. Integrity Management Architecture
This is an infrastructure which use the Trusted Platform Module (TPM) to check that the OS has not been tampered with. ([LWN's article http://lwn.net/Articles/227937/]
2. Various core changes
- Scheduler
- Memory management
3. Wi-Fi
4. Security
- Integrity Management Architecture has been merged.
5. Networking
6. Tracing
7. Filesystems
- ReiserFS
- Lots of clean-ups.
- Ext3
- fsync() improvements.
- AFS
- Now makes use of the FSCache infrastructure.
- NFS
- Now makes use of the FSCache infrastructure.
- btrfs
- Stack usage improvements.
- NILFS2
- The filesystem has been merged for this release. (see above)
- exofs
- The filesystem has been merged for this release.(see above)
8. Crypto
9. DM/MD
10. Virtualization
11. Architecture-specific changes
- X86
- ARM
- PPC
- SH
- S390
- Blackfin
- MIPS
- SPARC
- AVR32
12. Drivers
12.1. Storage
- SATA:
- IDE
- SCSI
- Add OSD support. (see above)
12.2. Graphics
12.3. Network
12.4. Input
12.5. Sound
12.6. V4L/DVB
Add driver for the ST STV0900 dual demodulator. [http://git.kernel.org/linus/e2bc99bac5415d4e6d252322c408b5008b0f3485 (commit 1], [http://git.kernel.org/linus/db7a4843dbd10db48752ded4dba81dfb9f580861 2], [http://git.kernel.org/linus/99277b3824e4bfd290c30e8981929373c9a9e6a4 3], [http://git.kernel.org/linus/ce45264eca4963e666ec170af1eeb0c4f5f8339e 4)]
Add driver for Zarlink ZL10036 DVB-S tuner. [http://git.kernel.org/linus/68b3289fdb27f5d3e32587766ddafa487037b0bd (commit)]
Add driver for the ST STV6110 silicon tuner. [http://git.kernel.org/linus/47220bc11f5bb4bc21ae7227278452ae82fefe18 (commit)]
Add driver for the LG Electronics LGDT3305 ATSC/QAM-B Demodulator [http://git.kernel.org/linus/cae78ed599c348999a318ace0fcc3ff0277c8fa4 (commit)]
Add driver for the Freescale MC44S803 tuner [http://git.kernel.org/linus/b72dbaefbdcdfc9b69fc3861b9de0a6240f5cc8a (commit)]
Add "Sony PlayTV" to dibcom driver [http://git.kernel.org/linus/0a6e1ed2f11d92e24c3792ce5403e2628a9f7a7e (commit)]
Add cx231xx USB driver [http://git.kernel.org/linus/e0d3bafd02586cfde286c320f56906fd9fa8d256 (commit)]
Add driver for Intel CE6230 DVB-T USB2.0 [http://git.kernel.org/linus/eebb876b0b8f7ee5e6c01a85433a754c9be88369 (commit)]
Add camera (CSI) driver for MX1 [http://git.kernel.org/linus/6acc81c394393b853e731cc67f17ef277d521123 (commit)]
zr364xx: add support for Aiptek DV T300 [http://git.kernel.org/linus/c76b638ca20d6cbf91ee017c6f2afd7d3fcd57ff (commit)]
af9015: add MC44S803 support [http://git.kernel.org/linus/d563399859bcc984aa2df38df62851163b1690b3 (commit)], add new USB ID for KWorld DVB-T 395U [http://git.kernel.org/linus/71bf2e08ce197ab7a92215cb4e08a68c755e32f9 (commit)], add new USB ID for KWorld USB DVB-T TV Stick II (VS-DVB-T 395U) [http://git.kernel.org/linus/58fe1595455566a1cfe22db6f5f59bc989e5a80f (commit)], add support for TrekStor DVB-T USB Stick [http://git.kernel.org/linus/261448405eb578972244ae406a2d785bc095f193 (commit)], add support for AverMedia AVerTV Volar Black HD (A850) [http://git.kernel.org/linus/3956fefc593c45a480466c76fdbfee5063d766bf (commit)]
bttv: Add support for IVCE-8784 support for V4L2 bttv driver [http://git.kernel.org/linus/ade0815c16734e8c25dbac9faf5b5d63bcccd533 (commit)], add support for ProVideo PV-183 [http://git.kernel.org/linus/dceaddb978a7fcd2efbdf6775a509529757327c3 (commit)], conceptronic CTVFMI2 PCI Id [http://git.kernel.org/linus/76ecf4599e55fd16bdb333a737c6243105c916e6 (commit)], add support for GeoVision GV-800(S) [http://git.kernel.org/linus/0c5db425519487d06a5a14eb369268f4a2b32677 (commit)]
gspca: Add new mr97310a subdriver. [http://git.kernel.org/linus/d661e62205498ce6518b9859bc30444e59737d8b (commit)], add new sq905 subdriver [http://git.kernel.org/linus/27d35fc3fb06284edec8a3c9f6872a1ce7405a48 (commit)], add new sq905c subdriver [http://git.kernel.org/linus/14a19c0a2254ba58ed7559e072456ab94c9a2d3c (commit)], add QCIF resolution support to m5602-ov9650 [http://git.kernel.org/linus/e31f9dd6624de2250d32b7ca88042b0bc51b3cc5 (commit)]
sms1xxx: add missing usb id 2040:2011 [http://git.kernel.org/linus/50b1a9fc259042666605ff65acd572eaa656ab0b (commit)]
em28xx: Add support for Kaiomy TVnPC U2 stick [http://git.kernel.org/linus/0bf4f6ce6d43b135867a78fa1b4ac58e22d2e329 (commit)], add support for Easy Cap Capture DC-60 [http://git.kernel.org/linus/56ee38071fe0cf1746d53c5b40a46a835b24fbe4 (commit)], add DVC 101 model to Pinnacle Dazzle description [http://git.kernel.org/linus/7aa0eabde08259c47586df934921c67cff36e7dc (commit)], add Pinnacle Dazzle Video Creator Plus DVC107 description [http://git.kernel.org/linus/1d6af821a91df15e3fc2720c223ec514ae83dc86 (commit)], add Kaiser Baas Video to DVD maker support [http://git.kernel.org/linus/ac40d9e09825c62b77e8b11b3ed201f390550351 (commit)], add SIIG AVTuner-PVR board [http://git.kernel.org/linus/1f372a930c85270b4435b508b3e029021b1c5b62 (commit)]
Add support for AVerMedia Cardbus Hybrid remote control [http://git.kernel.org/linus/cb3bf504f7c875070d56e84ce1e28aff8c3b6790 (commit)]
soc-camera: camera host driver for i.MX3x SoCs [http://git.kernel.org/linus/4f67130ad35d6760c27984cf94b13a8cb85e4034 (commit)]
mxl5007t: update driver for MxL 5007T V4 [http://git.kernel.org/linus/7434ca4343c001267cec25b0ade01b0551beb1e4 (commit)]
lnbp21: Add support for ST LNBH24 LNB power controller. [http://git.kernel.org/linus/8c1a23312b120194a415be354808f58ace582d10 (commit)]
cx23885: add support for NetUP Dual DVB-S2 CI card [http://git.kernel.org/linus/5a23b0762c9095e137ce9a559cc7c37b2f8fd083 (commit)], add support for DVBWorld DVBS2 PCI-e 2005. [http://git.kernel.org/linus/c9b8b04b267f9a7e472daa06cdf6d4963d503d1f (commit)], add support for TurboSight TBS6920 DVB-S2 PCI-e card. [http://git.kernel.org/linus/96318d0cca02a91b22a2e1a1097ffeea0b3becae (commit)], add support for TeVii S470 DVB-S2 PCI-e card. [http://git.kernel.org/linus/579943f5487baa7f9fd8e3189a4f357d6b06c76d (commit)]
saa7134: add DVB support for Avermedia A700 cards [http://git.kernel.org/linus/04574185aa9ad0e6be7db96252f3c479beb5b3fa (commit)], enable digital tv support for Hauppauge WinTV-HVR1120 [http://git.kernel.org/linus/3abdedd8a4e3b1a0ad164c67929b3e798c85cd11 (commit)], add RDS support. [http://git.kernel.org/linus/2983baf8d6c1a564b6bbcc3e142f2e9408d9cbbe (commit)]
dib0700: add support for Hauppauge ATSC MiniCard [http://git.kernel.org/linus/ce904bcba41d0b4b809e9573ca43f391e5ffcf4b (commit)], support Yuan MC770 DVB-T (1164:0871) [http://git.kernel.org/linus/16ba1ee5d2d4d5d3b7d69a7a2e49de393aa931e5 (commit)], add Elgato EyeTV DTT to dibcom driver [http://git.kernel.org/linus/919a5488dba69c79d52876e8d4f9bc0ffe0c58fe (commit)], add ids for Yuan PD378S DVB adapter [http://git.kernel.org/linus/9abb6e6f5942885b7ca387a41e55e645732d63bc (commit)]
cx88: add support for Terratec Cinergy HT PCI MKII [http://git.kernel.org/linus/70101a2785598f1a743c1e0fb65264c55bf5a29f (commit)]
zl10353: add support for Intel CE6230 and Intel CE6231 [http://git.kernel.org/linus/378a2793eb5e1e6bcd44f85d368ad6962c8ce1ee (commit)]
tvaudio: add tda9875 support. [http://git.kernel.org/linus/411674fd189abe5910ea4caf08b7eac5c4a4d967 (commit)]
uvcvideo: Add support for Syntek cameras found in JAOtech Smart Terminals [http://git.kernel.org/linus/0ce566da77767bc7dd6e4016a6544c9e814d2ed3 (commit)], add support for the Alcor Micro AU3820 chipset. [http://git.kernel.org/linus/f61d1d8a563b1f3c5f1f55d856278aae3fd3987e (commit)]
ce6230: Add AVerMedia A310 USB IDs to CE6230 driver. [http://git.kernel.org/linus/80801da83389b2c6e55e1f8f5d17f923ce54f7c8 (commit)]
lgs8gxx: Support for Legend Silicon LGS8913/LGS8GL5/LGS8GXX China DMB-TH digital demodulator [http://git.kernel.org/linus/f15da16d869be8be5ef991f8d042532c119310fa (commit)]
12.7. USB
serial: add qualcomm wireless modem driver [http://git.kernel.org/linus/a78b42824dd7c2b40d72fb01f1b1842f7e845f3a (commit)], add symbol serial driver [http://git.kernel.org/linus/68b44eaed5def7b6490c23c3e88c6f2ccec57beb (commit)]
usbmon: Add binary API v1 [http://git.kernel.org/linus/471c604daf73ff549d374ee54f9e6bfd5a54d4e8 (commit)]
Add platform device support for the ISP1760 USB chip [http://git.kernel.org/linus/f7e7aa5850839faa5eb7c7c177da5fd6bca8949b (commit)]
Allow libusb to talk to unauthenticated WUSB devices [http://git.kernel.org/linus/6da9c99059bf24fb1faae6b9613bae64ea50c05e (commit)]
musb: partial DaVinci dm355 support [http://git.kernel.org/linus/a227fd7db74fa05d866790a4b29ba049bb5035cc (commit)]
otg: adding nop usb transceiver [http://git.kernel.org/linus/f6d92a05c86754d62eabc84856d2035d0de3ddc3 (commit)]
qcserial: add device id for HP devices [http://git.kernel.org/linus/fd8345f8dea93691b0ceba55146088d8c05415f6 (commit)]
r8a66597-hcd: suspend/resume support [http://git.kernel.org/linus/e1e609be49c9d345e8b67a122a7cdae48ad27c7e (commit)]
remove phidget drivers from kernel tree. [http://git.kernel.org/linus/77aa2b5878f48d6ab6e0c412cc9214c845483475 (commit)]
serial: opticon: add write support [http://git.kernel.org/linus/648d4e16567eae4c643bd2125e91128f06c0d3ad (commit)]
serial: opticon: add serial line ioctls [http://git.kernel.org/linus/faac64ad9c7b1aa56a10be6b5f9b813789e81dfd (commit)]
usb-storage: subdriver separation [http://git.kernel.org/linus/e6e244b6cb1f70e7109381626293cd40a8334ed3 (commit)]
12.8. HWMON
LM95241 driver [http://git.kernel.org/linus/061603275814544842e7df77d1157eff18565997 (commit)]
Add LTC4215 driver [http://git.kernel.org/linus/72f5de92e199f96cfcea125aefc76c138d8c553c (commit)]
sht15 humidity sensor driver [http://git.kernel.org/linus/251eb40f5ccd07a905633a816fbf8f2b6b25cced (commit)]
Add Asus ATK0110 support [http://git.kernel.org/linus/2c03d07ad54db03b813bb98c469790c07ca9f5dd (commit)]
Add support for GMT G760A fan speed PWM controller [http://git.kernel.org/linus/3bcfa9e47a7d1be6faef3be6c4b2049e585e2f38 (commit)]
fschmd: Add support for the FSC Hades IC [http://git.kernel.org/linus/de15f093e666ccd542f6f7a0e3e917166a07ab44 (commit)], add support for the FSC Syleus IC [http://git.kernel.org/linus/c69ab2b78efbe388bb0fc5d885b718ff4668cceb (commit)]
w83627ehf: Add support for W83667HG [http://git.kernel.org/linus/237c8d2f54ff12bd4fea1a9d18a94ae5810271d3 (commit)]
12.9. Bluetooth
Add enhanced security model for Simple Pairing [http://git.kernel.org/linus/8c1b235594fbab9a13240a1dac12ea9fd99b6440 (commit)]
Add global deferred socket parameter [http://git.kernel.org/linus/c4f912e155504e94dd4f3d63c378dab0ff03dbda (commit)]
Add support for deferring L2CAP connection setup [http://git.kernel.org/linus/f66dc81f44d918ee1aa1a9d821bb2f25c7592bc0 (commit)]
Add support for deferring RFCOMM connection setup [http://git.kernel.org/linus/bb23c0ab824653be4aa7dfca15b07b3059717004 (commit)]
Disconnect L2CAP connections without encryption [http://git.kernel.org/linus/f62e4323ab43c59e7cd7f72c1eb392d7c767ce5a (commit)]
Fix SCO state handling for incoming connections [http://git.kernel.org/linus/c89b6e6bda4c8021195778f47567d0cc9dbfe7ec (commit)]
Pause RFCOMM TX when encryption drops [http://git.kernel.org/linus/8c84b83076b5062f59b6167cdda90d9e5124aa71 (commit)]
Preparation for usage of SOL_BLUETOOTH [http://git.kernel.org/linus/d58daf42d29a3a4a4d4be46cf47ceee096789680 (commit)]
Reject incoming SCO connections without listeners [http://git.kernel.org/linus/71aeeaa1fd88fe7446391e0553336f0e0c2cfe6a (commit)]
Replace L2CAP link mode with security level [http://git.kernel.org/linus/2af6b9d518ddfbc4d6990d5f9c9b1a05341c1cef (commit)]
Replace RFCOMM link mode with security level [http://git.kernel.org/linus/9f2c8a03fbb3048cf38b158f87aa0c3c09bca084 (commit)]
Restrict application of socket options [http://git.kernel.org/linus/0588d94fd7e414367a7ae517569d2222441c255f (commit)]
12.10. Watchdog
12.11. RTC
12.12. HID
Add support for another version of 0e8f:0003 device in hid-pl [http://git.kernel.org/linus/27a9c17930fbc356cad1d77591a033b3d9b86dd7 (commit)]
Add support for Kye/Genius Ergo 525V [http://git.kernel.org/linus/794227415f8f5f395a9ed4269a4ee7a3c34f66a5 (commit)]
Autosuspend support for USB HID [http://git.kernel.org/linus/0361a28d3f9a4315a100c7b37ba0b55cfe15fe07 (commit)]
DragonRise game controller force feedback driver [http://git.kernel.org/linus/3f866fbd52d1863db5c07700e560aef22c4fdc01 (commit)]
Support Apple mini aluminum keyboard [http://git.kernel.org/linus/fef3f571ecc2a82395c531d97b3f71a59e04e946 (commit)]
support for Kensington slimblade device [http://git.kernel.org/linus/fdf93aa33268889e126aa677f2072238bd76adb0 (commit)]
12.13. MTD
12.14. MFD
12.15. Power
12.16. Serial
12.17. LEDs
Add BD2802GU LED driver [http://git.kernel.org/linus/0b56129be72c38179697b7441aacbe133d515ff9 (commit)]
Add dac124s085 driver [http://git.kernel.org/linus/ac2dd0f110d5ab0359de7786e88e9971954ac7ee (commit)]
Add rb532 LED driver for the User LED [http://git.kernel.org/linus/ac67e23bed58a0e34a8cb9ecd1de6c78569f8ef2 (commit)]
Introduce lp5521 led driver [http://git.kernel.org/linus/67a32ec750109fdfc7cba311145a18d543521822 (commit)]
Simple driver for pwm driven LEDs [http://git.kernel.org/linus/41c42ff5dbe29b7b826e6736f960959c76e7acf0 (commit)]
Add gpio-led trigger [http://git.kernel.org/linus/17354bfe85275f1bdde7f4a27ebc1ba53e053939 (commit)]
Add openfirmware platform device support [http://git.kernel.org/linus/a7d878af94b223013a48078e0c8c0a654c24a057 (commit)]
12.18. Various
13. Other sources about 2.6.30 kernel
- Heise Online's Kernel Log :
[http://www.h-online.com/open/Kernel-Log-Linux-2-6-30-is-taking-shape--/news/113036 Linux 2.6.30 is taking shape]
- Linux Weekly news :
[http://lwn.net/Articles/325921/ 2.6.30 merge window, part I]