|
|
Subscribe / Log in / New account

4.13 Merge window, part 2

By Jonathan Corbet
July 16, 2017
By the end of the 4.13 merge window, 11,258 non-merge changesets had been pulled into the mainline repository — about 3,600 since the first half of this series was written. That is nowhere near the 12,920 changesets that landed during the 4.12 merge window, but it still makes for a typically busy development cycle. What follows is a summary of the more interesting changes found in those last 3,600+ changesets.

Some of the more significant user-visible changes are:

  • The mechanism for better reporting of writeback errors described in this article has been merged. This should result in more reliable reporting of errors to user-space applications. (This is in addition to the error-code refactoring changes reported last week.)

  • The ext4 filesystem has a new "largedir" option that increases the number of files that can exist in a single directory. Users who find the current limit of about 10 million files a bit constraining can enable this feature and raise the limit to around 2 billion. That should hold most people for the next few years.

  • The storage of extended attributes in ext4 filesystems can be optionally changed to allow many more attributes to be stored per file, and those attributes can each be up to 64KB in length. There is also a new deduplication feature that allows the filesystem to store a single copy of attributes that are applied to multiple files.

  • The f2fs filesystem now supports disk quotas.

  • The overlayfs union filesystem has a new "index directory" feature that makes copy-up operations work without breaking hard links.

  • NFS filesystems can now be re-exported over NFS. [Note: that turns out not to be entirely true. Open-by-handle support has been added, but full re-exporting is still not possible.]

  • New hardware support includes:

    • Clock: TI system control interface clocks, Allwinner DE2 and A83T clock-control units, Qualcomm IPQ8074 global clock controllers, Broadcom Stingray clocks, and Cortina Systems Gemini clocks.

    • Graphics: STMicroelectronics display controllers, PrimeCell PL111 LCD controllers, Allwinner display engine 2.0 mixers, Allwinner A10 HDMI controllers, and Innolux P079ZCA panels.

    • PCI: HiSilicon Kirin series PCIe controllers, MediaTek PCIe controllers, and Sigma Designs Tango SMP8759 PCIe controllers.

    • Miscellaneous: EXAR XRA1403 16-bit GPIO expanders, TI LP87565 GPIO controllers, TI LP87565 power-management ICs, Intel Cherry Trail Whiskey Cove power-management ICs, Broadcom SBA RAID engines, Faraday Technology FTDMAC020 DMA engines, D-Link DIR-685 touchkeys, STMicroelectronics STMFTS touchscreens, Renesas RZ/A WDT watchdog timers, STMicroelectronics STM32 independent watchdog timers, Socionext UniPhier watchdog timers, Aspeed I2C controllers, ZTE ZX2967 I2C controllers, IDT PCIe-switch non-transparent bridges, Microchip 23K256 SRAM chips, and Broadcom STB wake timers.

Changes visible to kernel developers include:

  • The kernel self-testing framework has begun a transition to the TAP13 reporting protocol. Not all tests have been converted, but the process is well underway.

  • The kernel build process has been changed to use "thin archives", which are described in the ar manual as:

    gnu ar can optionally create a thin archive, which contains a symbol index and references to the original copies of the member files of the archive. This is useful for building libraries for use within a local build tree, where the relocatable objects are expected to remain available, and copying the contents of each object would only waste time and space.

    The result of this change should be slightly faster and more space-efficient kernel builds.

  • The KASAN tool now works with hotplugged memory.

  • The __GFP_REPEAT memory-allocation flag, which has been the subject of discussion for years, has finally been removed. In its place is __GFP_RETRY_MAYFAIL which, it is hoped, better describes how it works. See this commit for a discussion of the options that exist for telling the allocator how hard it should try to satisfy any given request.

  • The wait_for_random_bytes() API, described in this article, has been merged.

Note that anybody waiting for RDMA changes in 4.13 will be disappointed; that subsystem missed the merge window this time around and will have to wait for 4.14.

The 4.13 kernel is now in the stabilization cycle, with the final release mostly likely to happen in early September.

Index entries for this article
KernelReleases/4.13


