<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://xfs.org/index.php?action=history&amp;feed=atom&amp;title=XFS_status_update_for_2011</id>
	<title>XFS status update for 2011 - Revision history</title>
	<link rel="self" type="application/atom+xml" href="https://xfs.org/index.php?action=history&amp;feed=atom&amp;title=XFS_status_update_for_2011"/>
	<link rel="alternate" type="text/html" href="https://xfs.org/index.php?title=XFS_status_update_for_2011&amp;action=history"/>
	<updated>2026-07-12T04:49:14Z</updated>
	<subtitle>Revision history for this page on the wiki</subtitle>
	<generator>MediaWiki 1.42.3</generator>
	<entry>
		<id>https://xfs.org/index.php?title=XFS_status_update_for_2011&amp;diff=2437&amp;oldid=prev</id>
		<title>Pibroch: New page: == XFS status update for December 2011 ==  December saw further stabilization of the Linux 3.2 release candidates. For XFS that meant two important fixes for sync() data integrity, to work...</title>
		<link rel="alternate" type="text/html" href="https://xfs.org/index.php?title=XFS_status_update_for_2011&amp;diff=2437&amp;oldid=prev"/>
		<updated>2012-03-19T06:12:09Z</updated>

		<summary type="html">&lt;p&gt;New page: == XFS status update for December 2011 ==  December saw further stabilization of the Linux 3.2 release candidates. For XFS that meant two important fixes for sync() data integrity, to work...&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;== XFS status update for December 2011 ==&lt;br /&gt;
&lt;br /&gt;
December saw further stabilization of the Linux 3.2 release candidates.&lt;br /&gt;
For XFS that meant two important fixes for sync() data integrity, to&lt;br /&gt;
work around issues introduced in the VFS sync code in the past few&lt;br /&gt;
kernel releases.  These fixes have also been backported to the 3.0-stable&lt;br /&gt;
release.&lt;br /&gt;
&lt;br /&gt;
Development for the next merge windows continue in fast pace, although&lt;br /&gt;
only a relatively small amount of patches was merged into the development&lt;br /&gt;
tree for the Linux 3.3 window.  The most interesting topic in December&lt;br /&gt;
probably was further development of the SEEK_DATA /  SEEK_HOLE support,&lt;br /&gt;
including defining the exact semantics in presence of unwritten extents&lt;br /&gt;
and proper test coverage.&lt;br /&gt;
&lt;br /&gt;
On the user space side December was fairly quiet, with about a handful&lt;br /&gt;
fixes commit to xfsprogs, two new test cases and a couple of fixes in&lt;br /&gt;
xfstests, and no activity in xfsdump.&lt;br /&gt;
&lt;br /&gt;
== XFS status update for November 2011 ==&lt;br /&gt;
&lt;br /&gt;
November saw stabilization of the Linux 3.2 release candidates, including&lt;br /&gt;
a few fixes for XFS.  In addition a lot of bug fixes were backported to&lt;br /&gt;
the 3.0 long term stable and 3.1-stable releases for users not on&lt;br /&gt;
bleeding edge kernels.&lt;br /&gt;
&lt;br /&gt;
At the same time development for Linux 3.3 went on at a fast pace, although&lt;br /&gt;
no pages were merged into the development tree yet.  The highlights are:&lt;br /&gt;
&lt;br /&gt;
 - further versions of the patches to log all file size updates instead of&lt;br /&gt;
   relying the the flaky VM writeback code for them&lt;br /&gt;
 - an initial version of SEEK_HOLE/SEEK_DATA support&lt;br /&gt;
 - removal of the old non-delaylog logging code, and cleanups resulting&lt;br /&gt;
   from the removal&lt;br /&gt;
 - large updates for the quota code&lt;br /&gt;
