#pragma section-numbers on #pragma keywords Linux, Kernel, Operative System, Changes, changelog, File system, Linus Torvalds, Open Source, drivers #pragma description Summary of the changes and new features merged in the Linux kernel during the 3.4 development cycle /!\ /!\ /!\ Linux 3.4 has not been released /!\ /!\ /!\ '''''Summary''''': [[TableOfContents()]] = Prominent features in Linux 3.4 = == Feature == = Driver and architecture-specific changes = All the driver and architecture-specific changes can be found in the [http://kernelnewbies.org/Linux_3.4_DriverArch Linux_3.4_DriverArch page] = File systems = * Ext4 * Remove the "resize" mount option, no longer useful in the age of online resize2fs [http://git.kernel.org/linus/661aa520577046192e50467b28c9c5726a8a9fb1 (commit)] * Remove the outdated "journal=update" mount option [http://git.kernel.org/linus/43e625d84fa7daca0ad46f1dbc965b04fd204afe (commit)] * Btrfs * Remove the relic caching code used before the space cache existed [http://git.kernel.org/linus/285ff5af6ce358e73f53b55c9efadd4335f4c2ff (commit)] * Stop silently switching single chunks to raid0 on balance [http://git.kernel.org/linus/e3176ca2769e420f64eba4b093bbddea6d7a89c3 (commit)] * FUSE * O_DIRECT support for files [http://git.kernel.org/linus/4273b793ec68753cc3fcf5be7cbfd88c2be2058d (commit)], * Allow nanosecond granularity [http://git.kernel.org/linus/0a2da9b2ef2ef76c09397597f260245b020e6522 (commit)] * NFS * Make 'clientaddr' mount option optional [http://git.kernel.org/linus/31b8e2aec099f22d40277c424d8c24b2a4c95fce (commit)] * Add mount options 'v4.0' and 'v4.1' [http://git.kernel.org/linus/7ced286e0ade171af89d32c22b1590e1ca480542 (commit)] * GFS2 * FITRIM ioctl support (the FITRIM ioctl provides an alternative way to send discard requests to the underlying device) [http://git.kernel.org/linus/66fc061bda3526650328b73f69985da3518c4256 (commit)] * Glock statistics gathering [http://git.kernel.org/linus/a245769f254bbbea868e2cf8dc42daa061cd276f (commit)] * XFS: Scalability improvements for quotas [http://git.kernel.org/linus/f8739c3ce2ac9a01515b56026b6a066c0808234b (commit)], [http://git.kernel.org/linus/9f920f116426806bfa34c1422742e1bf7b7a2b4b (commit)], [http://git.kernel.org/linus/a05931ceb0160deadbd7798d60d01b17f2d81b09 (commit)], [http://git.kernel.org/linus/b84a3a96751f93071c1863f2962273973c8b8f5e (commit)] * CIFS: Introduce credit-based flow control [http://git.kernel.org/linus/2d86dbc97094ea4cfc2204fdefd7d07685496189 (commit)] * HFSplus: Making an hfsplus partition bootable requires the ability to "bless" a file by putting its inode number in the volume header. Doing this from userspace on a mounted filesystem is impractical since the kernel will write back the original values on unmount. Add an ioctl to allow userspace to update the volume header information based on the target file [http://git.kernel.org/linus/a051f71ce97c53cde3ac64de64eb02d658d9308e (commit)] = Various core changes = * A new kernel parameter, "nomodule", will disable module loading [http://git.kernel.org/linus/02608bef8f774c058779546926889a2f2717a499 (commit)] * Allow userspace service managers/supervisors mark itself as a sort of 'sub-init', able to stay as the parent for all orphaned processes created by the started services. All SIGCHLD signals will be delivered to the service manager [http://git.kernel.org/linus/ebec18a6d3aa1e7d84aab16225e87fd25170ec2b (commit)] * Mark thread stack correctly in proc//maps [http://git.kernel.org/linus/b76437579d1344b612cf1851ae610c636cec7db0 (commit)] * tty: rework the pty count limits [http://git.kernel.org/linus/e9aba5158a80098447ff207a452a3418ae7ee386 (commit)] * kgdb: add the ability to control the reboot [http://git.kernel.org/linus/bec4d62ead8096e433d624d9339893f50badd992 (commit)] * vfs microoptimacion: use 'unsigned long' accesses for dcache name comparison [http://git.kernel.org/linus/bfcfaa77bdf0f775263e906015982a608df01c76 (commit)] = Memory management = * Make swap-in readahead skip over holes: when the swapped out data has holes, swap in things back in at rates of several MB/second, instead of a few hundred kB/second [http://git.kernel.org/linus/67f96aa252e606cdf6c3cf1032952ec207ec0cf0 (commit)] * radix-tree microoptimization: introduce bit-optimized iterator [http://git.kernel.org/linus/78c1d78488a3c45685d993130c9f17102dc79a54 (commit)] = Networking = * New "plug" queuing discipline: allows userspace to plug/unplug a network output queue, using the Netlink interface. When it receives an enqueue command it inserts a plug into the outbound queue that causes following packets to enqueue until a dequeue command arrives over netlink, causing the plug to be removed and resuming the normal packet flow [http://git.kernel.org/linus/c3059be16c9ef29c05f0876a9df5fea21f29724f (commit)] * BATMAN: add infrastructure to change routing algorithm [http://git.kernel.org/linus/1c280471b013e26c833fc86acc231c73442cfa21 (commit)] * TCP * md5: RCU conversion [http://git.kernel.org/linus/a915da9b69273815527ccb3789421cb7027b545b (commit)]. * Allow splice() syscall to build full TSO packets: vmsplice()/splice(pipe, socket) called do_tcp_sendpages() one page at a time, making slow start suboptimal [http://git.kernel.org/linus/2f53384424251c06038ae612e56231b96ab610ee (commit)] * Socket options * Implement IP_UNICAST_IF and IPV6_UNICAST_IF socket options. They are needed by the Wine project for [http://msdn.microsoft.com/en-us/library/windows/desktop/ms738586%28v=vs.85%29.aspx Windows] support [http://git.kernel.org/linus/76e21053b5bf33a07c76f99d27a74238310e3c71 (commit 1], [http://git.kernel.org/linus/c4062dfc425e94290ac427a98d6b4721dd2bc91f 2)] * Introduce the SO_PEEK_OFF sock option. This one specifies where to start MSG_PEEK-ing queue data from. When set to negative value means that MSG_PEEK works as ususally -- peeks from the head of the queue always [http://git.kernel.org/linus/ef64a54f6e558155b4f149bb10666b9e914b6c54 (commit)] * Support peeking offset for datagram, seqpacket and stream sockets [http://git.kernel.org/linus/f55bb7f9cb82dec2f2e803d7bd0fc5929248e4d8 (commit 1], [http://git.kernel.org/linus/fc0d753641f7b919c7273d9bd21ae6ab45e757f3 2)] * MSG_TRUNC support for dgram sockets. MSG_TRUNC asks recv() to return the real length of the packet, even when is was longer than the passed buffer [http://git.kernel.org/linus/9f6f9af7694ede6314bed281eec74d588ba9474f (commit)] * Add missing getsockopt for SO_NOFCS [http://git.kernel.org/linus/bc2f7996858db66f2d5b154aac10971655f72cad (commit)] * Netfilter * Add timeout extension. This allows you to attach timeout policies to flow via the connection tracking target [http://git.kernel.org/linus/dd705072412225a97784fe38feee2ebf8d14814d (commit)], [http://git.kernel.org/linus/50978462300f74dc48aea4a38471cb69bdf741a5 (commit)] * ctnetlink: add NAT support for expectations class [http://git.kernel.org/linus/076a0ca02644657b13e4af363f487ced2942e9cb (commit)] * ipset: The "nomatch" keyword and option is added to the hash:*net* types, by which one can add exception entries to sets [http://git.kernel.org/linus/2a7cef2a4ba64b9bf0ff9aeaa364554716c06669 (commit)] * Merge ipt_LOG and ip6_LOG into xt_LOG [http://git.kernel.org/linus/6939c33a757bd006c5e0b8b5fd429fc587a4d0f4 (commit)] * Bluetooth * Add support for a monitor channel that can be used to monitor all packets and events from the Bluetooth subsystem [http://git.kernel.org/linus/cd82e61c110a36e398323e422896fcfe05879fed (commit)] * Implement Bluetooth commands: Read Supported Commands [http://git.kernel.org/linus/e70bb2e89959983aebcfce28f645a1104ffa9ab2 (commit)], Set SSP [http://git.kernel.org/linus/ed2c4ee360709ca838efa0ea4d6295590aff3d24 (commit)], Set LE [http://git.kernel.org/linus/06199cf86a84206cfdc96b8dc02d5c27efa8c60f (commit)] = Virtualization = * KVM * x86: increase recommended max vcpus to 160 [http://git.kernel.org/linus/a59cb29e4d81e025192550c2703f305637f016f6 (commit)] * Allow host IRQ sharing for assigned PCI 2.3 devices [http://git.kernel.org/linus/07700a94b00a4fcbbfb07d1b72dc112a0e036735 (commit)] * Infrastructure for software and hardware based TSC rate [http://git.kernel.org/linus/cc578287e3224d0da196cc1d226bdae6b068faa7 (commit)] * PPC: Paravirtualize SPRG4-7, ESR, PIR, MASn [http://git.kernel.org/linus/b59049720dd95021dfe0d9f4e1fa9458a67cfe29 (commit)], e500: MMU API [http://git.kernel.org/linus/dc83b8bc0256ee682506ed83853a98eaba529c6f (commit)] * s390: "Userspace controlled virtual machines" add parameter for KVM_CREATE_VM [http://git.kernel.org/linus/e08b96371625aaa84cb03f51acc4c8e0be27403a (commit)] * hyperv * storvsc: Move the storage driver out of the staging area [http://git.kernel.org/linus/89ae7d709357df3a60e81c57613859d91d093ace (commit)] * Add support for VLAN trunking from guests [http://git.kernel.org/linus/1f5f3a75e216fe771b8d6805e0bb2f43595a6ee1 (commit)] * Support the newly introduced KVP messages in the driver [http://git.kernel.org/linus/fa3d5b85c681518b6e4ec515814dcb2d5b702b89 (commit)] * Fully support the new KVP verbs in the user level [http://git.kernel.org/linus/db425334e5bb7fa65bbbd7bea9d79842f65bcf45 (commit)] * hvc_xen: implement multiconsole support [http://git.kernel.org/linus/02e19f9c7cacfb33d7b2f5cace7972fa60f92319 (commit)], [http://git.kernel.org/linus/cf8e019b523a8caa95b56ff0ce62a4856b14395f (commit)] * Support enumeration from all the pools [http://git.kernel.org/linus/adc80ae60eae24a43a357bf5b30fb496f34aa605 (commit)] * Xen * Xen ACPI processor: C and P-state driver that uploads said data to hypervisor [http://git.kernel.org/linus/59a56802918100c1e39e68c30a2e5ae9f7d837f0 (commit)] * netfront: add netconsole support [http://git.kernel.org/linus/cf66f9d48a9c95baf8f13b199a633ce1c4cf952a (commit)] * virtio-pci: S3 support [http://git.kernel.org/linus/04c2322bee841121cfdd7f284e1d4274e9e60e33 (commit)] * rpmsg: add virtio-based remote processor messaging bus [http://git.kernel.org/linus/ac8954a413930dae3c53f7e782f09a94e7eae88b (commit)] = Crypto = * caam: add sha224 and sha384 variants to existing [http://git.kernel.org/linus/e863f9ccc7658883be7b42eb63851aef9da7630c (commit)] * camellia: add assembler implementation for x86_64 [http://git.kernel.org/linus/0b95ec56ae19f61ca664e83766a2180057f0e351 (commit)] * Driver for Tegra AES hardware [http://git.kernel.org/linus/f1df57d02a0f83e764b4dc9187f58665d70f190e (commit)] * crc32: add slice-by-8 algorithm to existing code [http://git.kernel.org/linus/324eb0f17d9dcead3c60c133aa244f6b3631fec9 (commit)] = Security = * Apparmor * Add "file" details to securityfs [http://git.kernel.org/linus/a9bf8e9fd561ba9ff1f0f2a1d96e439fcedaaaa4 (commit)] * Add initial "features" directory to securityfs [http://git.kernel.org/linus/e74abcf3359d0130e99a6511ac484a3ea9e6e988 (commit)] = Block = * Make cfq_target_latency tunable through sysfs. [http://git.kernel.org/linus/5bf14c0727a07ded1bd9fa6d77923d7e6dc32833 (commit)] * Device Manager (DM): * raid10: support resizing some RAID10 arrays. [http://git.kernel.org/linus/006a09a0ae0a494473a8cd82c8d1d653e37e6663 (commit)] * thin target: support discards [http://git.kernel.org/linus/104655fd4dcebd50068ef30253a001da72e3a081 (commit)] = Perf profiling = * ftrace: Add enable/disable ftrace_ops control interface [http://git.kernel.org/linus/e248491ac283b516958ca9ab62c8e74b6718bca8 (commit)] * perf bench: Allow passing an iteration count to "bench mem [http://git.kernel.org/linus/e3e877e79b7c6a322f9f628e87052c13581238cc (commit)] * perf report * Add --symbol-filter option [http://git.kernel.org/linus/b14ffaca44c60da1c900aa36131ef3d9858001fc (commit)] * Enable TUI in branch view mode [http://git.kernel.org/linus/a68c2c58171391ef368fced32a555b2f0ff106e5 (commit)] * script: Add option resolving vmlinux path [http://git.kernel.org/linus/0bc8d20580af74c9a8a39c200e269261e5cded05 (commit)] * Adding sysfs group format attribute for pmu device [http://git.kernel.org/linus/641cc938815dfd09f8fa1ec72deb814f0938ac33 (commit)] * Add support to specify pmu style event [http://git.kernel.org/linus/5f537a26590e696466aae7f41e6b77e92c8486d1 (commit)] * perf ui browser: Add 's' key to filter by symbol name [http://git.kernel.org/linus/938a23ae7f656ffde9dd67e83dddf4406f85d773 (commit)] * Rename "jump labels" to "static keys": Introduce 'struct static_key', [http://git.kernel.org/linus/ (commit)] ---- CategoryReleases