Lista para version 4.13

Linux 4.13 has been released

Summary: This release adds support in Ext4 for very large number of directory entries, support in Ext4 for extended attributes up to 64k, improvements in asynchronous I/O, improved error handling in background writes, improved error handling in the block layer, kernel TLS acceleration, and many other improvements.

Asynchronous I/O improvements

The asynchronous I/O implementation in Linux has some deficiencies, one of them is that it unexpectedly blocks in some situations. This release adds a way for asynchronous I/O to return errors instead of blocking.

Recommended LWN article: Toward non-blocking asynchronous I/O

Code: commit

Ext4 support for a larger number of directory entries

This release adds "largedir", which allows ext4 directories to support over 2 billion directory entries (assuming ~64 byte file names; in practice, users will run into practical performance limits first). This feature adds a "incompatible feature" flag.

Code: commit

Ext4 support for bigger extended attribute values

This release adds support for extended attribute values up to 64k. It also implements a deduplication feature so that if multiple files have the same xattr value (for example, Windows ACL's stored by Samba), only one copy will be stored on disk for encoding and caching efficiency. This feature adds a "incompatible feature" flag.

Code: commit

Kernel TLS acceleration

As a way to microoptimize TLS traffic, Facebook created an in-kernel TLS acceleration that slightly accelerates the performance of protocols such as https. Only symmetric crypto is done in the kernel, keys are passed by userspace after the handshake is complete.

Recommended LWN article: TLS in the kernel

Code: commit

Improved block layer and background writes error handling

Error handling in some parts of the Linux I/O stack is not good as it could be. For example, when the background write process fails, only the first task to call fsync will see the error and any subsequent task calling fsync on a file will get back 0 (unless another writeback error occurs in the interim). This release adds a new way to handle the errors during background writes, making possible to reliable report errors on fsync. This release also adds an improved error handling in the block layer so that upper parts of the storage stack may get a more detailed view of I/O problems and react accordingly.

Recommended LWN Article: Improved block-layer error handling

Code: writeback error handling commit

CIFS defaults to SMB3.0

Due to recent publicity about security vulnerabilities in the much older CIFS dialect, move the default dialect to the widely accepted (and quite secure) SMB3.0 dialect from the old default of the CIFS dialect. Both Microsoft and CERT now strongly recommend not using the older CIFS dialect (SMB Security Best Practices "recommends disabling SMBv1"). SMB3 is both secure and widely available: in Windows 8 and later, Samba and Macs. Users can still choose to explicitly mount with the less secure dialect (for old servers) by choosing "vers=1.0" on the cifs mount

Code: commit