&lt;br /&gt;
Userspace development was even more busy:&lt;br /&gt;
&lt;br /&gt;
Xfsprogs saw the rushed 3.1.7 release which contains Debian packaging fixes,&lt;br /&gt;
a polish translation update and a xfs_repair fix.  In the meantime a lot of&lt;br /&gt;
xfs_repair fixes were posted but mostly not reviewed and commit yet.&lt;br /&gt;
&lt;br /&gt;
Xfsdump grew support for using pthreads to write backup streams to multiple&lt;br /&gt;
tapes in parallel, and SGI_XFSDUMP_SKIP_FILE which has been deprecated in&lt;br /&gt;
favor of the nodump flag has finally been removed.&lt;br /&gt;
Xfstests saw an enormous amount of updates.  The fsstress tool saw major&lt;br /&gt;
updates to exercise even more system calls, and found numerous bugs in&lt;br /&gt;
all major Linux filesystems, additional ENOSPC tests, a new test for&lt;br /&gt;
btrfs-specific functionality and the usual amount of bug fixes and small&lt;br /&gt;
cleanups.  Also a series to clean up the very large filesystem testing,&lt;br /&gt;
including extending the support to ext4 was posted but not committed yet.&lt;br /&gt;
&lt;br /&gt;
== XFS status update for October 2011 ==&lt;br /&gt;
&lt;br /&gt;
October finally saw the delayed release of Linux 3.1, which is a fairly&lt;br /&gt;
boring release as XFS is concerned.  In addition to a few bug fixes&lt;br /&gt;
and cleanups the biggest item is an XFS-internal re organization of the&lt;br /&gt;
source files, dropping all sub directories under fs/xfs.&lt;br /&gt;
&lt;br /&gt;
Due to the long Linux 3.1 release cycle development for 3.3 has already&lt;br /&gt;
started full steam in October while adding a few more small optimization&lt;br /&gt;
and fixes to the development tree for Linux 3.2, and merging that tree&lt;br /&gt;
into mainline.&lt;br /&gt;
&lt;br /&gt;
Notable items for Linux 3.2 are speedup for parallel O_DIRECT reads and&lt;br /&gt;
writes on high IOPS devices, optimizations for fsync(2) on directories&lt;br /&gt;
and sync(2) latency, as well as further small improvements for metadata&lt;br /&gt;
performance on highly parallel workloads.&lt;br /&gt;
&lt;br /&gt;
On the user space side xfsprogs saw a few more xfs_repair fixes, as well&lt;br /&gt;
as some updates of mount point handling for the xfs_quota tools, which&lt;br /&gt;
together with the updates from the last months was published in form&lt;br /&gt;
of the xfsprogs 3.1.6 release.  This was accompanied by an xfsdump&lt;br /&gt;
3.0.6 release, which does not include any new updates in October, but&lt;br /&gt;
lots of work from the previous month.  Xfstests saw two additional&lt;br /&gt;
test cases and various fixes, and it&amp;#039;s first versioned release ever.&lt;br /&gt;
&lt;br /&gt;
== XFS status update for September 2011 ==&lt;br /&gt;
&lt;br /&gt;
August saw further release candidates of Linux 3.1, which had been&lt;br /&gt;
completely uneventful with just a single small regression fix being&lt;br /&gt;
merged.&lt;br /&gt;
&lt;br /&gt;
In the meantime developments for the Linux 3.2 kernel went on with the merge&lt;br /&gt;
of a large series that completely refactors the XFS-internal xfs_bmapi&lt;br /&gt;
interfaces for simpler interfaces and less stack usage, as well as various&lt;br /&gt;
smaller cleanups and fixes.&lt;br /&gt;
&lt;br /&gt;
September also was a very busy month for userspace development. In xfsprogs&lt;br /&gt;
we saw various error handling fixes to libxcmd, libxfs, mkfs.xfs, xfs_quota&lt;br /&gt;
and xfs_repair, xfsdump saw a few smaller changes finishing up the large&lt;br /&gt;
work done in August.  Xfstests saw 4 new test cases contributed from&lt;br /&gt;
various developers, and the usual handful of bug fixes.&lt;br /&gt;
&lt;br /&gt;
== XFS status update for August 2011 ==&lt;br /&gt;
&lt;br /&gt;
August saw further release candidates of Linux 3.1, which had been quiet&lt;br /&gt;
for XFS except for the bulk renaming of many XFS source files so that all&lt;br /&gt;
source files are now located directly underneath the fs/xfs/ directory.&lt;br /&gt;
&lt;br /&gt;
A lot of development for the Linux 3.2 kernel series was going on,&lt;br /&gt;
including an overhaul of the data I/O completion handler, further buffer&lt;br /&gt;
cache speedups and cleanups, a major refactoring around xfs_bmapi, quota&lt;br /&gt;
locking changes, and optimization for direct I/O on high IOP solid state&lt;br /&gt;
devices.&lt;br /&gt;
&lt;br /&gt;
On the userspace side xfsdump saw a lot of cleanups in preparation of porting&lt;br /&gt;
the multithreaded dump and restore code from IRIX.  Xfsprogs saw a few fix&lt;br /&gt;
to the xfs_quota tool and mkfs.xfs as well as a man page update.  This month&lt;br /&gt;
xfstests did not see any new test cases, but it got the usual amount of fixes&lt;br /&gt;
and  grew support for jfs and NFS v4.&lt;br /&gt;
&lt;br /&gt;
== XFS status update for July 2011 ==&lt;br /&gt;
&lt;br /&gt;
July finally saw the release of Linux 3.0, including a relatively small XFS&lt;br /&gt;
update:&lt;br /&gt;
&lt;br /&gt;
  37 files changed, 1168 insertions(+), 847 deletions(-)&lt;br /&gt;