to post comments

4.13 Merge window, part 2

Posted Jul 16, 2017 18:00 UTC (Sun) by fratti (guest, #105722) [Link] (5 responses)

>The ext4 filesystem has a new "largedir" option that increases the number of files that can exist in a single directory. Users who find the current limit of about 10 million files a bit constraining can enable this feature and raise the limit to around 2 billion. That should hold most people for the next few years.

I wonder what ghastly enterprise workload lead to that being a thing.

4.13 Merge window, part 2

Posted Jul 16, 2017 18:12 UTC (Sun) by post-factum (subscriber, #53836) [Link] (2 responses)

Likely, Lustre.

4.13 Merge window, part 2

Posted Jul 17, 2017 10:25 UTC (Mon) by nix (subscriber, #2304) [Link]

Might be useful for any surviving USENET tradspool installations, too. Oh, and Maildir / nnmh. :)

4.13 Merge window, part 2

Posted Jul 17, 2017 22:00 UTC (Mon) by Paf (subscriber, #91811) [Link]

Yup, definitely. As was the large extended attribute support. (Extended attribute inodes, at least in Lustr speak)

And a nombcache mount option, too.

Looks like another round of effort to get the Lustre server code able to use EXT4 directly. We still patch it a fair bit right now.

4.13 Merge window, part 2

Posted Jul 17, 2017 14:17 UTC (Mon) by NightMonkey (subscriber, #23051) [Link] (1 responses)

Can the "largedir" feature be turned on and back off again on a filesystem? And what happens when you have a 2 billion file (inode?) filesystem and you try to turn the feature off? :)

4.13 Merge window, part 2

Posted Jul 17, 2017 21:57 UTC (Mon) by Paf (subscriber, #91811) [Link]

Given that it's got an INCOMPAT flag, I'm guessing no. But (since I've worked on this code, at least back in Lustre, where it comes from...), I believe nothing changes until you hit the file limit. So reverting would be safe until you do, after that, presumably no bueno. Though I wouldn't swear to it without reexamining the code.

So no but yes. :)

4.13 Merge window, part 2

Posted Jul 17, 2017 12:01 UTC (Mon) by jlayton (subscriber, #31672) [Link] (3 responses)

> - NFS filesystems can now be re-exported over NFS.

Not so fast there. Enough was added to make open-by-handle support possible. Reexporting a NFS filesystem via knfsd is fraught with a lot of potential problems. There was a patchset for that a year or two ago:

https://lwn.net/Articles/664755/

It also has limitations, but that made it actually work.

What happened this cycle is that a few of the patches in the earlier series were picked. Just enough to allow open_by_handle_at(2) on NFS. That's explicitly _not_ the same thing as supporting full reexport support for NFS however.

NFS exporting

Posted Jul 17, 2017 14:16 UTC (Mon) by corbet (editor, #1) [Link] (1 responses)

OK, I'll confess I was taking a cue from the pull request, which says "add support for NFS re-exporting". I guess it didn't say all the needed support was added...:)

NFS exporting

Posted Jul 18, 2017 15:04 UTC (Tue) by jlayton (subscriber, #31672) [Link]

That is worded confusingly. I wish the PR had been a bit more clear here.

In truth, you're correct -- you can export NFS via nfsd by virtue of the fact that NFS superblocks now have export_operations. The problem is that it's quite unlikely to work well at all without the other patches in that series: poor performance, spurious errors, possibly also some deadlock possibilities.

In any case, thanks for clarifying that in the article.

4.13 Merge window, part 2

Posted Jul 17, 2017 15:36 UTC (Mon) by bfields (subscriber, #19510) [Link]

Also note if we do eventually merge reexport support, some limitations will remain: http://marc.info/?l=linux-nfs&m=149940166717206&w=2

Probably not something you want to depend on unless you've thought it through very carefully.


Copyright © 2017, Eklektix, Inc.
This article may be redistributed under the terms of the Creative Commons CC BY-SA 4.0 license
Comments and public postings are copyrighted by their creators.
Linux is a registered trademark of Linus Torvalds