In brief: filesystems
- Ext4 now supports the "punch hole" function that is accessible via fallocate and allows programs to inform the filesystem of file areas that don't contain any data. This feature can, for instance, make a difference for virtualisation programs, because it enables the filesystem to deallocate disused memory areas in sparse file hard disk images; OCFS2 and XFS have offered this functionality since Linux 2.6.38.
- Tmpfs now offers basic support for extended attributes (EAs/Extended Attributes/xattr). It was programmed by a Red Hat developer so that temporary filesystems can be used to build RPM packages which use file capabilities.
- The XFS filesystem now supports online discard, which allows storage media to be informed of newly deallocated memory areas directly when deleting files â this is interesting for SSDs and network storage solutions that use thin provisioning. In his "XFS status update for May 2011", Christoph Hellwig also highlights a substantially improved Busy Extent Tracking feature (1, 2).
- The NFS client code now offers a pNFS Objects Layout driver for the NFSv4.1 pNFS target described in RFC5664 (for example 1).
Minor gems
Many further minor, but by no means insignificant, changes can be found in the list below, which contains the commit headers referring to the respective change. Like many of the references in the text above, the links point to the relevant commit in the web front end of the Git branch for the "official" kernel sources maintained by Linus Torvalds at kernel.org. The commit comments available at these links and the patches themselves provide extensive further information on the respective changes.
Every link is preceded by various letters and numbers in square brackets. The letter "C" identifies patches that modify Kconfig files, which contain the help texts and configuration options displayed by "make menuconfig", "make xconfig" and similar tools during kernel configuration. "D" is used for patches that modify the documentation available under Documentation/ in the kernel branch. "N" identifies changes which create a new file. The numbers provide a rough idea of the patch size: for instance, "1" is used for changes between 10 and 20Â KBytes including comment, "2" for patches between 20 and 30Â KBytes; changes without a number are less than 10Â KBytes, while patches marked "9" are 90Â KBytes or more.
Btrfs
- [
   Â
]Â btrfs: add cleancache support - [
   Â
]Â btrfs: add readonly flag - [
   Â
]Â btrfs: remove 64bit alignment padding to allow extent_buffer to fit into one fewer cacheline - [
   1
]Â Btrfs: kill BTRFS_I(inode)->block_group - [
   3
]Â Btrfs: kill trans_mutex - [
   4
]Â Btrfs: Make free space cache code generic - [
   1
]Â Btrfs: Make the code for reading/writing free space cache generic - [
   1
]Â btrfs: quasi-round-robin for chunk allocation - [
   1
]Â Btrfs: Support reading/writing on disk free ino cache - [
   Â
]Â btrfs: Remove unused sysfs code
Ext Family
- [
   Â
]Â ext4: add cleancache support - [
   Â
]Â ext4: add new function ext4_block_zero_page_range() - [
   Â
]Â ext4: add "punch hole" flag to ext4_map_blocks() - [
  N1
]Â ext4: add support for multiple mount protection - [
   Â
]Â ext4: check for ext[23] file system features when mounting as ext[23] - [
   Â
]Â ext4: don't show mount options in /proc/mounts if there is no journal - [
 D Â
]Â ext4: remove obsolete mount options from ext4's documentation
Various
- [
CÂ Â Â
]Â 9p: remove experimental tag from tested configurations - [
 D Â
]Â 9p: update Documentation pointers - [
   Â
]Â Cache xattr security drop check for write v2 - [
   Â
]Â cifs: add cifs_async_writev - [
   Â
]Â cifs: Add idmap key and related data structures and functions (try #17 repost) - [
   1
]Â CIFS: Add rwpidforward mount option - [
   Â
]Â cifs: Add support for mounting Windows 2008 DFS shares - [
   Â
]Â CIFS: Allow to set extended attribute cifs_acl (try #2) - [
CÂ Â Â
]Â cifs: cleanup: Rename and remove config flags - [
   1
]Â cifs: Invoke id mapping functions (try #17 repost) - [
   Â
]Â [CIFS] update cifs version to 1.73 - [
CÂ Â 1
]Â CIFS: Use ecb des kernel crypto APIs instead of - [
CÂ Â Â
]Â exportfs: reallow building as a module - [
 D 1
]Â fs: pass exact type of data dirties to ->dirty_inode - [
   Â
]Â GFS2: Add an AIL writeback tracepoint - [
   Â
]Â GFS2: Improve tracing support (adds two flags) - [
   Â
]Â Introduce smb2 mounts as vers=2 - [
   Â
]Â mm/fs: add hooks to support cleancache - [
   Â
]Â nilfs2: add routine to move secondary super block - [
   Â
]Â nilfs2: implement resize ioctl - [
   1
]Â Ocfs2: Add a new code 'OCFS2_INFO_FREEFRAG' for o2info ioctl. - [
   Â
]Â ocfs2: Add FITRIM ioctl. - [
   Â
]Â ocfs2: Add ocfs2_trim_fs for SSD trim support. - [
   Â
]Â ocfs2: Add trace event for trim. - [
 D Â
]Â ocfs2: clean up mount option about atime in ocfs2.txt - [
 D Â
]Â ocfs2: remove the /sys/o2cb symlink - [
   Â
]Â pnfs: client stats - [
  N1
]Â pnfs-obj: pnfs_osd XDR client implementation - [
   1
]Â SUNRPC: Support for RPC over AF_LOCAL transports - [
   Â
]Â svcrpc: take advantage of tcp autotuning - [
   Â
]Â UBIFS: introduce a "grouped" journal head flag - [
 D 1
]Â UBIFS: switch to dynamic printks
For other articles on Linux 3.0 and links to the rest of the "Coming in 3.0" series, see The H's Kernel Log Linux 3.0 Tracking page. New editions of Kernel Logs are also mentioned on Identi.ca and Twitter by @kernellog2. The Kernel Log author also posts updates about various topics on Identi.ca and Twitter as @kernellogauthor.