&lt;br /&gt;
The primary news in this release is a complete rework of the busy extent&lt;br /&gt;
tracking, which speeds up allocation heavy multithreaded workloads.  This&lt;br /&gt;
feature also allowed adding support for discard support at transaction&lt;br /&gt;
commit time using the discard mount option.  While the implementation of&lt;br /&gt;
discards in XFS is state of the art it should be considered mostly a&lt;br /&gt;
technology preview until various efficiency issue in the block layer&lt;br /&gt;
discard support are sorted out.  Another important feature visible to&lt;br /&gt;
users is that XFS now supports using external logs even when using volatile&lt;br /&gt;
write caches, although the implementation is not fully optimized yet,&lt;br /&gt;
the rest of the changes consists of the usual pile of bug fixes and a&lt;br /&gt;
relatively small set of cleanups.  After the release of Linux 3.0 the&lt;br /&gt;
merge window for Linux 3.1 also fell mostly into July.   The XFS merge&lt;br /&gt;
for 3.1 included further speedups for the AIL code, and a huge amount&lt;br /&gt;
of cleanups.&lt;br /&gt;
&lt;br /&gt;
On the userspace side the biggest item was the merge of the libxfs resync&lt;br /&gt;
with the Linux 2.6.39 kernel code.  In addition to that xfsprogs saw small&lt;br /&gt;
xfs_repair updates, xfstests saw various fixes to fsx, and various build&lt;br /&gt;
system fixes were commit to all userspace repositories.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== XFS status update for June 2011 ==&lt;br /&gt;
&lt;br /&gt;
In June we saw more release candidates for Linux 3.0, which contain a few&lt;br /&gt;
XFS fixes, but no major updates.  No updates were committed to the XFS&lt;br /&gt;
development tree for Linux 3.1 either, although the mailing list has been&lt;br /&gt;
rather busy with updates for that merge window.&lt;br /&gt;
&lt;br /&gt;
On the user space side the xfsprogs and xfsdump repositories didn&amp;#039;t see&lt;br /&gt;
any updates, while xfstests has been rather busy with a lot of fixes&lt;br /&gt;
to various test cases.&lt;br /&gt;
&lt;br /&gt;
== XFS status update for May 2011 ==&lt;br /&gt;
&lt;br /&gt;
May finally saw the release of Linux 2.6.39, which was a little more calm&lt;br /&gt;
than usual for XFS, and only contains about half the amount of the changes&lt;br /&gt;
we are used to see:&lt;br /&gt;
&lt;br /&gt;
  58 files changed, 1660 insertions(+), 1912 deletions(-)&lt;br /&gt;
&lt;br /&gt;
The most visible change is an overhaul of the XFS-internal interfaces&lt;br /&gt;
to print kernel messages, which makes all messages from XFS look slightly&lt;br /&gt;
different from before by always providing information about which device&lt;br /&gt;
these messages relate to.  In addition to that support for the RT subvolume,&lt;br /&gt;
which had been broken for a while has been resurrect, the XFS buffer cache&lt;br /&gt;
switched away from using the Linux pagecache to improve performance on&lt;br /&gt;
metadata intensive workloads, and all but one of the XFS kernel threads have&lt;br /&gt;
been switched to the new concurrent managed workqueue infrastructure that&lt;br /&gt;
is present in more recent Linux 2.6 releases.&lt;br /&gt;
&lt;br /&gt;
In the meantime development for the release now known as Linux 3.0 went&lt;br /&gt;
ahead full steam up to the merge of the XFS tree into Linux 3.0-rc1. News&lt;br /&gt;
in that release contain support for vastly improved busy extent tracking,&lt;br /&gt;
support for online discard (aka TRIM) and the usual amount of bug fixes.&lt;br /&gt;
&lt;br /&gt;
On the user space side the xfsprogs saw a fix for a corner case in xfs_repair,&lt;br /&gt;
and xfstests saw a few bug fixes as well as a new test case to test&lt;br /&gt;
btrfs-specific functionality.&lt;br /&gt;
&lt;br /&gt;
== XFS status update for April 2011 ==&lt;br /&gt;
&lt;br /&gt;
April saw further stabilization work on the Linux 2.6.39 kernel, including&lt;br /&gt;
a number of XFS bug fixes.  Most importantly a series of patches fixes various&lt;br /&gt;
OOM problems due to bad interactions between the generic writeback code&lt;br /&gt;
and XFS inode reclaim, but there also were other patches for various smaller&lt;br /&gt;
issues.  In the meantime the XFS development tree saw the addition of the&lt;br /&gt;
optimized busy extent tracking, which allows large speedups for multi-threaded&lt;br /&gt;
meta data heavy workloads, and lays the groundwork for discard support on&lt;br /&gt;
transaction commit, and a few other smaller patches.&lt;br /&gt;
&lt;br /&gt;
On the user space side the xfsprogs and xfsdump repositories saw a very quiet &lt;br /&gt;
month with no applied patches, although a few were posted and discussed on &lt;br /&gt;
the mailing list. The xfstests repository on the other hand saw a new test &lt;br /&gt;
cases exercising the xfs_metadump functionally as well as a fixes to existing &lt;br /&gt;
tests.&lt;br /&gt;
&lt;br /&gt;
== XFS status update for March 2011 ==&lt;br /&gt;
&lt;br /&gt;
March saw the release of Linux 2.6.38, which included a sizable XFS update.&lt;br /&gt;
The most prominent new features of XFS in Linux 2.6.39 is support for the&lt;br /&gt;
FITRIM ioctl that allows discarding unused space on the filesystem&lt;br /&gt;
periodically, better handling of persistent preallocations especially on&lt;br /&gt;
NFS servers, and further scalability improvements in the buffer cache&lt;br /&gt;
and log code.  In additions to that the release includes a wide range&lt;br /&gt;
of fixes and cleanups to the code base.  The diff stat for XFS in the&lt;br /&gt;
Linux 2.6.39 release is:&lt;br /&gt;
&lt;br /&gt;
  57 files changed, 2964 insertions(+), 2528 deletions(-)&lt;br /&gt;
&lt;br /&gt;
Which means the XFS code base actually had a minor growth in code size&lt;br /&gt;
this time around.  In the second half of March the XFS development&lt;br /&gt;
tree got merged into Linus&amp;#039; tree for Linux 2.6.39.  Linux 2.6.39 is going&lt;br /&gt;
to be a rather quiet release for XFS, mostly concentrating on settling&lt;br /&gt;
the large changes that went into the last releases and smaller cleanups.&lt;br /&gt;
The only user visible change will be that the delaylog option which&lt;br /&gt;
improves metadata performance and scalability is now turned on by default,&lt;br /&gt;
and a couple of fixes that make the realtime subvolume support usable&lt;br /&gt;
again.&lt;br /&gt;
&lt;br /&gt;
On the user space side both xfsprogs and xfsdump saw new releases in March.&lt;br /&gt;
The xfsprogs 3.1.5 release contains various smaller updates to xfs_repair,&lt;br /&gt;
xfs_metadump and xfs_quota, as well as support for the new generic hole&lt;br /&gt;
punching in the falloc system call in the xfs_io tool.  The xfsdump 3.0.5&lt;br /&gt;
release now supports up to 4 billion directory entries, has much better&lt;br /&gt;
performance for large dumps, and some improvements to the inventory code&lt;br /&gt;
and dumping of quota information, as well as long overdue updates to the&lt;br /&gt;
build system.  The xfstests repository has seen various build system&lt;br /&gt;
improvements, better FIEMAP testing, falloc support for fsx and a few&lt;br /&gt;
cleanups.&lt;br /&gt;
&lt;br /&gt;
== XFS status update for February 2011 ==&lt;br /&gt;
&lt;br /&gt;
February saw the stabilization of the Linux 2.6.38 tree, with just two&lt;br /&gt;
small XFS fixes going into Linus&amp;#039; tree, and the XFS development tree&lt;br /&gt;
has been similarly quiet with just a few cleanups, and the delaylog option&lt;br /&gt;
propagated to the default operation mode.  A few more patches for the 2.6.39&lt;br /&gt;
merge window have been posted and/or discussed on the mailing list, but February&lt;br /&gt;
was a rather quiet month in general.&lt;br /&gt;
&lt;br /&gt;
On the user space side xfsprogs saw a few bug fixes, and a speedup for&lt;br /&gt;
phase2 of xfs_repair, xfsdump saw a bug fix and support for pruning the&lt;br /&gt;
inventory by session id, and xfstests saw it&amp;#039;s usual stream of bug fixes&lt;br /&gt;
as well as two new test cases.&lt;br /&gt;
&lt;br /&gt;
== XFS status update for January 2011 ==&lt;br /&gt;
&lt;br /&gt;
On the 4th of January we saw the release of Linux 2.6.37, which contains a&lt;br /&gt;
large XFS update:&lt;br /&gt;
&lt;br /&gt;
    67 files changed, 1424 insertions(+), 1524 deletions(-)&lt;br /&gt;
&lt;br /&gt;
User visible changes are the new XFS_IOC_ZERO_RANGE ioctl which allows&lt;br /&gt;
to convert already allocated space into unwritten extents that return&lt;br /&gt;
zeros on a read, and support for 32-bit wide project IDs.  The other large&lt;br /&gt;
item are various changes to improve metadata scalability even further,&lt;br /&gt;
by changes to the the buffer cache, inode lookup and other parts of the&lt;br /&gt;
filesystem driver.&lt;br /&gt;
&lt;br /&gt;
After that the XFS development tree for 2.6.38 was merged into mainline,&lt;br /&gt;
with an even larger set of changes.  Notable items include support for the&lt;br /&gt;
FITRIM ioctl to discard unused space on SSDs and thinly provisioned storage&lt;br /&gt;
systems, a buffer LRU scheme to improve hit rates for metadata, an&lt;br /&gt;
overhaul of the log subsystem locking, dramatically improving scalability&lt;br /&gt;
in that area, and much smarter handling of preallocations, especially&lt;br /&gt;
for files closed and reopened frequently, e.g. by the NFS server.&lt;br /&gt;
&lt;br /&gt;
User space development has been very quiet, with just a few fixes committed&lt;br /&gt;
to the xfstests repository, although various additional patches for xfsprogs&lt;br /&gt;
and xfstests that haven&amp;#039;t been committed yet were discussed on the mailing list.&lt;/div&gt;</summary>
		<author><name>Pibroch</name></author>
	</entry>
</feed>