<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://xfs.org/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Hch</id>
	<title>xfs.org - User contributions [en]</title>
	<link rel="self" type="application/atom+xml" href="https://xfs.org/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Hch"/>
	<link rel="alternate" type="text/html" href="https://xfs.org/index.php/Special:Contributions/Hch"/>
	<updated>2026-04-20T10:52:25Z</updated>
	<subtitle>User contributions</subtitle>
	<generator>MediaWiki 1.42.3</generator>
	<entry>
		<id>https://xfs.org/index.php?title=User_talk:Zhaoxin_yu&amp;diff=2969</id>
		<title>User talk:Zhaoxin yu</title>
		<link rel="alternate" type="text/html" href="https://xfs.org/index.php?title=User_talk:Zhaoxin_yu&amp;diff=2969"/>
		<updated>2015-01-23T13:39:46Z</updated>

		<summary type="html">&lt;p&gt;Hch: Welcome!&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&#039;&#039;&#039;Welcome to &#039;&#039;XFS.org&#039;&#039;!&#039;&#039;&#039;&lt;br /&gt;
We hope you will contribute much and well.&lt;br /&gt;
You will probably want to read the [[Help:Contents|help pages]].&lt;br /&gt;
Again, welcome and have fun! [[User:Hch|Hch]] ([[User talk:Hch|talk]]) 13:39, 23 January 2015 (UTC)&lt;/div&gt;</summary>
		<author><name>Hch</name></author>
	</entry>
	<entry>
		<id>https://xfs.org/index.php?title=User:Zhaoxin_yu&amp;diff=2968</id>
		<title>User:Zhaoxin yu</title>
		<link rel="alternate" type="text/html" href="https://xfs.org/index.php?title=User:Zhaoxin_yu&amp;diff=2968"/>
		<updated>2015-01-23T13:39:46Z</updated>

		<summary type="html">&lt;p&gt;Hch: Creating user page for new user.&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;I am a free programmer.I come from China. I want to learn about XFS for my job and interest.&lt;/div&gt;</summary>
		<author><name>Hch</name></author>
	</entry>
	<entry>
		<id>https://xfs.org/index.php?title=User_talk:Joy&amp;diff=2967</id>
		<title>User talk:Joy</title>
		<link rel="alternate" type="text/html" href="https://xfs.org/index.php?title=User_talk:Joy&amp;diff=2967"/>
		<updated>2015-01-23T13:39:00Z</updated>

		<summary type="html">&lt;p&gt;Hch: Welcome!&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&#039;&#039;&#039;Welcome to &#039;&#039;XFS.org&#039;&#039;!&#039;&#039;&#039;&lt;br /&gt;
We hope you will contribute much and well.&lt;br /&gt;
You will probably want to read the [[Help:Contents|help pages]].&lt;br /&gt;
Again, welcome and have fun! [[User:Hch|Hch]] ([[User talk:Hch|talk]]) 13:39, 23 January 2015 (UTC)&lt;/div&gt;</summary>
		<author><name>Hch</name></author>
	</entry>
	<entry>
		<id>https://xfs.org/index.php?title=User:Joy&amp;diff=2966</id>
		<title>User:Joy</title>
		<link rel="alternate" type="text/html" href="https://xfs.org/index.php?title=User:Joy&amp;diff=2966"/>
		<updated>2015-01-23T13:39:00Z</updated>

		<summary type="html">&lt;p&gt;Hch: Creating user page for new user.&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;I want to study xfs file system.when study xfs filesystem ,I have many questions.please help me! thank you!&lt;/div&gt;</summary>
		<author><name>Hch</name></author>
	</entry>
	<entry>
		<id>https://xfs.org/index.php?title=User_talk:Jesus_Aguilar&amp;diff=2965</id>
		<title>User talk:Jesus Aguilar</title>
		<link rel="alternate" type="text/html" href="https://xfs.org/index.php?title=User_talk:Jesus_Aguilar&amp;diff=2965"/>
		<updated>2015-01-23T13:38:50Z</updated>

		<summary type="html">&lt;p&gt;Hch: Welcome!&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&#039;&#039;&#039;Welcome to &#039;&#039;XFS.org&#039;&#039;!&#039;&#039;&#039;&lt;br /&gt;
We hope you will contribute much and well.&lt;br /&gt;
You will probably want to read the [[Help:Contents|help pages]].&lt;br /&gt;
Again, welcome and have fun! [[User:Hch|Hch]] ([[User talk:Hch|talk]]) 13:38, 23 January 2015 (UTC)&lt;/div&gt;</summary>
		<author><name>Hch</name></author>
	</entry>
	<entry>
		<id>https://xfs.org/index.php?title=User:Jesus_Aguilar&amp;diff=2964</id>
		<title>User:Jesus Aguilar</title>
		<link rel="alternate" type="text/html" href="https://xfs.org/index.php?title=User:Jesus_Aguilar&amp;diff=2964"/>
		<updated>2015-01-23T13:38:50Z</updated>

		<summary type="html">&lt;p&gt;Hch: Creating user page for new user.&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Soy estudiante de ingeniería de las ciencias informáticas de la Universidad Nacional de Asunción, me desenvuelvo como desarrollador de drivers para ATMs recicladores y ATSs (TCRs), tanto como para los no recicladores si lo necesiten.. Tengo experiencias en desarrollo de aplicaciones de IA, WEB (java, ruby, python), aplicaciones móviles (Andriod, Windows Phone que ya quedo de lado e Iphone).. He participado de las competencias de programación de la ACM-ICPC a nivel regional, si bien no hemos clasificado a la final, este año esperamos tener mayor éxito y lograr una clasificación..&lt;br /&gt;
Mis intereses van hacia la investigación de algoritmos potentes para el uso compartido de recursos (aplicables a transacciones, geolocalizaciones, computación móvil) y el uso de tecnologías que favorezcan estos objetivos..&lt;br /&gt;
Mis proyectos actuales son: Desarrollo de un driver sobre una capa denominada ProAKT server para la linea WINCOR NIXDORF de CINEO ATS C6030 y C6020, este driver debe encargase de la lógica de utilización del equipo y proveer de una abstracción a las aplicaciones externas, haciéndolas independientes de la implementación en el ATS a través del uso de un protocolo pensado internamente y el uso de web services; también estoy iniciando un proyecto de software para manipulación y workflow de documentos digitalizados (debido a la alta demanda); también estamos en el desarrollo de una red de alarmas inteligentes y rastreo via gps para automóviles (protegemos la idea por tanto no doy mas detalles)..&lt;br /&gt;
En el caso del driver que me toca desarrollar, en un comienzo esta contemplado desarrollarla utilizando el servidor de la empresa WINCOR NIXDORF, pero debido a que no son los únicos fabricantes de ATMs del mercado, deseamos expandirla, como extensión del proyecto, a hacerla correr sobre la capa XFS (J/XFS) y por ende necesito introducirme al mundo de desarrollo a &amp;quot;bajo nivel&amp;quot; de este tipo de aplicaciones..&lt;br /&gt;
&lt;br /&gt;
Jesús Aguilar&lt;/div&gt;</summary>
		<author><name>Hch</name></author>
	</entry>
	<entry>
		<id>https://xfs.org/index.php?title=User_talk:Karoun&amp;diff=2961</id>
		<title>User talk:Karoun</title>
		<link rel="alternate" type="text/html" href="https://xfs.org/index.php?title=User_talk:Karoun&amp;diff=2961"/>
		<updated>2015-01-23T13:38:09Z</updated>

		<summary type="html">&lt;p&gt;Hch: Welcome!&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&#039;&#039;&#039;Welcome to &#039;&#039;XFS.org&#039;&#039;!&#039;&#039;&#039;&lt;br /&gt;
We hope you will contribute much and well.&lt;br /&gt;
You will probably want to read the [[Help:Contents|help pages]].&lt;br /&gt;
Again, welcome and have fun! [[User:Hch|Hch]] ([[User talk:Hch|talk]]) 13:38, 23 January 2015 (UTC)&lt;/div&gt;</summary>
		<author><name>Hch</name></author>
	</entry>
	<entry>
		<id>https://xfs.org/index.php?title=User:Karoun&amp;diff=2960</id>
		<title>User:Karoun</title>
		<link rel="alternate" type="text/html" href="https://xfs.org/index.php?title=User:Karoun&amp;diff=2960"/>
		<updated>2015-01-23T13:38:08Z</updated>

		<summary type="html">&lt;p&gt;Hch: Creating user page for new user.&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Been in IT for a good decade and a half, the last bit semi retired.    Run a sgnificant machine here i&#039;m trying to maneuver to a cloud system to hadndle a few more roles than it is at the moment.   Anyways,   need some insight on both repair and a good long term solution (its not a uefi machine so that limits things a tad) for dealing with the reality of having many terabytes of failing driveslong term suchthat they can adapt and deal with it as well as to warn me if there are heat issues.   I run slackware,   I have hddtemp and smartd running but I am eager to move to a nice vibration free and well cooled NAS - but the costs have been to high now that im not working.&lt;/div&gt;</summary>
		<author><name>Hch</name></author>
	</entry>
	<entry>
		<id>https://xfs.org/index.php?title=XFS_status_update_for_2012&amp;diff=2831</id>
		<title>XFS status update for 2012</title>
		<link rel="alternate" type="text/html" href="https://xfs.org/index.php?title=XFS_status_update_for_2012&amp;diff=2831"/>
		<updated>2012-12-01T00:11:33Z</updated>

		<summary type="html">&lt;p&gt;Hch: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== XFS status update for October 2012 ==&lt;br /&gt;
&lt;br /&gt;
October saw the merge of the XFS development tree for Linux 3.7 into&lt;br /&gt;
mainline as well as a few additional fixes for this new work.&lt;br /&gt;
&lt;br /&gt;
Linux 3.7 will be a fairly boring release as far as XFS is concerned,&lt;br /&gt;
the biggest user visible changes are an intelligent implementation of&lt;br /&gt;
the lseek SEEK_HOLE/SEEK_DATA calls, and finally the switch to use&lt;br /&gt;
the inode64 allocator by default.&lt;br /&gt;
&lt;br /&gt;
The XFS development tree for Linux 3.8 started getting commits in&lt;br /&gt;
October as well, most notably a large cleanup of the periodic sync&lt;br /&gt;
code.&lt;br /&gt;
&lt;br /&gt;
On the user space side we saw release candidate for the next releases&lt;br /&gt;
of the XFS tools.  For xfsprogs the 3.1.9-rc1 release brings various&lt;br /&gt;
fixes in xfs_repair, especially dealing with directories as well as&lt;br /&gt;
various improvements in xfs_db and mkfs.xfs, three new  commands for&lt;br /&gt;
xfs_io and a few user visible fixes to xfs_quota.  The xfsdump 3.1.1-rc1&lt;br /&gt;
release adds a German string translation and support for 32-bit project&lt;br /&gt;
IDs.  xfstests saw its usual stream of fixes, but also a new ext4-specific&lt;br /&gt;
test case and a switch to use the util-linux version of fstrim instead&lt;br /&gt;
of a bundled one.  All user space projects saw various improvements to&lt;br /&gt;
the build system.&lt;br /&gt;
&lt;br /&gt;
== XFS status update for September 2012 ==&lt;br /&gt;
&lt;br /&gt;
September saw the release of Linux 3.6 which included a slightly smaller&lt;br /&gt;
than usual XFS update:&lt;br /&gt;
&lt;br /&gt;
 51 files changed, 2607 insertions(+), 2455 deletions(-)&lt;br /&gt;
&lt;br /&gt;
The bulk of the changes in Linux 3.6 is made up by native support for&lt;br /&gt;
discontinuous buffers, with various minor bug fixes and cleanups making up&lt;br /&gt;
the rest.  In the meantime the mailing list was busy with multiple revisions&lt;br /&gt;
of the sync/unmount code rewrite, and the patch series to make the inode64&lt;br /&gt;
mount option remountable and the default.&lt;br /&gt;
&lt;br /&gt;
On the user space side xfsprogs saw new support for the preadv, pwritev and&lt;br /&gt;
sync_file_range system calls in xfs_io as well as minor fixes to libxcmd and&lt;br /&gt;
mkfs.xfs, xfsdump grew support for dumping and restoring 32-bit project ids&lt;br /&gt;
and and saw an update to the German translation.  Xfstests saw a large number&lt;br /&gt;
of fixes, and a single new test case.&lt;br /&gt;
&lt;br /&gt;
== XFS status update for August 2012 ==&lt;br /&gt;
&lt;br /&gt;
After the release of Linux 3.5 in July, August saw the big XFS merge for&lt;br /&gt;
the Linux 3.6 merge window.  In the meantime the XFS tree has seen low&lt;br /&gt;
activity, with refined support for SEEK_HOLE/SEEK_DATA that takes unwritten&lt;br /&gt;
extents into account as the main feature.  A couple of fixes also went in&lt;br /&gt;
and mostly got back ported to mainline for Linux 3.5 as well.&lt;br /&gt;
&lt;br /&gt;
The mailing list had a lot of traffic about interesting updates that didn&#039;t&lt;br /&gt;
make it into the tree yet, with the most interesting being: remount support&lt;br /&gt;
for the inode64 option, a patch series allowing to trim back large&lt;br /&gt;
preallocations when the filesystem is out of space, and a large rewrite&lt;br /&gt;
of the XFS-internal sync code.&lt;br /&gt;
&lt;br /&gt;
On the user land side xfs_db saw a fix for a very long standing bug go into&lt;br /&gt;
the tree and xfstests saw a few fixes.  The mailing list list saw various other&lt;br /&gt;
interesting updates including a German translation for the xfsdump messages,&lt;br /&gt;
32-bit project ID support in xfsdump, a lot of xfstests updates including a&lt;br /&gt;
patch to use the upstream util-linux version of fstrim in xfstests, support&lt;br /&gt;
for tmpfs in xfstests, various ext3 and btrfs updates, but none of them&lt;br /&gt;
made it into the git tree.  There also was a lot of discussion of older&lt;br /&gt;
patch to reorganize the xfstests source tree.&lt;br /&gt;
&lt;br /&gt;
== XFS status update for July 2012 ==&lt;br /&gt;
&lt;br /&gt;
July saw the release of Linux 3.5, which included an average sized XFS&lt;br /&gt;
update:&lt;br /&gt;
&lt;br /&gt;
    81 files changed, 2633 insertions(+), 3004 deletions(-)&lt;br /&gt;
&lt;br /&gt;
Noteworthy updates in Linux 3.5 include the removal of the xfsbufd&lt;br /&gt;
background thread which writes metadata buffers, background processing&lt;br /&gt;
of CIL flushes and thus lower average latency for metadata heavy&lt;br /&gt;
workloads, as well a a reduction of lock hold times and frequency during&lt;br /&gt;
reads and writes.  The large XFS update for the Linux 3.6 merge window&lt;br /&gt;
did not get merged yet by the end of July, but will bring better support&lt;br /&gt;
for large directory block sizes, a faster inode allocator and a large&lt;br /&gt;
amount of bug fixes in different areas of the code.  Development on the list&lt;br /&gt;
has been fairly busy on the patchsets to support group and project quotas&lt;br /&gt;
at the same time, as well as improved SEEK_HOLE/SEEK_DATA support but&lt;br /&gt;
otherwise mostly limited to bug fixes and smaller cleanups.&lt;br /&gt;
&lt;br /&gt;
Userpace development has been rather slow with a single fix for xfs_db&lt;br /&gt;
and another single fix in xfstests.&lt;br /&gt;
&lt;br /&gt;
== XFS status update for June 2012 ==&lt;br /&gt;
&lt;br /&gt;
June has been a pretty slow month for XFS in Linus tree, as June saw&lt;br /&gt;
the stabilization of the Linux 3.5 and thus only a handful of important&lt;br /&gt;
XFS fixes.  Development of the tree destined for the next merge window&lt;br /&gt;
has been a bit more busy with the addition of discontinuous buffers that&lt;br /&gt;
replace the dabuf layer which has performance issues and isn&#039;t easy to&lt;br /&gt;
deal with in the upcoming metadata checksumming as well as a few smaller&lt;br /&gt;
cleanups.&lt;br /&gt;
&lt;br /&gt;
The list saw various other patches not applied yet, most notable a&lt;br /&gt;
refactoring and speedup of the inode allocator, and a heavily discussed&lt;br /&gt;
rewrite of the mount option parsing.&lt;br /&gt;
&lt;br /&gt;
On the user space side a small number of fixes to the handling of fragmented&lt;br /&gt;
directories were applied to xfs_repair, and xfstests saw a fix for handling&lt;br /&gt;
different versions of xfsdump.&lt;br /&gt;
&lt;br /&gt;
==  XFS status update for May 2012 ==&lt;br /&gt;
&lt;br /&gt;
May saw the release of Linux 3.4, including a decent sized XFS update.&lt;br /&gt;
Remarkable XFS features in Linux 3.4 include moving over all metadata&lt;br /&gt;
updates to use transactions, the addition of a work queue for the&lt;br /&gt;
low-level allocator code to avoid stack overflows due to extreme stack&lt;br /&gt;
use in the Linux VM/VFS call chain, better xattr operation tracing,&lt;br /&gt;
fixes for a long-standing but hard to hit deadlock when using the XFS&lt;br /&gt;
real time subvolume, and big improvements in disk quota scalability.&lt;br /&gt;
&lt;br /&gt;
The final diffstat for XFS in Linux 3.4 is:&lt;br /&gt;
&lt;br /&gt;
 61 files changed, 1692 insertions(+), 2356 deletions(-)&lt;br /&gt;
&lt;br /&gt;
In the meantime the merge window for Linux 3.5 opened, and another large&lt;br /&gt;
update has been merged into Linus&#039; tree.  Interesting changes in Linux&lt;br /&gt;
3.5-rc1 include improved error handling on buffer write failures,&lt;br /&gt;
a drastic reduction of locking overhead when doing high-IOPS direct I/O,&lt;br /&gt;
removal of the old xfsbufd daemon in favor of writing most run-time&lt;br /&gt;
metadata from the xfsaild daemon, deferral of CIL pushes to decouple&lt;br /&gt;
user space metadata I/O from log writeback, and last but not least the&lt;br /&gt;
addition of the SEEK_DATA/SEEK_HOLE lseek arguments that allow user space&lt;br /&gt;
programs to deal with sparse files efficiently. Traffic on the mailing list has been a bit&lt;br /&gt;
quiet in May, mostly focusing on a wide range of bug fixes, but little new features.&lt;br /&gt;
&lt;br /&gt;
On the user space side xfs_repair saw a few bug fixes posted to the list&lt;br /&gt;
that didn&#039;t make it to the repository yet, while xfstests saw it&#039;s usual&lt;br /&gt;
amount of minor bug fixes.&lt;br /&gt;
&lt;br /&gt;
== XFS status update for April 2012 ==&lt;br /&gt;
&lt;br /&gt;
April was a relatively quite month in XFS development, partially because&lt;br /&gt;
most XFS developers traveled to San Francisco for the Linux Filesystem&lt;br /&gt;
and Storage Summit and the first XFS developers meeting co hosted at the&lt;br /&gt;
Linux Foundation Collaboration Summit.&lt;br /&gt;
&lt;br /&gt;
The XFS development tree only saw a series to reduce ilock hold times and&lt;br /&gt;
a few patches merged.  Traffic on the mailing list list has been a bit more&lt;br /&gt;
busy, with a few patchset being reposted again and again after various&lt;br /&gt;
updates.  Features still scheduled for Linux 3.5 include:  removal of&lt;br /&gt;
the xfsbufd daemon, various other cleanups of the buffer layer, moving&lt;br /&gt;
CIL commits into a background thread and thus reducing the impact on&lt;br /&gt;
threads causing the commits, as well as a bigger than usual set of&lt;br /&gt;
cleanups and fixes.&lt;br /&gt;
&lt;br /&gt;
The user space side as been extremely slow with no patches applied and&lt;br /&gt;
very few posted to the mailing list.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== XFS status update for March 2012 ==&lt;br /&gt;
&lt;br /&gt;
March saw the release of Linux 3.3, which saw an XFS update slightly smaller&lt;br /&gt;
than usual, and consisting largely of code removal and cleanups, with the&lt;br /&gt;
only user visible change being the removal of the old logging code, and thus&lt;br /&gt;
the &amp;quot;nodelaylog&amp;quot; mount option.  This is reflected in a diffstat with more&lt;br /&gt;
than twice as many deletions as additions:&lt;br /&gt;
&lt;br /&gt;
  45 files changed, 954 insertions(+), 2182 deletions(-)&lt;br /&gt;
&lt;br /&gt;
After that Linux 3.4 merge window opened, and a big XFS updates was merged&lt;br /&gt;
into mainline, again removing a lot more code than adding it.  The&lt;br /&gt;
highlight are quota changes to make in-memory quota caching a lot faster&lt;br /&gt;
and more scalable, as well as changes to log all metadata updates on a&lt;br /&gt;
live XFS filesystem, thus finishing the consolidation of all metadata I/O&lt;br /&gt;
code pathes to just after many years of hard work.&lt;br /&gt;
&lt;br /&gt;
Development for the Linux 3.5 merge window also were in full steam,&lt;br /&gt;
including a series to kill the xfsbufd daemon in favour of on-stack&lt;br /&gt;
delayed buffer writeback lists.&lt;br /&gt;
&lt;br /&gt;
On the user space side we finally saw the long awaited xfsprogs 3.1.8&lt;br /&gt;
and xfsdump 3.1.0 releases.  The new xfsprogs release features a larger&lt;br /&gt;
number of repair fixes and speedups, as well as smaller updates to the&lt;br /&gt;
other tools.  All users are recommended to upgrade to this version.&lt;br /&gt;
Major updates in xfsdump 3.1.0 is support for dumping multiple I/O&lt;br /&gt;
streams in parallel, a new dump format to support all 32 bits of the&lt;br /&gt;
inode generation number, removal of support for the old SGI_XFSDUMP_SKIP_FILE&lt;br /&gt;
extended attribute, as well as various smaller fixes.&lt;br /&gt;
&lt;br /&gt;
Development of xfstests included at its normal pace, with a few new&lt;br /&gt;
test cases for xfsdump, as well as various fixes for existing test cases&lt;br /&gt;
and the addition of a new &amp;quot;dangerous&amp;quot; group to skip tests that potentially&lt;br /&gt;
crash the system if an too old kernel is used.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== XFS status update for February 2012 ==&lt;br /&gt;
&lt;br /&gt;
February has been been busy with development for Linux 3.3, although only&lt;br /&gt;
little new code made it to the development tree yet, mostly a refactor&lt;br /&gt;
of the log grant code.  Patch traffic on the mailing list included a rewrite&lt;br /&gt;
of disk quota caching, yielding dramatic performance improvements for systems&lt;br /&gt;
with lots of quotas, a series to make all inode updates and thus all live&lt;br /&gt;
metadata updates transactional.  Last but not least a version to&lt;br /&gt;
fix a long standing bug in support of the real time subvolume was posted,&lt;br /&gt;
showing that even this long deprecated feature still has a user base.&lt;br /&gt;
&lt;br /&gt;
On the userspace side development has been quite, with just two fixes to&lt;br /&gt;
xfs_io committed to xfsprogs, while waiting for the long overdue 3.1.8&lt;br /&gt;
release.  Xfsdump has been entirely quite this month, again waiting for&lt;br /&gt;
a release, and xfstests saw only two commits either, although there are&lt;br /&gt;
still lots of outstanding patches on the list that haven&#039;t been reviewed&lt;br /&gt;
and/or applied.&lt;br /&gt;
&lt;br /&gt;
== XFS status update for January 2012 ==&lt;br /&gt;
&lt;br /&gt;
January saw the release of Linux 3.2, which as usual included a large&lt;br /&gt;
number of XFS changes, most notably an large speedup for removing files&lt;br /&gt;
that have external attribute blocks, speedups and livelock fixes for&lt;br /&gt;
sync while doing heavy I/O, and large internal cleanups of the inode&lt;br /&gt;
block map handling.  The diffstat for XFS in Linux 3.2 is:&lt;br /&gt;
&lt;br /&gt;
 54 files changed, 2414 insertions(+), 2625 deletions(-)&lt;br /&gt;
&lt;br /&gt;
which is slightly below the average of the last releases.&lt;br /&gt;
&lt;br /&gt;
In the meantime development for 3.3 went ahead full speed, including&lt;br /&gt;
the removal of the deprecated pre-delaylog logging code, various&lt;br /&gt;
quota cleanups, a shrink of the inode, a great simplification of the file&lt;br /&gt;
write path as well as the usual batch of fixes and cleanups.&lt;br /&gt;
&lt;br /&gt;
On the userland side xfs_repair saw various major fixes and speedups,&lt;br /&gt;
with few other fixes thrown in, while xfsdump got two commits fixing&lt;br /&gt;
longer standing issues recently reported on the mailing list.  For&lt;br /&gt;
xfstests January was an extremely slow month, seeing only two new test cases&lt;br /&gt;
and less than a handful of other updates.&lt;/div&gt;</summary>
		<author><name>Hch</name></author>
	</entry>
	<entry>
		<id>https://xfs.org/index.php?title=XFS_status_update_for_2012&amp;diff=2830</id>
		<title>XFS status update for 2012</title>
		<link rel="alternate" type="text/html" href="https://xfs.org/index.php?title=XFS_status_update_for_2012&amp;diff=2830"/>
		<updated>2012-12-01T00:11:25Z</updated>

		<summary type="html">&lt;p&gt;Hch: October update&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== XFS status update for October 2012&lt;br /&gt;
&lt;br /&gt;
October saw the merge of the XFS development tree for Linux 3.7 into&lt;br /&gt;
mainline as well as a few additional fixes for this new work.&lt;br /&gt;
&lt;br /&gt;
Linux 3.7 will be a fairly boring release as far as XFS is concerned,&lt;br /&gt;
the biggest user visible changes are an intelligent implementation of&lt;br /&gt;
the lseek SEEK_HOLE/SEEK_DATA calls, and finally the switch to use&lt;br /&gt;
the inode64 allocator by default.&lt;br /&gt;
&lt;br /&gt;
The XFS development tree for Linux 3.8 started getting commits in&lt;br /&gt;
October as well, most notably a large cleanup of the periodic sync&lt;br /&gt;
code.&lt;br /&gt;
&lt;br /&gt;
On the user space side we saw release candidate for the next releases&lt;br /&gt;
of the XFS tools.  For xfsprogs the 3.1.9-rc1 release brings various&lt;br /&gt;
fixes in xfs_repair, especially dealing with directories as well as&lt;br /&gt;
various improvements in xfs_db and mkfs.xfs, three new  commands for&lt;br /&gt;
xfs_io and a few user visible fixes to xfs_quota.  The xfsdump 3.1.1-rc1&lt;br /&gt;
release adds a German string translation and support for 32-bit project&lt;br /&gt;
IDs.  xfstests saw its usual stream of fixes, but also a new ext4-specific&lt;br /&gt;
test case and a switch to use the util-linux version of fstrim instead&lt;br /&gt;
of a bundled one.  All user space projects saw various improvements to&lt;br /&gt;
the build system.&lt;br /&gt;
&lt;br /&gt;
== XFS status update for September 2012 ==&lt;br /&gt;
&lt;br /&gt;
September saw the release of Linux 3.6 which included a slightly smaller&lt;br /&gt;
than usual XFS update:&lt;br /&gt;
&lt;br /&gt;
 51 files changed, 2607 insertions(+), 2455 deletions(-)&lt;br /&gt;
&lt;br /&gt;
The bulk of the changes in Linux 3.6 is made up by native support for&lt;br /&gt;
discontinuous buffers, with various minor bug fixes and cleanups making up&lt;br /&gt;
the rest.  In the meantime the mailing list was busy with multiple revisions&lt;br /&gt;
of the sync/unmount code rewrite, and the patch series to make the inode64&lt;br /&gt;
mount option remountable and the default.&lt;br /&gt;
&lt;br /&gt;
On the user space side xfsprogs saw new support for the preadv, pwritev and&lt;br /&gt;
sync_file_range system calls in xfs_io as well as minor fixes to libxcmd and&lt;br /&gt;
mkfs.xfs, xfsdump grew support for dumping and restoring 32-bit project ids&lt;br /&gt;
and and saw an update to the German translation.  Xfstests saw a large number&lt;br /&gt;
of fixes, and a single new test case.&lt;br /&gt;
&lt;br /&gt;
== XFS status update for August 2012 ==&lt;br /&gt;
&lt;br /&gt;
After the release of Linux 3.5 in July, August saw the big XFS merge for&lt;br /&gt;
the Linux 3.6 merge window.  In the meantime the XFS tree has seen low&lt;br /&gt;
activity, with refined support for SEEK_HOLE/SEEK_DATA that takes unwritten&lt;br /&gt;
extents into account as the main feature.  A couple of fixes also went in&lt;br /&gt;
and mostly got back ported to mainline for Linux 3.5 as well.&lt;br /&gt;
&lt;br /&gt;
The mailing list had a lot of traffic about interesting updates that didn&#039;t&lt;br /&gt;
make it into the tree yet, with the most interesting being: remount support&lt;br /&gt;
for the inode64 option, a patch series allowing to trim back large&lt;br /&gt;
preallocations when the filesystem is out of space, and a large rewrite&lt;br /&gt;
of the XFS-internal sync code.&lt;br /&gt;
&lt;br /&gt;
On the user land side xfs_db saw a fix for a very long standing bug go into&lt;br /&gt;
the tree and xfstests saw a few fixes.  The mailing list list saw various other&lt;br /&gt;
interesting updates including a German translation for the xfsdump messages,&lt;br /&gt;
32-bit project ID support in xfsdump, a lot of xfstests updates including a&lt;br /&gt;
patch to use the upstream util-linux version of fstrim in xfstests, support&lt;br /&gt;
for tmpfs in xfstests, various ext3 and btrfs updates, but none of them&lt;br /&gt;
made it into the git tree.  There also was a lot of discussion of older&lt;br /&gt;
patch to reorganize the xfstests source tree.&lt;br /&gt;
&lt;br /&gt;
== XFS status update for July 2012 ==&lt;br /&gt;
&lt;br /&gt;
July saw the release of Linux 3.5, which included an average sized XFS&lt;br /&gt;
update:&lt;br /&gt;
&lt;br /&gt;
    81 files changed, 2633 insertions(+), 3004 deletions(-)&lt;br /&gt;
&lt;br /&gt;
Noteworthy updates in Linux 3.5 include the removal of the xfsbufd&lt;br /&gt;
background thread which writes metadata buffers, background processing&lt;br /&gt;
of CIL flushes and thus lower average latency for metadata heavy&lt;br /&gt;
workloads, as well a a reduction of lock hold times and frequency during&lt;br /&gt;
reads and writes.  The large XFS update for the Linux 3.6 merge window&lt;br /&gt;
did not get merged yet by the end of July, but will bring better support&lt;br /&gt;
for large directory block sizes, a faster inode allocator and a large&lt;br /&gt;
amount of bug fixes in different areas of the code.  Development on the list&lt;br /&gt;
has been fairly busy on the patchsets to support group and project quotas&lt;br /&gt;
at the same time, as well as improved SEEK_HOLE/SEEK_DATA support but&lt;br /&gt;
otherwise mostly limited to bug fixes and smaller cleanups.&lt;br /&gt;
&lt;br /&gt;
Userpace development has been rather slow with a single fix for xfs_db&lt;br /&gt;
and another single fix in xfstests.&lt;br /&gt;
&lt;br /&gt;
== XFS status update for June 2012 ==&lt;br /&gt;
&lt;br /&gt;
June has been a pretty slow month for XFS in Linus tree, as June saw&lt;br /&gt;
the stabilization of the Linux 3.5 and thus only a handful of important&lt;br /&gt;
XFS fixes.  Development of the tree destined for the next merge window&lt;br /&gt;
has been a bit more busy with the addition of discontinuous buffers that&lt;br /&gt;
replace the dabuf layer which has performance issues and isn&#039;t easy to&lt;br /&gt;
deal with in the upcoming metadata checksumming as well as a few smaller&lt;br /&gt;
cleanups.&lt;br /&gt;
&lt;br /&gt;
The list saw various other patches not applied yet, most notable a&lt;br /&gt;
refactoring and speedup of the inode allocator, and a heavily discussed&lt;br /&gt;
rewrite of the mount option parsing.&lt;br /&gt;
&lt;br /&gt;
On the user space side a small number of fixes to the handling of fragmented&lt;br /&gt;
directories were applied to xfs_repair, and xfstests saw a fix for handling&lt;br /&gt;
different versions of xfsdump.&lt;br /&gt;
&lt;br /&gt;
==  XFS status update for May 2012 ==&lt;br /&gt;
&lt;br /&gt;
May saw the release of Linux 3.4, including a decent sized XFS update.&lt;br /&gt;
Remarkable XFS features in Linux 3.4 include moving over all metadata&lt;br /&gt;
updates to use transactions, the addition of a work queue for the&lt;br /&gt;
low-level allocator code to avoid stack overflows due to extreme stack&lt;br /&gt;
use in the Linux VM/VFS call chain, better xattr operation tracing,&lt;br /&gt;
fixes for a long-standing but hard to hit deadlock when using the XFS&lt;br /&gt;
real time subvolume, and big improvements in disk quota scalability.&lt;br /&gt;
&lt;br /&gt;
The final diffstat for XFS in Linux 3.4 is:&lt;br /&gt;
&lt;br /&gt;
 61 files changed, 1692 insertions(+), 2356 deletions(-)&lt;br /&gt;
&lt;br /&gt;
In the meantime the merge window for Linux 3.5 opened, and another large&lt;br /&gt;
update has been merged into Linus&#039; tree.  Interesting changes in Linux&lt;br /&gt;
3.5-rc1 include improved error handling on buffer write failures,&lt;br /&gt;
a drastic reduction of locking overhead when doing high-IOPS direct I/O,&lt;br /&gt;
removal of the old xfsbufd daemon in favor of writing most run-time&lt;br /&gt;
metadata from the xfsaild daemon, deferral of CIL pushes to decouple&lt;br /&gt;
user space metadata I/O from log writeback, and last but not least the&lt;br /&gt;
addition of the SEEK_DATA/SEEK_HOLE lseek arguments that allow user space&lt;br /&gt;
programs to deal with sparse files efficiently. Traffic on the mailing list has been a bit&lt;br /&gt;
quiet in May, mostly focusing on a wide range of bug fixes, but little new features.&lt;br /&gt;
&lt;br /&gt;
On the user space side xfs_repair saw a few bug fixes posted to the list&lt;br /&gt;
that didn&#039;t make it to the repository yet, while xfstests saw it&#039;s usual&lt;br /&gt;
amount of minor bug fixes.&lt;br /&gt;
&lt;br /&gt;
== XFS status update for April 2012 ==&lt;br /&gt;
&lt;br /&gt;
April was a relatively quite month in XFS development, partially because&lt;br /&gt;
most XFS developers traveled to San Francisco for the Linux Filesystem&lt;br /&gt;
and Storage Summit and the first XFS developers meeting co hosted at the&lt;br /&gt;
Linux Foundation Collaboration Summit.&lt;br /&gt;
&lt;br /&gt;
The XFS development tree only saw a series to reduce ilock hold times and&lt;br /&gt;
a few patches merged.  Traffic on the mailing list list has been a bit more&lt;br /&gt;
busy, with a few patchset being reposted again and again after various&lt;br /&gt;
updates.  Features still scheduled for Linux 3.5 include:  removal of&lt;br /&gt;
the xfsbufd daemon, various other cleanups of the buffer layer, moving&lt;br /&gt;
CIL commits into a background thread and thus reducing the impact on&lt;br /&gt;
threads causing the commits, as well as a bigger than usual set of&lt;br /&gt;
cleanups and fixes.&lt;br /&gt;
&lt;br /&gt;
The user space side as been extremely slow with no patches applied and&lt;br /&gt;
very few posted to the mailing list.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== XFS status update for March 2012 ==&lt;br /&gt;
&lt;br /&gt;
March saw the release of Linux 3.3, which saw an XFS update slightly smaller&lt;br /&gt;
than usual, and consisting largely of code removal and cleanups, with the&lt;br /&gt;
only user visible change being the removal of the old logging code, and thus&lt;br /&gt;
the &amp;quot;nodelaylog&amp;quot; mount option.  This is reflected in a diffstat with more&lt;br /&gt;
than twice as many deletions as additions:&lt;br /&gt;
&lt;br /&gt;
  45 files changed, 954 insertions(+), 2182 deletions(-)&lt;br /&gt;
&lt;br /&gt;
After that Linux 3.4 merge window opened, and a big XFS updates was merged&lt;br /&gt;
into mainline, again removing a lot more code than adding it.  The&lt;br /&gt;
highlight are quota changes to make in-memory quota caching a lot faster&lt;br /&gt;
and more scalable, as well as changes to log all metadata updates on a&lt;br /&gt;
live XFS filesystem, thus finishing the consolidation of all metadata I/O&lt;br /&gt;
code pathes to just after many years of hard work.&lt;br /&gt;
&lt;br /&gt;
Development for the Linux 3.5 merge window also were in full steam,&lt;br /&gt;
including a series to kill the xfsbufd daemon in favour of on-stack&lt;br /&gt;
delayed buffer writeback lists.&lt;br /&gt;
&lt;br /&gt;
On the user space side we finally saw the long awaited xfsprogs 3.1.8&lt;br /&gt;
and xfsdump 3.1.0 releases.  The new xfsprogs release features a larger&lt;br /&gt;
number of repair fixes and speedups, as well as smaller updates to the&lt;br /&gt;
other tools.  All users are recommended to upgrade to this version.&lt;br /&gt;
Major updates in xfsdump 3.1.0 is support for dumping multiple I/O&lt;br /&gt;
streams in parallel, a new dump format to support all 32 bits of the&lt;br /&gt;
inode generation number, removal of support for the old SGI_XFSDUMP_SKIP_FILE&lt;br /&gt;
extended attribute, as well as various smaller fixes.&lt;br /&gt;
&lt;br /&gt;
Development of xfstests included at its normal pace, with a few new&lt;br /&gt;
test cases for xfsdump, as well as various fixes for existing test cases&lt;br /&gt;
and the addition of a new &amp;quot;dangerous&amp;quot; group to skip tests that potentially&lt;br /&gt;
crash the system if an too old kernel is used.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== XFS status update for February 2012 ==&lt;br /&gt;
&lt;br /&gt;
February has been been busy with development for Linux 3.3, although only&lt;br /&gt;
little new code made it to the development tree yet, mostly a refactor&lt;br /&gt;
of the log grant code.  Patch traffic on the mailing list included a rewrite&lt;br /&gt;
of disk quota caching, yielding dramatic performance improvements for systems&lt;br /&gt;
with lots of quotas, a series to make all inode updates and thus all live&lt;br /&gt;
metadata updates transactional.  Last but not least a version to&lt;br /&gt;
fix a long standing bug in support of the real time subvolume was posted,&lt;br /&gt;
showing that even this long deprecated feature still has a user base.&lt;br /&gt;
&lt;br /&gt;
On the userspace side development has been quite, with just two fixes to&lt;br /&gt;
xfs_io committed to xfsprogs, while waiting for the long overdue 3.1.8&lt;br /&gt;
release.  Xfsdump has been entirely quite this month, again waiting for&lt;br /&gt;
a release, and xfstests saw only two commits either, although there are&lt;br /&gt;
still lots of outstanding patches on the list that haven&#039;t been reviewed&lt;br /&gt;
and/or applied.&lt;br /&gt;
&lt;br /&gt;
== XFS status update for January 2012 ==&lt;br /&gt;
&lt;br /&gt;
January saw the release of Linux 3.2, which as usual included a large&lt;br /&gt;
number of XFS changes, most notably an large speedup for removing files&lt;br /&gt;
that have external attribute blocks, speedups and livelock fixes for&lt;br /&gt;
sync while doing heavy I/O, and large internal cleanups of the inode&lt;br /&gt;
block map handling.  The diffstat for XFS in Linux 3.2 is:&lt;br /&gt;
&lt;br /&gt;
 54 files changed, 2414 insertions(+), 2625 deletions(-)&lt;br /&gt;
&lt;br /&gt;
which is slightly below the average of the last releases.&lt;br /&gt;
&lt;br /&gt;
In the meantime development for 3.3 went ahead full speed, including&lt;br /&gt;
the removal of the deprecated pre-delaylog logging code, various&lt;br /&gt;
quota cleanups, a shrink of the inode, a great simplification of the file&lt;br /&gt;
write path as well as the usual batch of fixes and cleanups.&lt;br /&gt;
&lt;br /&gt;
On the userland side xfs_repair saw various major fixes and speedups,&lt;br /&gt;
with few other fixes thrown in, while xfsdump got two commits fixing&lt;br /&gt;
longer standing issues recently reported on the mailing list.  For&lt;br /&gt;
xfstests January was an extremely slow month, seeing only two new test cases&lt;br /&gt;
and less than a handful of other updates.&lt;/div&gt;</summary>
		<author><name>Hch</name></author>
	</entry>
	<entry>
		<id>https://xfs.org/index.php?title=XFS_status_update_for_2012&amp;diff=2827</id>
		<title>XFS status update for 2012</title>
		<link rel="alternate" type="text/html" href="https://xfs.org/index.php?title=XFS_status_update_for_2012&amp;diff=2827"/>
		<updated>2012-10-30T21:46:06Z</updated>

		<summary type="html">&lt;p&gt;Hch: September update&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== XFS status update for September 2012 ==&lt;br /&gt;
&lt;br /&gt;
September saw the release of Linux 3.6 which included a slightly smaller&lt;br /&gt;
than usual XFS update:&lt;br /&gt;
&lt;br /&gt;
 51 files changed, 2607 insertions(+), 2455 deletions(-)&lt;br /&gt;
&lt;br /&gt;
The bulk of the changes in Linux 3.6 is made up by native support for&lt;br /&gt;
discontinuous buffers, with various minor bug fixes and cleanups making up&lt;br /&gt;
the rest.  In the meantime the mailing list was busy with multiple revisions&lt;br /&gt;
of the sync/unmount code rewrite, and the patch series to make the inode64&lt;br /&gt;
mount option remountable and the default.&lt;br /&gt;
&lt;br /&gt;
On the user space side xfsprogs saw new support for the preadv, pwritev and&lt;br /&gt;
sync_file_range system calls in xfs_io as well as minor fixes to libxcmd and&lt;br /&gt;
mkfs.xfs, xfsdump grew support for dumping and restoring 32-bit project ids&lt;br /&gt;
and and saw an update to the German translation.  Xfstests saw a large number&lt;br /&gt;
of fixes, and a single new test case.&lt;br /&gt;
&lt;br /&gt;
== XFS status update for August 2012 ==&lt;br /&gt;
&lt;br /&gt;
After the release of Linux 3.5 in July, August saw the big XFS merge for&lt;br /&gt;
the Linux 3.6 merge window.  In the meantime the XFS tree has seen low&lt;br /&gt;
activity, with refined support for SEEK_HOLE/SEEK_DATA that takes unwritten&lt;br /&gt;
extents into account as the main feature.  A couple of fixes also went in&lt;br /&gt;
and mostly got back ported to mainline for Linux 3.5 as well.&lt;br /&gt;
&lt;br /&gt;
The mailing list had a lot of traffic about interesting updates that didn&#039;t&lt;br /&gt;
make it into the tree yet, with the most interesting being: remount support&lt;br /&gt;
for the inode64 option, a patch series allowing to trim back large&lt;br /&gt;
preallocations when the filesystem is out of space, and a large rewrite&lt;br /&gt;
of the XFS-internal sync code.&lt;br /&gt;
&lt;br /&gt;
On the user land side xfs_db saw a fix for a very long standing bug go into&lt;br /&gt;
the tree and xfstests saw a few fixes.  The mailing list list saw various other&lt;br /&gt;
interesting updates including a German translation for the xfsdump messages,&lt;br /&gt;
32-bit project ID support in xfsdump, a lot of xfstests updates including a&lt;br /&gt;
patch to use the upstream util-linux version of fstrim in xfstests, support&lt;br /&gt;
for tmpfs in xfstests, various ext3 and btrfs updates, but none of them&lt;br /&gt;
made it into the git tree.  There also was a lot of discussion of older&lt;br /&gt;
patch to reorganize the xfstests source tree.&lt;br /&gt;
&lt;br /&gt;
== XFS status update for July 2012 ==&lt;br /&gt;
&lt;br /&gt;
July saw the release of Linux 3.5, which included an average sized XFS&lt;br /&gt;
update:&lt;br /&gt;
&lt;br /&gt;
    81 files changed, 2633 insertions(+), 3004 deletions(-)&lt;br /&gt;
&lt;br /&gt;
Noteworthy updates in Linux 3.5 include the removal of the xfsbufd&lt;br /&gt;
background thread which writes metadata buffers, background processing&lt;br /&gt;
of CIL flushes and thus lower average latency for metadata heavy&lt;br /&gt;
workloads, as well a a reduction of lock hold times and frequency during&lt;br /&gt;
reads and writes.  The large XFS update for the Linux 3.6 merge window&lt;br /&gt;
did not get merged yet by the end of July, but will bring better support&lt;br /&gt;
for large directory block sizes, a faster inode allocator and a large&lt;br /&gt;
amount of bug fixes in different areas of the code.  Development on the list&lt;br /&gt;
has been fairly busy on the patchsets to support group and project quotas&lt;br /&gt;
at the same time, as well as improved SEEK_HOLE/SEEK_DATA support but&lt;br /&gt;
otherwise mostly limited to bug fixes and smaller cleanups.&lt;br /&gt;
&lt;br /&gt;
Userpace development has been rather slow with a single fix for xfs_db&lt;br /&gt;
and another single fix in xfstests.&lt;br /&gt;
&lt;br /&gt;
== XFS status update for June 2012 ==&lt;br /&gt;
&lt;br /&gt;
June has been a pretty slow month for XFS in Linus tree, as June saw&lt;br /&gt;
the stabilization of the Linux 3.5 and thus only a handful of important&lt;br /&gt;
XFS fixes.  Development of the tree destined for the next merge window&lt;br /&gt;
has been a bit more busy with the addition of discontinuous buffers that&lt;br /&gt;
replace the dabuf layer which has performance issues and isn&#039;t easy to&lt;br /&gt;
deal with in the upcoming metadata checksumming as well as a few smaller&lt;br /&gt;
cleanups.&lt;br /&gt;
&lt;br /&gt;
The list saw various other patches not applied yet, most notable a&lt;br /&gt;
refactoring and speedup of the inode allocator, and a heavily discussed&lt;br /&gt;
rewrite of the mount option parsing.&lt;br /&gt;
&lt;br /&gt;
On the user space side a small number of fixes to the handling of fragmented&lt;br /&gt;
directories were applied to xfs_repair, and xfstests saw a fix for handling&lt;br /&gt;
different versions of xfsdump.&lt;br /&gt;
&lt;br /&gt;
==  XFS status update for May 2012 ==&lt;br /&gt;
&lt;br /&gt;
May saw the release of Linux 3.4, including a decent sized XFS update.&lt;br /&gt;
Remarkable XFS features in Linux 3.4 include moving over all metadata&lt;br /&gt;
updates to use transactions, the addition of a work queue for the&lt;br /&gt;
low-level allocator code to avoid stack overflows due to extreme stack&lt;br /&gt;
use in the Linux VM/VFS call chain, better xattr operation tracing,&lt;br /&gt;
fixes for a long-standing but hard to hit deadlock when using the XFS&lt;br /&gt;
real time subvolume, and big improvements in disk quota scalability.&lt;br /&gt;
&lt;br /&gt;
The final diffstat for XFS in Linux 3.4 is:&lt;br /&gt;
&lt;br /&gt;
 61 files changed, 1692 insertions(+), 2356 deletions(-)&lt;br /&gt;
&lt;br /&gt;
In the meantime the merge window for Linux 3.5 opened, and another large&lt;br /&gt;
update has been merged into Linus&#039; tree.  Interesting changes in Linux&lt;br /&gt;
3.5-rc1 include improved error handling on buffer write failures,&lt;br /&gt;
a drastic reduction of locking overhead when doing high-IOPS direct I/O,&lt;br /&gt;
removal of the old xfsbufd daemon in favor of writing most run-time&lt;br /&gt;
metadata from the xfsaild daemon, deferral of CIL pushes to decouple&lt;br /&gt;
user space metadata I/O from log writeback, and last but not least the&lt;br /&gt;
addition of the SEEK_DATA/SEEK_HOLE lseek arguments that allow user space&lt;br /&gt;
programs to deal with sparse files efficiently. Traffic on the mailing list has been a bit&lt;br /&gt;
quiet in May, mostly focusing on a wide range of bug fixes, but little new features.&lt;br /&gt;
&lt;br /&gt;
On the user space side xfs_repair saw a few bug fixes posted to the list&lt;br /&gt;
that didn&#039;t make it to the repository yet, while xfstests saw it&#039;s usual&lt;br /&gt;
amount of minor bug fixes.&lt;br /&gt;
&lt;br /&gt;
== XFS status update for April 2012 ==&lt;br /&gt;
&lt;br /&gt;
April was a relatively quite month in XFS development, partially because&lt;br /&gt;
most XFS developers traveled to San Francisco for the Linux Filesystem&lt;br /&gt;
and Storage Summit and the first XFS developers meeting co hosted at the&lt;br /&gt;
Linux Foundation Collaboration Summit.&lt;br /&gt;
&lt;br /&gt;
The XFS development tree only saw a series to reduce ilock hold times and&lt;br /&gt;
a few patches merged.  Traffic on the mailing list list has been a bit more&lt;br /&gt;
busy, with a few patchset being reposted again and again after various&lt;br /&gt;
updates.  Features still scheduled for Linux 3.5 include:  removal of&lt;br /&gt;
the xfsbufd daemon, various other cleanups of the buffer layer, moving&lt;br /&gt;
CIL commits into a background thread and thus reducing the impact on&lt;br /&gt;
threads causing the commits, as well as a bigger than usual set of&lt;br /&gt;
cleanups and fixes.&lt;br /&gt;
&lt;br /&gt;
The user space side as been extremely slow with no patches applied and&lt;br /&gt;
very few posted to the mailing list.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== XFS status update for March 2012 ==&lt;br /&gt;
&lt;br /&gt;
March saw the release of Linux 3.3, which saw an XFS update slightly smaller&lt;br /&gt;
than usual, and consisting largely of code removal and cleanups, with the&lt;br /&gt;
only user visible change being the removal of the old logging code, and thus&lt;br /&gt;
the &amp;quot;nodelaylog&amp;quot; mount option.  This is reflected in a diffstat with more&lt;br /&gt;
than twice as many deletions as additions:&lt;br /&gt;
&lt;br /&gt;
  45 files changed, 954 insertions(+), 2182 deletions(-)&lt;br /&gt;
&lt;br /&gt;
After that Linux 3.4 merge window opened, and a big XFS updates was merged&lt;br /&gt;
into mainline, again removing a lot more code than adding it.  The&lt;br /&gt;
highlight are quota changes to make in-memory quota caching a lot faster&lt;br /&gt;
and more scalable, as well as changes to log all metadata updates on a&lt;br /&gt;
live XFS filesystem, thus finishing the consolidation of all metadata I/O&lt;br /&gt;
code pathes to just after many years of hard work.&lt;br /&gt;
&lt;br /&gt;
Development for the Linux 3.5 merge window also were in full steam,&lt;br /&gt;
including a series to kill the xfsbufd daemon in favour of on-stack&lt;br /&gt;
delayed buffer writeback lists.&lt;br /&gt;
&lt;br /&gt;
On the user space side we finally saw the long awaited xfsprogs 3.1.8&lt;br /&gt;
and xfsdump 3.1.0 releases.  The new xfsprogs release features a larger&lt;br /&gt;
number of repair fixes and speedups, as well as smaller updates to the&lt;br /&gt;
other tools.  All users are recommended to upgrade to this version.&lt;br /&gt;
Major updates in xfsdump 3.1.0 is support for dumping multiple I/O&lt;br /&gt;
streams in parallel, a new dump format to support all 32 bits of the&lt;br /&gt;
inode generation number, removal of support for the old SGI_XFSDUMP_SKIP_FILE&lt;br /&gt;
extended attribute, as well as various smaller fixes.&lt;br /&gt;
&lt;br /&gt;
Development of xfstests included at its normal pace, with a few new&lt;br /&gt;
test cases for xfsdump, as well as various fixes for existing test cases&lt;br /&gt;
and the addition of a new &amp;quot;dangerous&amp;quot; group to skip tests that potentially&lt;br /&gt;
crash the system if an too old kernel is used.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== XFS status update for February 2012 ==&lt;br /&gt;
&lt;br /&gt;
February has been been busy with development for Linux 3.3, although only&lt;br /&gt;
little new code made it to the development tree yet, mostly a refactor&lt;br /&gt;
of the log grant code.  Patch traffic on the mailing list included a rewrite&lt;br /&gt;
of disk quota caching, yielding dramatic performance improvements for systems&lt;br /&gt;
with lots of quotas, a series to make all inode updates and thus all live&lt;br /&gt;
metadata updates transactional.  Last but not least a version to&lt;br /&gt;
fix a long standing bug in support of the real time subvolume was posted,&lt;br /&gt;
showing that even this long deprecated feature still has a user base.&lt;br /&gt;
&lt;br /&gt;
On the userspace side development has been quite, with just two fixes to&lt;br /&gt;
xfs_io committed to xfsprogs, while waiting for the long overdue 3.1.8&lt;br /&gt;
release.  Xfsdump has been entirely quite this month, again waiting for&lt;br /&gt;
a release, and xfstests saw only two commits either, although there are&lt;br /&gt;
still lots of outstanding patches on the list that haven&#039;t been reviewed&lt;br /&gt;
and/or applied.&lt;br /&gt;
&lt;br /&gt;
== XFS status update for January 2012 ==&lt;br /&gt;
&lt;br /&gt;
January saw the release of Linux 3.2, which as usual included a large&lt;br /&gt;
number of XFS changes, most notably an large speedup for removing files&lt;br /&gt;
that have external attribute blocks, speedups and livelock fixes for&lt;br /&gt;
sync while doing heavy I/O, and large internal cleanups of the inode&lt;br /&gt;
block map handling.  The diffstat for XFS in Linux 3.2 is:&lt;br /&gt;
&lt;br /&gt;
 54 files changed, 2414 insertions(+), 2625 deletions(-)&lt;br /&gt;
&lt;br /&gt;
which is slightly below the average of the last releases.&lt;br /&gt;
&lt;br /&gt;
In the meantime development for 3.3 went ahead full speed, including&lt;br /&gt;
the removal of the deprecated pre-delaylog logging code, various&lt;br /&gt;
quota cleanups, a shrink of the inode, a great simplification of the file&lt;br /&gt;
write path as well as the usual batch of fixes and cleanups.&lt;br /&gt;
&lt;br /&gt;
On the userland side xfs_repair saw various major fixes and speedups,&lt;br /&gt;
with few other fixes thrown in, while xfsdump got two commits fixing&lt;br /&gt;
longer standing issues recently reported on the mailing list.  For&lt;br /&gt;
xfstests January was an extremely slow month, seeing only two new test cases&lt;br /&gt;
and less than a handful of other updates.&lt;/div&gt;</summary>
		<author><name>Hch</name></author>
	</entry>
	<entry>
		<id>https://xfs.org/index.php?title=XFS_status_update_for_2012&amp;diff=2817</id>
		<title>XFS status update for 2012</title>
		<link rel="alternate" type="text/html" href="https://xfs.org/index.php?title=XFS_status_update_for_2012&amp;diff=2817"/>
		<updated>2012-09-13T08:00:14Z</updated>

		<summary type="html">&lt;p&gt;Hch: August update&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== XFS status update for August 2012 ==&lt;br /&gt;
&lt;br /&gt;
After the release of Linux 3.5 in July, August saw the big XFS merge for&lt;br /&gt;
the Linux 3.6 merge window.  In the meantime the XFS tree has seen low&lt;br /&gt;
activity, with refined support for SEEK_HOLE/SEEK_DATA that takes unwritten&lt;br /&gt;
extents into account as the main feature.  A couple of fixes also went in&lt;br /&gt;
and mostly got back ported to mainline for Linux 3.5 as well.&lt;br /&gt;
&lt;br /&gt;
The mailing list had a lot of traffic about interesting updates that didn&#039;t&lt;br /&gt;
make it into the tree yet, with the most interesting being: remount support&lt;br /&gt;
for the inode64 option, a patch series allowing to trim back large&lt;br /&gt;
preallocations when the filesystem is out of space, and a large rewrite&lt;br /&gt;
of the XFS-internal sync code.&lt;br /&gt;
&lt;br /&gt;
On the user land side xfs_db saw a fix for a very long standing bug go into&lt;br /&gt;
the tree and xfstests saw a few fixes.  The mailing list list saw various other&lt;br /&gt;
interesting updates including a German translation for the xfsdump messages,&lt;br /&gt;
32-bit project ID support in xfsdump, a lot of xfstests updates including a&lt;br /&gt;
patch to use the upstream util-linux version of fstrim in xfstests, support&lt;br /&gt;
for tmpfs in xfstests, various ext3 and btrfs updates, but none of them&lt;br /&gt;
made it into the git tree.  There also was a lot of discussion of older&lt;br /&gt;
patch to reorganize the xfstests source tree.&lt;br /&gt;
&lt;br /&gt;
== XFS status update for July 2012 ==&lt;br /&gt;
&lt;br /&gt;
July saw the release of Linux 3.5, which included an average sized XFS&lt;br /&gt;
update:&lt;br /&gt;
&lt;br /&gt;
    81 files changed, 2633 insertions(+), 3004 deletions(-)&lt;br /&gt;
&lt;br /&gt;
Noteworthy updates in Linux 3.5 include the removal of the xfsbufd&lt;br /&gt;
background thread which writes metadata buffers, background processing&lt;br /&gt;
of CIL flushes and thus lower average latency for metadata heavy&lt;br /&gt;
workloads, as well a a reduction of lock hold times and frequency during&lt;br /&gt;
reads and writes.  The large XFS update for the Linux 3.6 merge window&lt;br /&gt;
did not get merged yet by the end of July, but will bring better support&lt;br /&gt;
for large directory block sizes, a faster inode allocator and a large&lt;br /&gt;
amount of bug fixes in different areas of the code.  Development on the list&lt;br /&gt;
has been fairly busy on the patchsets to support group and project quotas&lt;br /&gt;
at the same time, as well as improved SEEK_HOLE/SEEK_DATA support but&lt;br /&gt;
otherwise mostly limited to bug fixes and smaller cleanups.&lt;br /&gt;
&lt;br /&gt;
Userpace development has been rather slow with a single fix for xfs_db&lt;br /&gt;
and another single fix in xfstests.&lt;br /&gt;
&lt;br /&gt;
== XFS status update for June 2012 ==&lt;br /&gt;
&lt;br /&gt;
June has been a pretty slow month for XFS in Linus tree, as June saw&lt;br /&gt;
the stabilization of the Linux 3.5 and thus only a handful of important&lt;br /&gt;
XFS fixes.  Development of the tree destined for the next merge window&lt;br /&gt;
has been a bit more busy with the addition of discontinuous buffers that&lt;br /&gt;
replace the dabuf layer which has performance issues and isn&#039;t easy to&lt;br /&gt;
deal with in the upcoming metadata checksumming as well as a few smaller&lt;br /&gt;
cleanups.&lt;br /&gt;
&lt;br /&gt;
The list saw various other patches not applied yet, most notable a&lt;br /&gt;
refactoring and speedup of the inode allocator, and a heavily discussed&lt;br /&gt;
rewrite of the mount option parsing.&lt;br /&gt;
&lt;br /&gt;
On the user space side a small number of fixes to the handling of fragmented&lt;br /&gt;
directories were applied to xfs_repair, and xfstests saw a fix for handling&lt;br /&gt;
different versions of xfsdump.&lt;br /&gt;
&lt;br /&gt;
==  XFS status update for May 2012 ==&lt;br /&gt;
&lt;br /&gt;
May saw the release of Linux 3.4, including a decent sized XFS update.&lt;br /&gt;
Remarkable XFS features in Linux 3.4 include moving over all metadata&lt;br /&gt;
updates to use transactions, the addition of a work queue for the&lt;br /&gt;
low-level allocator code to avoid stack overflows due to extreme stack&lt;br /&gt;
use in the Linux VM/VFS call chain, better xattr operation tracing,&lt;br /&gt;
fixes for a long-standing but hard to hit deadlock when using the XFS&lt;br /&gt;
real time subvolume, and big improvements in disk quota scalability.&lt;br /&gt;
&lt;br /&gt;
The final diffstat for XFS in Linux 3.4 is:&lt;br /&gt;
&lt;br /&gt;
 61 files changed, 1692 insertions(+), 2356 deletions(-)&lt;br /&gt;
&lt;br /&gt;
In the meantime the merge window for Linux 3.5 opened, and another large&lt;br /&gt;
update has been merged into Linus&#039; tree.  Interesting changes in Linux&lt;br /&gt;
3.5-rc1 include improved error handling on buffer write failures,&lt;br /&gt;
a drastic reduction of locking overhead when doing high-IOPS direct I/O,&lt;br /&gt;
removal of the old xfsbufd daemon in favor of writing most run-time&lt;br /&gt;
metadata from the xfsaild daemon, deferral of CIL pushes to decouple&lt;br /&gt;
user space metadata I/O from log writeback, and last but not least the&lt;br /&gt;
addition of the SEEK_DATA/SEEK_HOLE lseek arguments that allow user space&lt;br /&gt;
programs to deal with sparse files efficiently. Traffic on the mailing list has been a bit&lt;br /&gt;
quiet in May, mostly focusing on a wide range of bug fixes, but little new features.&lt;br /&gt;
&lt;br /&gt;
On the user space side xfs_repair saw a few bug fixes posted to the list&lt;br /&gt;
that didn&#039;t make it to the repository yet, while xfstests saw it&#039;s usual&lt;br /&gt;
amount of minor bug fixes.&lt;br /&gt;
&lt;br /&gt;
== XFS status update for April 2012 ==&lt;br /&gt;
&lt;br /&gt;
April was a relatively quite month in XFS development, partially because&lt;br /&gt;
most XFS developers traveled to San Francisco for the Linux Filesystem&lt;br /&gt;
and Storage Summit and the first XFS developers meeting co hosted at the&lt;br /&gt;
Linux Foundation Collaboration Summit.&lt;br /&gt;
&lt;br /&gt;
The XFS development tree only saw a series to reduce ilock hold times and&lt;br /&gt;
a few patches merged.  Traffic on the mailing list list has been a bit more&lt;br /&gt;
busy, with a few patchset being reposted again and again after various&lt;br /&gt;
updates.  Features still scheduled for Linux 3.5 include:  removal of&lt;br /&gt;
the xfsbufd daemon, various other cleanups of the buffer layer, moving&lt;br /&gt;
CIL commits into a background thread and thus reducing the impact on&lt;br /&gt;
threads causing the commits, as well as a bigger than usual set of&lt;br /&gt;
cleanups and fixes.&lt;br /&gt;
&lt;br /&gt;
The user space side as been extremely slow with no patches applied and&lt;br /&gt;
very few posted to the mailing list.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== XFS status update for March 2012 ==&lt;br /&gt;
&lt;br /&gt;
March saw the release of Linux 3.3, which saw an XFS update slightly smaller&lt;br /&gt;
than usual, and consisting largely of code removal and cleanups, with the&lt;br /&gt;
only user visible change being the removal of the old logging code, and thus&lt;br /&gt;
the &amp;quot;nodelaylog&amp;quot; mount option.  This is reflected in a diffstat with more&lt;br /&gt;
than twice as many deletions as additions:&lt;br /&gt;
&lt;br /&gt;
  45 files changed, 954 insertions(+), 2182 deletions(-)&lt;br /&gt;
&lt;br /&gt;
After that Linux 3.4 merge window opened, and a big XFS updates was merged&lt;br /&gt;
into mainline, again removing a lot more code than adding it.  The&lt;br /&gt;
highlight are quota changes to make in-memory quota caching a lot faster&lt;br /&gt;
and more scalable, as well as changes to log all metadata updates on a&lt;br /&gt;
live XFS filesystem, thus finishing the consolidation of all metadata I/O&lt;br /&gt;
code pathes to just after many years of hard work.&lt;br /&gt;
&lt;br /&gt;
Development for the Linux 3.5 merge window also were in full steam,&lt;br /&gt;
including a series to kill the xfsbufd daemon in favour of on-stack&lt;br /&gt;
delayed buffer writeback lists.&lt;br /&gt;
&lt;br /&gt;
On the user space side we finally saw the long awaited xfsprogs 3.1.8&lt;br /&gt;
and xfsdump 3.1.0 releases.  The new xfsprogs release features a larger&lt;br /&gt;
number of repair fixes and speedups, as well as smaller updates to the&lt;br /&gt;
other tools.  All users are recommended to upgrade to this version.&lt;br /&gt;
Major updates in xfsdump 3.1.0 is support for dumping multiple I/O&lt;br /&gt;
streams in parallel, a new dump format to support all 32 bits of the&lt;br /&gt;
inode generation number, removal of support for the old SGI_XFSDUMP_SKIP_FILE&lt;br /&gt;
extended attribute, as well as various smaller fixes.&lt;br /&gt;
&lt;br /&gt;
Development of xfstests included at its normal pace, with a few new&lt;br /&gt;
test cases for xfsdump, as well as various fixes for existing test cases&lt;br /&gt;
and the addition of a new &amp;quot;dangerous&amp;quot; group to skip tests that potentially&lt;br /&gt;
crash the system if an too old kernel is used.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== XFS status update for February 2012 ==&lt;br /&gt;
&lt;br /&gt;
February has been been busy with development for Linux 3.3, although only&lt;br /&gt;
little new code made it to the development tree yet, mostly a refactor&lt;br /&gt;
of the log grant code.  Patch traffic on the mailing list included a rewrite&lt;br /&gt;
of disk quota caching, yielding dramatic performance improvements for systems&lt;br /&gt;
with lots of quotas, a series to make all inode updates and thus all live&lt;br /&gt;
metadata updates transactional.  Last but not least a version to&lt;br /&gt;
fix a long standing bug in support of the real time subvolume was posted,&lt;br /&gt;
showing that even this long deprecated feature still has a user base.&lt;br /&gt;
&lt;br /&gt;
On the userspace side development has been quite, with just two fixes to&lt;br /&gt;
xfs_io committed to xfsprogs, while waiting for the long overdue 3.1.8&lt;br /&gt;
release.  Xfsdump has been entirely quite this month, again waiting for&lt;br /&gt;
a release, and xfstests saw only two commits either, although there are&lt;br /&gt;
still lots of outstanding patches on the list that haven&#039;t been reviewed&lt;br /&gt;
and/or applied.&lt;br /&gt;
&lt;br /&gt;
== XFS status update for January 2012 ==&lt;br /&gt;
&lt;br /&gt;
January saw the release of Linux 3.2, which as usual included a large&lt;br /&gt;
number of XFS changes, most notably an large speedup for removing files&lt;br /&gt;
that have external attribute blocks, speedups and livelock fixes for&lt;br /&gt;
sync while doing heavy I/O, and large internal cleanups of the inode&lt;br /&gt;
block map handling.  The diffstat for XFS in Linux 3.2 is:&lt;br /&gt;
&lt;br /&gt;
 54 files changed, 2414 insertions(+), 2625 deletions(-)&lt;br /&gt;
&lt;br /&gt;
which is slightly below the average of the last releases.&lt;br /&gt;
&lt;br /&gt;
In the meantime development for 3.3 went ahead full speed, including&lt;br /&gt;
the removal of the deprecated pre-delaylog logging code, various&lt;br /&gt;
quota cleanups, a shrink of the inode, a great simplification of the file&lt;br /&gt;
write path as well as the usual batch of fixes and cleanups.&lt;br /&gt;
&lt;br /&gt;
On the userland side xfs_repair saw various major fixes and speedups,&lt;br /&gt;
with few other fixes thrown in, while xfsdump got two commits fixing&lt;br /&gt;
longer standing issues recently reported on the mailing list.  For&lt;br /&gt;
xfstests January was an extremely slow month, seeing only two new test cases&lt;br /&gt;
and less than a handful of other updates.&lt;/div&gt;</summary>
		<author><name>Hch</name></author>
	</entry>
	<entry>
		<id>https://xfs.org/index.php?title=XFS_status_update_for_2012&amp;diff=2813</id>
		<title>XFS status update for 2012</title>
		<link rel="alternate" type="text/html" href="https://xfs.org/index.php?title=XFS_status_update_for_2012&amp;diff=2813"/>
		<updated>2012-08-13T09:14:26Z</updated>

		<summary type="html">&lt;p&gt;Hch: /* XFS status update for July 2012 */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== XFS status update for July 2012 ==&lt;br /&gt;
&lt;br /&gt;
July saw the release of Linux 3.5, which included an average sized XFS&lt;br /&gt;
update:&lt;br /&gt;
&lt;br /&gt;
    81 files changed, 2633 insertions(+), 3004 deletions(-)&lt;br /&gt;
&lt;br /&gt;
Noteworthy updates in Linux 3.5 include the removal of the xfsbufd&lt;br /&gt;
background thread which writes metadata buffers, background processing&lt;br /&gt;
of CIL flushes and thus lower average latency for metadata heavy&lt;br /&gt;
workloads, as well a a reduction of lock hold times and frequency during&lt;br /&gt;
reads and writes.  The large XFS update for the Linux 3.6 merge window&lt;br /&gt;
did not get merged yet by the end of July, but will bring better support&lt;br /&gt;
for large directory block sizes, a faster inode allocator and a large&lt;br /&gt;
amount of bug fixes in different areas of the code.  Development on the list&lt;br /&gt;
has been fairly busy on the patchsets to support group and project quotas&lt;br /&gt;
at the same time, as well as improved SEEK_HOLE/SEEK_DATA support but&lt;br /&gt;
otherwise mostly limited to bug fixes and smaller cleanups.&lt;br /&gt;
&lt;br /&gt;
Userpace development has been rather slow with a single fix for xfs_db&lt;br /&gt;
and another single fix in xfstests.&lt;br /&gt;
&lt;br /&gt;
== XFS status update for June 2012 ==&lt;br /&gt;
&lt;br /&gt;
June has been a pretty slow month for XFS in Linus tree, as June saw&lt;br /&gt;
the stabilization of the Linux 3.5 and thus only a handful of important&lt;br /&gt;
XFS fixes.  Development of the tree destined for the next merge window&lt;br /&gt;
has been a bit more busy with the addition of discontinuous buffers that&lt;br /&gt;
replace the dabuf layer which has performance issues and isn&#039;t easy to&lt;br /&gt;
deal with in the upcoming metadata checksumming as well as a few smaller&lt;br /&gt;
cleanups.&lt;br /&gt;
&lt;br /&gt;
The list saw various other patches not applied yet, most notable a&lt;br /&gt;
refactoring and speedup of the inode allocator, and a heavily discussed&lt;br /&gt;
rewrite of the mount option parsing.&lt;br /&gt;
&lt;br /&gt;
On the user space side a small number of fixes to the handling of fragmented&lt;br /&gt;
directories were applied to xfs_repair, and xfstests saw a fix for handling&lt;br /&gt;
different versions of xfsdump.&lt;br /&gt;
&lt;br /&gt;
==  XFS status update for May 2012 ==&lt;br /&gt;
&lt;br /&gt;
May saw the release of Linux 3.4, including a decent sized XFS update.&lt;br /&gt;
Remarkable XFS features in Linux 3.4 include moving over all metadata&lt;br /&gt;
updates to use transactions, the addition of a work queue for the&lt;br /&gt;
low-level allocator code to avoid stack overflows due to extreme stack&lt;br /&gt;
use in the Linux VM/VFS call chain, better xattr operation tracing,&lt;br /&gt;
fixes for a long-standing but hard to hit deadlock when using the XFS&lt;br /&gt;
real time subvolume, and big improvements in disk quota scalability.&lt;br /&gt;
&lt;br /&gt;
The final diffstat for XFS in Linux 3.4 is:&lt;br /&gt;
&lt;br /&gt;
 61 files changed, 1692 insertions(+), 2356 deletions(-)&lt;br /&gt;
&lt;br /&gt;
In the meantime the merge window for Linux 3.5 opened, and another large&lt;br /&gt;
update has been merged into Linus&#039; tree.  Interesting changes in Linux&lt;br /&gt;
3.5-rc1 include improved error handling on buffer write failures,&lt;br /&gt;
a drastic reduction of locking overhead when doing high-IOPS direct I/O,&lt;br /&gt;
removal of the old xfsbufd daemon in favor of writing most run-time&lt;br /&gt;
metadata from the xfsaild daemon, deferral of CIL pushes to decouple&lt;br /&gt;
user space metadata I/O from log writeback, and last but not least the&lt;br /&gt;
addition of the SEEK_DATA/SEEK_HOLE lseek arguments that allow user space&lt;br /&gt;
programs to deal with sparse files efficiently. Traffic on the mailing list has been a bit&lt;br /&gt;
quiet in May, mostly focusing on a wide range of bug fixes, but little new features.&lt;br /&gt;
&lt;br /&gt;
On the user space side xfs_repair saw a few bug fixes posted to the list&lt;br /&gt;
that didn&#039;t make it to the repository yet, while xfstests saw it&#039;s usual&lt;br /&gt;
amount of minor bug fixes.&lt;br /&gt;
&lt;br /&gt;
== XFS status update for April 2012 ==&lt;br /&gt;
&lt;br /&gt;
April was a relatively quite month in XFS development, partially because&lt;br /&gt;
most XFS developers traveled to San Francisco for the Linux Filesystem&lt;br /&gt;
and Storage Summit and the first XFS developers meeting co hosted at the&lt;br /&gt;
Linux Foundation Collaboration Summit.&lt;br /&gt;
&lt;br /&gt;
The XFS development tree only saw a series to reduce ilock hold times and&lt;br /&gt;
a few patches merged.  Traffic on the mailing list list has been a bit more&lt;br /&gt;
busy, with a few patchset being reposted again and again after various&lt;br /&gt;
updates.  Features still scheduled for Linux 3.5 include:  removal of&lt;br /&gt;
the xfsbufd daemon, various other cleanups of the buffer layer, moving&lt;br /&gt;
CIL commits into a background thread and thus reducing the impact on&lt;br /&gt;
threads causing the commits, as well as a bigger than usual set of&lt;br /&gt;
cleanups and fixes.&lt;br /&gt;
&lt;br /&gt;
The user space side as been extremely slow with no patches applied and&lt;br /&gt;
very few posted to the mailing list.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== XFS status update for March 2012 ==&lt;br /&gt;
&lt;br /&gt;
March saw the release of Linux 3.3, which saw an XFS update slightly smaller&lt;br /&gt;
than usual, and consisting largely of code removal and cleanups, with the&lt;br /&gt;
only user visible change being the removal of the old logging code, and thus&lt;br /&gt;
the &amp;quot;nodelaylog&amp;quot; mount option.  This is reflected in a diffstat with more&lt;br /&gt;
than twice as many deletions as additions:&lt;br /&gt;
&lt;br /&gt;
  45 files changed, 954 insertions(+), 2182 deletions(-)&lt;br /&gt;
&lt;br /&gt;
After that Linux 3.4 merge window opened, and a big XFS updates was merged&lt;br /&gt;
into mainline, again removing a lot more code than adding it.  The&lt;br /&gt;
highlight are quota changes to make in-memory quota caching a lot faster&lt;br /&gt;
and more scalable, as well as changes to log all metadata updates on a&lt;br /&gt;
live XFS filesystem, thus finishing the consolidation of all metadata I/O&lt;br /&gt;
code pathes to just after many years of hard work.&lt;br /&gt;
&lt;br /&gt;
Development for the Linux 3.5 merge window also were in full steam,&lt;br /&gt;
including a series to kill the xfsbufd daemon in favour of on-stack&lt;br /&gt;
delayed buffer writeback lists.&lt;br /&gt;
&lt;br /&gt;
On the user space side we finally saw the long awaited xfsprogs 3.1.8&lt;br /&gt;
and xfsdump 3.1.0 releases.  The new xfsprogs release features a larger&lt;br /&gt;
number of repair fixes and speedups, as well as smaller updates to the&lt;br /&gt;
other tools.  All users are recommended to upgrade to this version.&lt;br /&gt;
Major updates in xfsdump 3.1.0 is support for dumping multiple I/O&lt;br /&gt;
streams in parallel, a new dump format to support all 32 bits of the&lt;br /&gt;
inode generation number, removal of support for the old SGI_XFSDUMP_SKIP_FILE&lt;br /&gt;
extended attribute, as well as various smaller fixes.&lt;br /&gt;
&lt;br /&gt;
Development of xfstests included at its normal pace, with a few new&lt;br /&gt;
test cases for xfsdump, as well as various fixes for existing test cases&lt;br /&gt;
and the addition of a new &amp;quot;dangerous&amp;quot; group to skip tests that potentially&lt;br /&gt;
crash the system if an too old kernel is used.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== XFS status update for February 2012 ==&lt;br /&gt;
&lt;br /&gt;
February has been been busy with development for Linux 3.3, although only&lt;br /&gt;
little new code made it to the development tree yet, mostly a refactor&lt;br /&gt;
of the log grant code.  Patch traffic on the mailing list included a rewrite&lt;br /&gt;
of disk quota caching, yielding dramatic performance improvements for systems&lt;br /&gt;
with lots of quotas, a series to make all inode updates and thus all live&lt;br /&gt;
metadata updates transactional.  Last but not least a version to&lt;br /&gt;
fix a long standing bug in support of the real time subvolume was posted,&lt;br /&gt;
showing that even this long deprecated feature still has a user base.&lt;br /&gt;
&lt;br /&gt;
On the userspace side development has been quite, with just two fixes to&lt;br /&gt;
xfs_io committed to xfsprogs, while waiting for the long overdue 3.1.8&lt;br /&gt;
release.  Xfsdump has been entirely quite this month, again waiting for&lt;br /&gt;
a release, and xfstests saw only two commits either, although there are&lt;br /&gt;
still lots of outstanding patches on the list that haven&#039;t been reviewed&lt;br /&gt;
and/or applied.&lt;br /&gt;
&lt;br /&gt;
== XFS status update for January 2012 ==&lt;br /&gt;
&lt;br /&gt;
January saw the release of Linux 3.2, which as usual included a large&lt;br /&gt;
number of XFS changes, most notably an large speedup for removing files&lt;br /&gt;
that have external attribute blocks, speedups and livelock fixes for&lt;br /&gt;
sync while doing heavy I/O, and large internal cleanups of the inode&lt;br /&gt;
block map handling.  The diffstat for XFS in Linux 3.2 is:&lt;br /&gt;
&lt;br /&gt;
 54 files changed, 2414 insertions(+), 2625 deletions(-)&lt;br /&gt;
&lt;br /&gt;
which is slightly below the average of the last releases.&lt;br /&gt;
&lt;br /&gt;
In the meantime development for 3.3 went ahead full speed, including&lt;br /&gt;
the removal of the deprecated pre-delaylog logging code, various&lt;br /&gt;
quota cleanups, a shrink of the inode, a great simplification of the file&lt;br /&gt;
write path as well as the usual batch of fixes and cleanups.&lt;br /&gt;
&lt;br /&gt;
On the userland side xfs_repair saw various major fixes and speedups,&lt;br /&gt;
with few other fixes thrown in, while xfsdump got two commits fixing&lt;br /&gt;
longer standing issues recently reported on the mailing list.  For&lt;br /&gt;
xfstests January was an extremely slow month, seeing only two new test cases&lt;br /&gt;
and less than a handful of other updates.&lt;/div&gt;</summary>
		<author><name>Hch</name></author>
	</entry>
	<entry>
		<id>https://xfs.org/index.php?title=XFS_status_update_for_2012&amp;diff=2812</id>
		<title>XFS status update for 2012</title>
		<link rel="alternate" type="text/html" href="https://xfs.org/index.php?title=XFS_status_update_for_2012&amp;diff=2812"/>
		<updated>2012-08-13T09:14:11Z</updated>

		<summary type="html">&lt;p&gt;Hch: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== XFS status update for July 2012 ==&lt;br /&gt;
&lt;br /&gt;
July saw the release of Linux 3.5, which included an average sized XFS&lt;br /&gt;
update:&lt;br /&gt;
&lt;br /&gt;
    81 files changed, 2633 insertions(+), 3004 deletions(-)&lt;br /&gt;
&lt;br /&gt;
Noteworthy updates in Linux 3.5 include the removal of the xfsbufd&lt;br /&gt;
background thread which writes metadata buffers, background processing&lt;br /&gt;
of CIL flushes and thus lower average latency for metadata heavy&lt;br /&gt;
workloads, as well a a reduction of lock hold times and frequency during&lt;br /&gt;
reads and writes.  The large XFS update for the Linux 3.6 merge window&lt;br /&gt;
did not get merged yet by the end of July, but will bring better support&lt;br /&gt;
for large directory block sizes, a faster inode allocator and a large&lt;br /&gt;
amount of bug fixes in different areas of the code.  Development on the list&lt;br /&gt;
has been fairly busy on the patchsets to support group and project quotas&lt;br /&gt;
at the same time, as well as improved SEEK_HOLE/SEEK_DATA support but&lt;br /&gt;
otherwise mostly limited to bug fixes and smaller cleanups.&lt;br /&gt;
&lt;br /&gt;
Userpace development has been rather slow with a single fix for xfs_db&lt;br /&gt;
and another single fixe in xfstests.&lt;br /&gt;
&lt;br /&gt;
== XFS status update for June 2012 ==&lt;br /&gt;
&lt;br /&gt;
June has been a pretty slow month for XFS in Linus tree, as June saw&lt;br /&gt;
the stabilization of the Linux 3.5 and thus only a handful of important&lt;br /&gt;
XFS fixes.  Development of the tree destined for the next merge window&lt;br /&gt;
has been a bit more busy with the addition of discontinuous buffers that&lt;br /&gt;
replace the dabuf layer which has performance issues and isn&#039;t easy to&lt;br /&gt;
deal with in the upcoming metadata checksumming as well as a few smaller&lt;br /&gt;
cleanups.&lt;br /&gt;
&lt;br /&gt;
The list saw various other patches not applied yet, most notable a&lt;br /&gt;
refactoring and speedup of the inode allocator, and a heavily discussed&lt;br /&gt;
rewrite of the mount option parsing.&lt;br /&gt;
&lt;br /&gt;
On the user space side a small number of fixes to the handling of fragmented&lt;br /&gt;
directories were applied to xfs_repair, and xfstests saw a fix for handling&lt;br /&gt;
different versions of xfsdump.&lt;br /&gt;
&lt;br /&gt;
==  XFS status update for May 2012 ==&lt;br /&gt;
&lt;br /&gt;
May saw the release of Linux 3.4, including a decent sized XFS update.&lt;br /&gt;
Remarkable XFS features in Linux 3.4 include moving over all metadata&lt;br /&gt;
updates to use transactions, the addition of a work queue for the&lt;br /&gt;
low-level allocator code to avoid stack overflows due to extreme stack&lt;br /&gt;
use in the Linux VM/VFS call chain, better xattr operation tracing,&lt;br /&gt;
fixes for a long-standing but hard to hit deadlock when using the XFS&lt;br /&gt;
real time subvolume, and big improvements in disk quota scalability.&lt;br /&gt;
&lt;br /&gt;
The final diffstat for XFS in Linux 3.4 is:&lt;br /&gt;
&lt;br /&gt;
 61 files changed, 1692 insertions(+), 2356 deletions(-)&lt;br /&gt;
&lt;br /&gt;
In the meantime the merge window for Linux 3.5 opened, and another large&lt;br /&gt;
update has been merged into Linus&#039; tree.  Interesting changes in Linux&lt;br /&gt;
3.5-rc1 include improved error handling on buffer write failures,&lt;br /&gt;
a drastic reduction of locking overhead when doing high-IOPS direct I/O,&lt;br /&gt;
removal of the old xfsbufd daemon in favor of writing most run-time&lt;br /&gt;
metadata from the xfsaild daemon, deferral of CIL pushes to decouple&lt;br /&gt;
user space metadata I/O from log writeback, and last but not least the&lt;br /&gt;
addition of the SEEK_DATA/SEEK_HOLE lseek arguments that allow user space&lt;br /&gt;
programs to deal with sparse files efficiently. Traffic on the mailing list has been a bit&lt;br /&gt;
quiet in May, mostly focusing on a wide range of bug fixes, but little new features.&lt;br /&gt;
&lt;br /&gt;
On the user space side xfs_repair saw a few bug fixes posted to the list&lt;br /&gt;
that didn&#039;t make it to the repository yet, while xfstests saw it&#039;s usual&lt;br /&gt;
amount of minor bug fixes.&lt;br /&gt;
&lt;br /&gt;
== XFS status update for April 2012 ==&lt;br /&gt;
&lt;br /&gt;
April was a relatively quite month in XFS development, partially because&lt;br /&gt;
most XFS developers traveled to San Francisco for the Linux Filesystem&lt;br /&gt;
and Storage Summit and the first XFS developers meeting co hosted at the&lt;br /&gt;
Linux Foundation Collaboration Summit.&lt;br /&gt;
&lt;br /&gt;
The XFS development tree only saw a series to reduce ilock hold times and&lt;br /&gt;
a few patches merged.  Traffic on the mailing list list has been a bit more&lt;br /&gt;
busy, with a few patchset being reposted again and again after various&lt;br /&gt;
updates.  Features still scheduled for Linux 3.5 include:  removal of&lt;br /&gt;
the xfsbufd daemon, various other cleanups of the buffer layer, moving&lt;br /&gt;
CIL commits into a background thread and thus reducing the impact on&lt;br /&gt;
threads causing the commits, as well as a bigger than usual set of&lt;br /&gt;
cleanups and fixes.&lt;br /&gt;
&lt;br /&gt;
The user space side as been extremely slow with no patches applied and&lt;br /&gt;
very few posted to the mailing list.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== XFS status update for March 2012 ==&lt;br /&gt;
&lt;br /&gt;
March saw the release of Linux 3.3, which saw an XFS update slightly smaller&lt;br /&gt;
than usual, and consisting largely of code removal and cleanups, with the&lt;br /&gt;
only user visible change being the removal of the old logging code, and thus&lt;br /&gt;
the &amp;quot;nodelaylog&amp;quot; mount option.  This is reflected in a diffstat with more&lt;br /&gt;
than twice as many deletions as additions:&lt;br /&gt;
&lt;br /&gt;
  45 files changed, 954 insertions(+), 2182 deletions(-)&lt;br /&gt;
&lt;br /&gt;
After that Linux 3.4 merge window opened, and a big XFS updates was merged&lt;br /&gt;
into mainline, again removing a lot more code than adding it.  The&lt;br /&gt;
highlight are quota changes to make in-memory quota caching a lot faster&lt;br /&gt;
and more scalable, as well as changes to log all metadata updates on a&lt;br /&gt;
live XFS filesystem, thus finishing the consolidation of all metadata I/O&lt;br /&gt;
code pathes to just after many years of hard work.&lt;br /&gt;
&lt;br /&gt;
Development for the Linux 3.5 merge window also were in full steam,&lt;br /&gt;
including a series to kill the xfsbufd daemon in favour of on-stack&lt;br /&gt;
delayed buffer writeback lists.&lt;br /&gt;
&lt;br /&gt;
On the user space side we finally saw the long awaited xfsprogs 3.1.8&lt;br /&gt;
and xfsdump 3.1.0 releases.  The new xfsprogs release features a larger&lt;br /&gt;
number of repair fixes and speedups, as well as smaller updates to the&lt;br /&gt;
other tools.  All users are recommended to upgrade to this version.&lt;br /&gt;
Major updates in xfsdump 3.1.0 is support for dumping multiple I/O&lt;br /&gt;
streams in parallel, a new dump format to support all 32 bits of the&lt;br /&gt;
inode generation number, removal of support for the old SGI_XFSDUMP_SKIP_FILE&lt;br /&gt;
extended attribute, as well as various smaller fixes.&lt;br /&gt;
&lt;br /&gt;
Development of xfstests included at its normal pace, with a few new&lt;br /&gt;
test cases for xfsdump, as well as various fixes for existing test cases&lt;br /&gt;
and the addition of a new &amp;quot;dangerous&amp;quot; group to skip tests that potentially&lt;br /&gt;
crash the system if an too old kernel is used.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== XFS status update for February 2012 ==&lt;br /&gt;
&lt;br /&gt;
February has been been busy with development for Linux 3.3, although only&lt;br /&gt;
little new code made it to the development tree yet, mostly a refactor&lt;br /&gt;
of the log grant code.  Patch traffic on the mailing list included a rewrite&lt;br /&gt;
of disk quota caching, yielding dramatic performance improvements for systems&lt;br /&gt;
with lots of quotas, a series to make all inode updates and thus all live&lt;br /&gt;
metadata updates transactional.  Last but not least a version to&lt;br /&gt;
fix a long standing bug in support of the real time subvolume was posted,&lt;br /&gt;
showing that even this long deprecated feature still has a user base.&lt;br /&gt;
&lt;br /&gt;
On the userspace side development has been quite, with just two fixes to&lt;br /&gt;
xfs_io committed to xfsprogs, while waiting for the long overdue 3.1.8&lt;br /&gt;
release.  Xfsdump has been entirely quite this month, again waiting for&lt;br /&gt;
a release, and xfstests saw only two commits either, although there are&lt;br /&gt;
still lots of outstanding patches on the list that haven&#039;t been reviewed&lt;br /&gt;
and/or applied.&lt;br /&gt;
&lt;br /&gt;
== XFS status update for January 2012 ==&lt;br /&gt;
&lt;br /&gt;
January saw the release of Linux 3.2, which as usual included a large&lt;br /&gt;
number of XFS changes, most notably an large speedup for removing files&lt;br /&gt;
that have external attribute blocks, speedups and livelock fixes for&lt;br /&gt;
sync while doing heavy I/O, and large internal cleanups of the inode&lt;br /&gt;
block map handling.  The diffstat for XFS in Linux 3.2 is:&lt;br /&gt;
&lt;br /&gt;
 54 files changed, 2414 insertions(+), 2625 deletions(-)&lt;br /&gt;
&lt;br /&gt;
which is slightly below the average of the last releases.&lt;br /&gt;
&lt;br /&gt;
In the meantime development for 3.3 went ahead full speed, including&lt;br /&gt;
the removal of the deprecated pre-delaylog logging code, various&lt;br /&gt;
quota cleanups, a shrink of the inode, a great simplification of the file&lt;br /&gt;
write path as well as the usual batch of fixes and cleanups.&lt;br /&gt;
&lt;br /&gt;
On the userland side xfs_repair saw various major fixes and speedups,&lt;br /&gt;
with few other fixes thrown in, while xfsdump got two commits fixing&lt;br /&gt;
longer standing issues recently reported on the mailing list.  For&lt;br /&gt;
xfstests January was an extremely slow month, seeing only two new test cases&lt;br /&gt;
and less than a handful of other updates.&lt;/div&gt;</summary>
		<author><name>Hch</name></author>
	</entry>
	<entry>
		<id>https://xfs.org/index.php?title=XFS_status_update_for_2012&amp;diff=2807</id>
		<title>XFS status update for 2012</title>
		<link rel="alternate" type="text/html" href="https://xfs.org/index.php?title=XFS_status_update_for_2012&amp;diff=2807"/>
		<updated>2012-07-24T13:39:59Z</updated>

		<summary type="html">&lt;p&gt;Hch: June update&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== XFS status update for June 2012 ==&lt;br /&gt;
&lt;br /&gt;
June has been a pretty slow month for XFS in Linus tree, as June saw&lt;br /&gt;
the stabilization of the Linux 3.5 and thus only a handful of important&lt;br /&gt;
XFS fixes.  Development of the tree destined for the next merge window&lt;br /&gt;
has been a bit more busy with the addition of discontinuous buffers that&lt;br /&gt;
replace the dabuf layer which has performance issues and isn&#039;t easy to&lt;br /&gt;
deal with in the upcoming metadata checksumming as well as a few smaller&lt;br /&gt;
cleanups.&lt;br /&gt;
&lt;br /&gt;
The list saw various other patches not applied yet, most notable a&lt;br /&gt;
refactoring and speedup of the inode allocator, and a heavily discussed&lt;br /&gt;
rewrite of the mount option parsing.&lt;br /&gt;
&lt;br /&gt;
On the user space side a small number of fixes to the handling of fragmented&lt;br /&gt;
directories were applied to xfs_repair, and xfstests saw a fix for handling&lt;br /&gt;
different versions of xfsdump.&lt;br /&gt;
&lt;br /&gt;
==  XFS status update for May 2012 ==&lt;br /&gt;
&lt;br /&gt;
May saw the release of Linux 3.4, including a decent sized XFS update.&lt;br /&gt;
Remarkable XFS features in Linux 3.4 include moving over all metadata&lt;br /&gt;
updates to use transactions, the addition of a work queue for the&lt;br /&gt;
low-level allocator code to avoid stack overflows due to extreme stack&lt;br /&gt;
use in the Linux VM/VFS call chain, better xattr operation tracing,&lt;br /&gt;
fixes for a long-standing but hard to hit deadlock when using the XFS&lt;br /&gt;
real time subvolume, and big improvements in disk quota scalability.&lt;br /&gt;
&lt;br /&gt;
The final diffstat for XFS in Linux 3.4 is:&lt;br /&gt;
&lt;br /&gt;
 61 files changed, 1692 insertions(+), 2356 deletions(-)&lt;br /&gt;
&lt;br /&gt;
In the meantime the merge window for Linux 3.5 opened, and another large&lt;br /&gt;
update has been merged into Linus&#039; tree.  Interesting changes in Linux&lt;br /&gt;
3.5-rc1 include improved error handling on buffer write failures,&lt;br /&gt;
a drastic reduction of locking overhead when doing high-IOPS direct I/O,&lt;br /&gt;
removal of the old xfsbufd daemon in favor of writing most run-time&lt;br /&gt;
metadata from the xfsaild daemon, deferral of CIL pushes to decouple&lt;br /&gt;
user space metadata I/O from log writeback, and last but not least the&lt;br /&gt;
addition of the SEEK_DATA/SEEK_HOLE lseek arguments that allow user space&lt;br /&gt;
programs to deal with sparse files efficiently. Traffic on the mailing list has been a bit&lt;br /&gt;
quiet in May, mostly focusing on a wide range of bug fixes, but little new features.&lt;br /&gt;
&lt;br /&gt;
On the user space side xfs_repair saw a few bug fixes posted to the list&lt;br /&gt;
that didn&#039;t make it to the repository yet, while xfstests saw it&#039;s usual&lt;br /&gt;
amount of minor bug fixes.&lt;br /&gt;
&lt;br /&gt;
== XFS status update for April 2012 ==&lt;br /&gt;
&lt;br /&gt;
April was a relatively quite month in XFS development, partially because&lt;br /&gt;
most XFS developers traveled to San Francisco for the Linux Filesystem&lt;br /&gt;
and Storage Summit and the first XFS developers meeting co hosted at the&lt;br /&gt;
Linux Foundation Collaboration Summit.&lt;br /&gt;
&lt;br /&gt;
The XFS development tree only saw a series to reduce ilock hold times and&lt;br /&gt;
a few patches merged.  Traffic on the mailing list list has been a bit more&lt;br /&gt;
busy, with a few patchset being reposted again and again after various&lt;br /&gt;
updates.  Features still scheduled for Linux 3.5 include:  removal of&lt;br /&gt;
the xfsbufd daemon, various other cleanups of the buffer layer, moving&lt;br /&gt;
CIL commits into a background thread and thus reducing the impact on&lt;br /&gt;
threads causing the commits, as well as a bigger than usual set of&lt;br /&gt;
cleanups and fixes.&lt;br /&gt;
&lt;br /&gt;
The user space side as been extremely slow with no patches applied and&lt;br /&gt;
very few posted to the mailing list.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== XFS status update for March 2012 ==&lt;br /&gt;
&lt;br /&gt;
March saw the release of Linux 3.3, which saw an XFS update slightly smaller&lt;br /&gt;
than usual, and consisting largely of code removal and cleanups, with the&lt;br /&gt;
only user visible change being the removal of the old logging code, and thus&lt;br /&gt;
the &amp;quot;nodelaylog&amp;quot; mount option.  This is reflected in a diffstat with more&lt;br /&gt;
than twice as many deletions as additions:&lt;br /&gt;
&lt;br /&gt;
  45 files changed, 954 insertions(+), 2182 deletions(-)&lt;br /&gt;
&lt;br /&gt;
After that Linux 3.4 merge window opened, and a big XFS updates was merged&lt;br /&gt;
into mainline, again removing a lot more code than adding it.  The&lt;br /&gt;
highlight are quota changes to make in-memory quota caching a lot faster&lt;br /&gt;
and more scalable, as well as changes to log all metadata updates on a&lt;br /&gt;
live XFS filesystem, thus finishing the consolidation of all metadata I/O&lt;br /&gt;
code pathes to just after many years of hard work.&lt;br /&gt;
&lt;br /&gt;
Development for the Linux 3.5 merge window also were in full steam,&lt;br /&gt;
including a series to kill the xfsbufd daemon in favour of on-stack&lt;br /&gt;
delayed buffer writeback lists.&lt;br /&gt;
&lt;br /&gt;
On the user space side we finally saw the long awaited xfsprogs 3.1.8&lt;br /&gt;
and xfsdump 3.1.0 releases.  The new xfsprogs release features a larger&lt;br /&gt;
number of repair fixes and speedups, as well as smaller updates to the&lt;br /&gt;
other tools.  All users are recommended to upgrade to this version.&lt;br /&gt;
Major updates in xfsdump 3.1.0 is support for dumping multiple I/O&lt;br /&gt;
streams in parallel, a new dump format to support all 32 bits of the&lt;br /&gt;
inode generation number, removal of support for the old SGI_XFSDUMP_SKIP_FILE&lt;br /&gt;
extended attribute, as well as various smaller fixes.&lt;br /&gt;
&lt;br /&gt;
Development of xfstests included at its normal pace, with a few new&lt;br /&gt;
test cases for xfsdump, as well as various fixes for existing test cases&lt;br /&gt;
and the addition of a new &amp;quot;dangerous&amp;quot; group to skip tests that potentially&lt;br /&gt;
crash the system if an too old kernel is used.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== XFS status update for February 2012 ==&lt;br /&gt;
&lt;br /&gt;
February has been been busy with development for Linux 3.3, although only&lt;br /&gt;
little new code made it to the development tree yet, mostly a refactor&lt;br /&gt;
of the log grant code.  Patch traffic on the mailing list included a rewrite&lt;br /&gt;
of disk quota caching, yielding dramatic performance improvements for systems&lt;br /&gt;
with lots of quotas, a series to make all inode updates and thus all live&lt;br /&gt;
metadata updates transactional.  Last but not least a version to&lt;br /&gt;
fix a long standing bug in support of the real time subvolume was posted,&lt;br /&gt;
showing that even this long deprecated feature still has a user base.&lt;br /&gt;
&lt;br /&gt;
On the userspace side development has been quite, with just two fixes to&lt;br /&gt;
xfs_io committed to xfsprogs, while waiting for the long overdue 3.1.8&lt;br /&gt;
release.  Xfsdump has been entirely quite this month, again waiting for&lt;br /&gt;
a release, and xfstests saw only two commits either, although there are&lt;br /&gt;
still lots of outstanding patches on the list that haven&#039;t been reviewed&lt;br /&gt;
and/or applied.&lt;br /&gt;
&lt;br /&gt;
== XFS status update for January 2012 ==&lt;br /&gt;
&lt;br /&gt;
January saw the release of Linux 3.2, which as usual included a large&lt;br /&gt;
number of XFS changes, most notably an large speedup for removing files&lt;br /&gt;
that have external attribute blocks, speedups and livelock fixes for&lt;br /&gt;
sync while doing heavy I/O, and large internal cleanups of the inode&lt;br /&gt;
block map handling.  The diffstat for XFS in Linux 3.2 is:&lt;br /&gt;
&lt;br /&gt;
 54 files changed, 2414 insertions(+), 2625 deletions(-)&lt;br /&gt;
&lt;br /&gt;
which is slightly below the average of the last releases.&lt;br /&gt;
&lt;br /&gt;
In the meantime development for 3.3 went ahead full speed, including&lt;br /&gt;
the removal of the deprecated pre-delaylog logging code, various&lt;br /&gt;
quota cleanups, a shrink of the inode, a great simplification of the file&lt;br /&gt;
write path as well as the usual batch of fixes and cleanups.&lt;br /&gt;
&lt;br /&gt;
On the userland side xfs_repair saw various major fixes and speedups,&lt;br /&gt;
with few other fixes thrown in, while xfsdump got two commits fixing&lt;br /&gt;
longer standing issues recently reported on the mailing list.  For&lt;br /&gt;
xfstests January was an extremely slow month, seeing only two new test cases&lt;br /&gt;
and less than a handful of other updates.&lt;/div&gt;</summary>
		<author><name>Hch</name></author>
	</entry>
	<entry>
		<id>https://xfs.org/index.php?title=XFS_status_update_for_2012&amp;diff=2634</id>
		<title>XFS status update for 2012</title>
		<link rel="alternate" type="text/html" href="https://xfs.org/index.php?title=XFS_status_update_for_2012&amp;diff=2634"/>
		<updated>2012-06-18T12:06:13Z</updated>

		<summary type="html">&lt;p&gt;Hch: /* XFS status update for May 2012 */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==  XFS status update for May 2012 ==&lt;br /&gt;
&lt;br /&gt;
May saw the release of Linux 3.4, including a decent sized XFS update.&lt;br /&gt;
Remarkable XFS features in Linux 3.4 include moving over all metadata&lt;br /&gt;
updates to use transactions, the addition of a work queue for the&lt;br /&gt;
low-level allocator code to avoid stack overflows due to extreme stack&lt;br /&gt;
use in the Linux VM/VFS call chain, better xattr operation tracing,&lt;br /&gt;
fixes for a long-standing but hard to hit deadlock when using the XFS&lt;br /&gt;
real time subvolume, and big improvements in disk quota scalability.&lt;br /&gt;
&lt;br /&gt;
The final diffstat for XFS in Linux 3.4 is:&lt;br /&gt;
&lt;br /&gt;
 61 files changed, 1692 insertions(+), 2356 deletions(-)&lt;br /&gt;
&lt;br /&gt;
In the meantime the merge window for Linux 3.5 opened, and another large&lt;br /&gt;
update has been merged into Linus&#039; tree.  Interesting changes in Linux&lt;br /&gt;
3.5-rc1 include improved error handling on buffer write failures,&lt;br /&gt;
a drastic reduction of locking overhead when doing high-IOPS direct I/O,&lt;br /&gt;
removal of the old xfsbufd daemon in favor of writing most run-time&lt;br /&gt;
metadata from the xfsaild daemon, deferral of CIL pushes to decouple&lt;br /&gt;
user space metadata I/O from log writeback, and last but not least the&lt;br /&gt;
addition of the SEEK_DATA/SEEK_HOLE lseek arguments that allow user space&lt;br /&gt;
programs to deal with sparse files efficiently. Traffic on the mailing list has been a bit&lt;br /&gt;
quiet in May, mostly focusing on a wide range of bug fixes, but little new features.&lt;br /&gt;
&lt;br /&gt;
On the user space side xfs_repair saw a few bug fixes posted to the list&lt;br /&gt;
that didn&#039;t make it to the repository yet, while xfstests saw it&#039;s usual&lt;br /&gt;
amount of minor bug fixes.&lt;br /&gt;
&lt;br /&gt;
== XFS status update for April 2012 ==&lt;br /&gt;
&lt;br /&gt;
April was a relatively quite month in XFS development, partially because&lt;br /&gt;
most XFS developers traveled to San Francisco for the Linux Filesystem&lt;br /&gt;
and Storage Summit and the first XFS developers meeting co hosted at the&lt;br /&gt;
Linux Foundation Collaboration Summit.&lt;br /&gt;
&lt;br /&gt;
The XFS development tree only saw a series to reduce ilock hold times and&lt;br /&gt;
a few patches merged.  Traffic on the mailing list list has been a bit more&lt;br /&gt;
busy, with a few patchset being reposted again and again after various&lt;br /&gt;
updates.  Features still scheduled for Linux 3.5 include:  removal of&lt;br /&gt;
the xfsbufd daemon, various other cleanups of the buffer layer, moving&lt;br /&gt;
CIL commits into a background thread and thus reducing the impact on&lt;br /&gt;
threads causing the commits, as well as a bigger than usual set of&lt;br /&gt;
cleanups and fixes.&lt;br /&gt;
&lt;br /&gt;
The user space side as been extremely slow with no patches applied and&lt;br /&gt;
very few posted to the mailing list.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== XFS status update for March 2012 ==&lt;br /&gt;
&lt;br /&gt;
March saw the release of Linux 3.3, which saw an XFS update slightly smaller&lt;br /&gt;
than usual, and consisting largely of code removal and cleanups, with the&lt;br /&gt;
only user visible change being the removal of the old logging code, and thus&lt;br /&gt;
the &amp;quot;nodelaylog&amp;quot; mount option.  This is reflected in a diffstat with more&lt;br /&gt;
than twice as many deletions as additions:&lt;br /&gt;
&lt;br /&gt;
  45 files changed, 954 insertions(+), 2182 deletions(-)&lt;br /&gt;
&lt;br /&gt;
After that Linux 3.4 merge window opened, and a big XFS updates was merged&lt;br /&gt;
into mainline, again removing a lot more code than adding it.  The&lt;br /&gt;
highlight are quota changes to make in-memory quota caching a lot faster&lt;br /&gt;
and more scalable, as well as changes to log all metadata updates on a&lt;br /&gt;
live XFS filesystem, thus finishing the consolidation of all metadata I/O&lt;br /&gt;
code pathes to just after many years of hard work.&lt;br /&gt;
&lt;br /&gt;
Development for the Linux 3.5 merge window also were in full steam,&lt;br /&gt;
including a series to kill the xfsbufd daemon in favour of on-stack&lt;br /&gt;
delayed buffer writeback lists.&lt;br /&gt;
&lt;br /&gt;
On the user space side we finally saw the long awaited xfsprogs 3.1.8&lt;br /&gt;
and xfsdump 3.1.0 releases.  The new xfsprogs release features a larger&lt;br /&gt;
number of repair fixes and speedups, as well as smaller updates to the&lt;br /&gt;
other tools.  All users are recommended to upgrade to this version.&lt;br /&gt;
Major updates in xfsdump 3.1.0 is support for dumping multiple I/O&lt;br /&gt;
streams in parallel, a new dump format to support all 32 bits of the&lt;br /&gt;
inode generation number, removal of support for the old SGI_XFSDUMP_SKIP_FILE&lt;br /&gt;
extended attribute, as well as various smaller fixes.&lt;br /&gt;
&lt;br /&gt;
Development of xfstests included at its normal pace, with a few new&lt;br /&gt;
test cases for xfsdump, as well as various fixes for existing test cases&lt;br /&gt;
and the addition of a new &amp;quot;dangerous&amp;quot; group to skip tests that potentially&lt;br /&gt;
crash the system if an too old kernel is used.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== XFS status update for February 2012 ==&lt;br /&gt;
&lt;br /&gt;
February has been been busy with development for Linux 3.3, although only&lt;br /&gt;
little new code made it to the development tree yet, mostly a refactor&lt;br /&gt;
of the log grant code.  Patch traffic on the mailing list included a rewrite&lt;br /&gt;
of disk quota caching, yielding dramatic performance improvements for systems&lt;br /&gt;
with lots of quotas, a series to make all inode updates and thus all live&lt;br /&gt;
metadata updates transactional.  Last but not least a version to&lt;br /&gt;
fix a long standing bug in support of the real time subvolume was posted,&lt;br /&gt;
showing that even this long deprecated feature still has a user base.&lt;br /&gt;
&lt;br /&gt;
On the userspace side development has been quite, with just two fixes to&lt;br /&gt;
xfs_io committed to xfsprogs, while waiting for the long overdue 3.1.8&lt;br /&gt;
release.  Xfsdump has been entirely quite this month, again waiting for&lt;br /&gt;
a release, and xfstests saw only two commits either, although there are&lt;br /&gt;
still lots of outstanding patches on the list that haven&#039;t been reviewed&lt;br /&gt;
and/or applied.&lt;br /&gt;
&lt;br /&gt;
== XFS status update for January 2012 ==&lt;br /&gt;
&lt;br /&gt;
January saw the release of Linux 3.2, which as usual included a large&lt;br /&gt;
number of XFS changes, most notably an large speedup for removing files&lt;br /&gt;
that have external attribute blocks, speedups and livelock fixes for&lt;br /&gt;
sync while doing heavy I/O, and large internal cleanups of the inode&lt;br /&gt;
block map handling.  The diffstat for XFS in Linux 3.2 is:&lt;br /&gt;
&lt;br /&gt;
 54 files changed, 2414 insertions(+), 2625 deletions(-)&lt;br /&gt;
&lt;br /&gt;
which is slightly below the average of the last releases.&lt;br /&gt;
&lt;br /&gt;
In the meantime development for 3.3 went ahead full speed, including&lt;br /&gt;
the removal of the deprecated pre-delaylog logging code, various&lt;br /&gt;
quota cleanups, a shrink of the inode, a great simplification of the file&lt;br /&gt;
write path as well as the usual batch of fixes and cleanups.&lt;br /&gt;
&lt;br /&gt;
On the userland side xfs_repair saw various major fixes and speedups,&lt;br /&gt;
with few other fixes thrown in, while xfsdump got two commits fixing&lt;br /&gt;
longer standing issues recently reported on the mailing list.  For&lt;br /&gt;
xfstests January was an extremely slow month, seeing only two new test cases&lt;br /&gt;
and less than a handful of other updates.&lt;/div&gt;</summary>
		<author><name>Hch</name></author>
	</entry>
	<entry>
		<id>https://xfs.org/index.php?title=XFS_status_update_for_2012&amp;diff=2633</id>
		<title>XFS status update for 2012</title>
		<link rel="alternate" type="text/html" href="https://xfs.org/index.php?title=XFS_status_update_for_2012&amp;diff=2633"/>
		<updated>2012-06-18T12:05:13Z</updated>

		<summary type="html">&lt;p&gt;Hch: May update&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==  XFS status update for May 2012 ==&lt;br /&gt;
&lt;br /&gt;
May saw the release of Linux 3.4, including a decent sized XFS update.&lt;br /&gt;
Remarkable XFS features in Linux 3.4 include moving over all metadata&lt;br /&gt;
updates to use transactions, the addition of a work queue for the&lt;br /&gt;
low-level allocator code to avoid stack overflows due to extreme stack&lt;br /&gt;
use in the Linux VM/VFS call chain, better xattr operation tracing,&lt;br /&gt;
fixes for a long-standing but hard to hit deadlock when using the XFS&lt;br /&gt;
real time subvolume, and big improvements in disk quota scalability.&lt;br /&gt;
&lt;br /&gt;
The final diffstat for XFS in Linux 3.4 is:&lt;br /&gt;
&lt;br /&gt;
 61 files changed, 1692 insertions(+), 2356 deletions(-)&lt;br /&gt;
&lt;br /&gt;
In the meantime the merge window for Linux 3.5 opened, and another large&lt;br /&gt;
update has been merged into Linus&#039; tree.  Interesting changes in Linux&lt;br /&gt;
3.5-rc1 include improved error handling on buffer write failures,&lt;br /&gt;
a drastic reduction of locking overhead when doing high-IOPS direct I/O,&lt;br /&gt;
removal of the old xfsbufd daemon in favor of writing most run-time&lt;br /&gt;
metadata from the xfsaild daemon, deferral of CIL pushes to decouple&lt;br /&gt;
user space metadata I/O from log writeback, and last but not least the&lt;br /&gt;
addition of the SEEK_DATA/SEEK_HOLE lseek arguments that allow user space&lt;br /&gt;
programs to deal with sparse files efficiently.&lt;br /&gt;
&lt;br /&gt;
Traffic on the mailing list has been a bit quite in May, mostly focusing&lt;br /&gt;
on a wide range of bug fixes, but little new features.&lt;br /&gt;
On the user space side xfs_repair saw a few bug fixes posted to the list&lt;br /&gt;
that didn&#039;t make it to the repository yet, while xfstests saw it&#039;s usual&lt;br /&gt;
amount of minor bug fixes.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== XFS status update for April 2012 ==&lt;br /&gt;
&lt;br /&gt;
April was a relatively quite month in XFS development, partially because&lt;br /&gt;
most XFS developers traveled to San Francisco for the Linux Filesystem&lt;br /&gt;
and Storage Summit and the first XFS developers meeting co hosted at the&lt;br /&gt;
Linux Foundation Collaboration Summit.&lt;br /&gt;
&lt;br /&gt;
The XFS development tree only saw a series to reduce ilock hold times and&lt;br /&gt;
a few patches merged.  Traffic on the mailing list list has been a bit more&lt;br /&gt;
busy, with a few patchset being reposted again and again after various&lt;br /&gt;
updates.  Features still scheduled for Linux 3.5 include:  removal of&lt;br /&gt;
the xfsbufd daemon, various other cleanups of the buffer layer, moving&lt;br /&gt;
CIL commits into a background thread and thus reducing the impact on&lt;br /&gt;
threads causing the commits, as well as a bigger than usual set of&lt;br /&gt;
cleanups and fixes.&lt;br /&gt;
&lt;br /&gt;
The user space side as been extremely slow with no patches applied and&lt;br /&gt;
very few posted to the mailing list.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== XFS status update for March 2012 ==&lt;br /&gt;
&lt;br /&gt;
March saw the release of Linux 3.3, which saw an XFS update slightly smaller&lt;br /&gt;
than usual, and consisting largely of code removal and cleanups, with the&lt;br /&gt;
only user visible change being the removal of the old logging code, and thus&lt;br /&gt;
the &amp;quot;nodelaylog&amp;quot; mount option.  This is reflected in a diffstat with more&lt;br /&gt;
than twice as many deletions as additions:&lt;br /&gt;
&lt;br /&gt;
  45 files changed, 954 insertions(+), 2182 deletions(-)&lt;br /&gt;
&lt;br /&gt;
After that Linux 3.4 merge window opened, and a big XFS updates was merged&lt;br /&gt;
into mainline, again removing a lot more code than adding it.  The&lt;br /&gt;
highlight are quota changes to make in-memory quota caching a lot faster&lt;br /&gt;
and more scalable, as well as changes to log all metadata updates on a&lt;br /&gt;
live XFS filesystem, thus finishing the consolidation of all metadata I/O&lt;br /&gt;
code pathes to just after many years of hard work.&lt;br /&gt;
&lt;br /&gt;
Development for the Linux 3.5 merge window also were in full steam,&lt;br /&gt;
including a series to kill the xfsbufd daemon in favour of on-stack&lt;br /&gt;
delayed buffer writeback lists.&lt;br /&gt;
&lt;br /&gt;
On the user space side we finally saw the long awaited xfsprogs 3.1.8&lt;br /&gt;
and xfsdump 3.1.0 releases.  The new xfsprogs release features a larger&lt;br /&gt;
number of repair fixes and speedups, as well as smaller updates to the&lt;br /&gt;
other tools.  All users are recommended to upgrade to this version.&lt;br /&gt;
Major updates in xfsdump 3.1.0 is support for dumping multiple I/O&lt;br /&gt;
streams in parallel, a new dump format to support all 32 bits of the&lt;br /&gt;
inode generation number, removal of support for the old SGI_XFSDUMP_SKIP_FILE&lt;br /&gt;
extended attribute, as well as various smaller fixes.&lt;br /&gt;
&lt;br /&gt;
Development of xfstests included at its normal pace, with a few new&lt;br /&gt;
test cases for xfsdump, as well as various fixes for existing test cases&lt;br /&gt;
and the addition of a new &amp;quot;dangerous&amp;quot; group to skip tests that potentially&lt;br /&gt;
crash the system if an too old kernel is used.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== XFS status update for February 2012 ==&lt;br /&gt;
&lt;br /&gt;
February has been been busy with development for Linux 3.3, although only&lt;br /&gt;
little new code made it to the development tree yet, mostly a refactor&lt;br /&gt;
of the log grant code.  Patch traffic on the mailing list included a rewrite&lt;br /&gt;
of disk quota caching, yielding dramatic performance improvements for systems&lt;br /&gt;
with lots of quotas, a series to make all inode updates and thus all live&lt;br /&gt;
metadata updates transactional.  Last but not least a version to&lt;br /&gt;
fix a long standing bug in support of the real time subvolume was posted,&lt;br /&gt;
showing that even this long deprecated feature still has a user base.&lt;br /&gt;
&lt;br /&gt;
On the userspace side development has been quite, with just two fixes to&lt;br /&gt;
xfs_io committed to xfsprogs, while waiting for the long overdue 3.1.8&lt;br /&gt;
release.  Xfsdump has been entirely quite this month, again waiting for&lt;br /&gt;
a release, and xfstests saw only two commits either, although there are&lt;br /&gt;
still lots of outstanding patches on the list that haven&#039;t been reviewed&lt;br /&gt;
and/or applied.&lt;br /&gt;
&lt;br /&gt;
== XFS status update for January 2012 ==&lt;br /&gt;
&lt;br /&gt;
January saw the release of Linux 3.2, which as usual included a large&lt;br /&gt;
number of XFS changes, most notably an large speedup for removing files&lt;br /&gt;
that have external attribute blocks, speedups and livelock fixes for&lt;br /&gt;
sync while doing heavy I/O, and large internal cleanups of the inode&lt;br /&gt;
block map handling.  The diffstat for XFS in Linux 3.2 is:&lt;br /&gt;
&lt;br /&gt;
 54 files changed, 2414 insertions(+), 2625 deletions(-)&lt;br /&gt;
&lt;br /&gt;
which is slightly below the average of the last releases.&lt;br /&gt;
&lt;br /&gt;
In the meantime development for 3.3 went ahead full speed, including&lt;br /&gt;
the removal of the deprecated pre-delaylog logging code, various&lt;br /&gt;
quota cleanups, a shrink of the inode, a great simplification of the file&lt;br /&gt;
write path as well as the usual batch of fixes and cleanups.&lt;br /&gt;
&lt;br /&gt;
On the userland side xfs_repair saw various major fixes and speedups,&lt;br /&gt;
with few other fixes thrown in, while xfsdump got two commits fixing&lt;br /&gt;
longer standing issues recently reported on the mailing list.  For&lt;br /&gt;
xfstests January was an extremely slow month, seeing only two new test cases&lt;br /&gt;
and less than a handful of other updates.&lt;/div&gt;</summary>
		<author><name>Hch</name></author>
	</entry>
	<entry>
		<id>https://xfs.org/index.php?title=XFS_status_update_for_2012&amp;diff=2500</id>
		<title>XFS status update for 2012</title>
		<link rel="alternate" type="text/html" href="https://xfs.org/index.php?title=XFS_status_update_for_2012&amp;diff=2500"/>
		<updated>2012-05-08T15:34:00Z</updated>

		<summary type="html">&lt;p&gt;Hch: march and april updates&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== XFS status update for April 2012 ==&lt;br /&gt;
&lt;br /&gt;
April was a relatively quite month in XFS development, partially because&lt;br /&gt;
most XFS developers traveled to San Francisco for the Linux Filesystem&lt;br /&gt;
and Storage Summit and the first XFS developers meeting co hosted at the&lt;br /&gt;
Linux Foundation Collaboration Summit.&lt;br /&gt;
&lt;br /&gt;
The XFS development tree only saw a series to reduce ilock hold times and&lt;br /&gt;
a few patches merged.  Traffic on the mailing list list has been a bit more&lt;br /&gt;
busy, with a few patchset being reposted again and again after various&lt;br /&gt;
updates.  Features still scheduled for Linux 3.5 include:  removal of&lt;br /&gt;
the xfsbufd daemon, various other cleanups of the buffer layer, moving&lt;br /&gt;
CIL commits into a background thread and thus reducing the impact on&lt;br /&gt;
threads causing the commits, as well as a bigger than usual set of&lt;br /&gt;
cleanups and fixes.&lt;br /&gt;
&lt;br /&gt;
The user space side as been extremely slow with no patches applied and&lt;br /&gt;
very few posted to the mailing list.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== XFS status update for March 2012 ==&lt;br /&gt;
&lt;br /&gt;
March saw the release of Linux 3.3, which saw an XFS update slightly smaller&lt;br /&gt;
than usual, and consisting largely of code removal and cleanups, with the&lt;br /&gt;
only user visible change being the removal of the old logging code, and thus&lt;br /&gt;
the &amp;quot;nodelaylog&amp;quot; mount option.  This is reflected in a diffstat with more&lt;br /&gt;
than twice as many deletions as additions:&lt;br /&gt;
&lt;br /&gt;
  45 files changed, 954 insertions(+), 2182 deletions(-)&lt;br /&gt;
&lt;br /&gt;
After that Linux 3.4 merge window opened, and a big XFS updates was merged&lt;br /&gt;
into mainline, again removing a lot more code than adding it.  The&lt;br /&gt;
highlight are quota changes to make in-memory quota caching a lot faster&lt;br /&gt;
and more scalable, as well as changes to log all metadata updates on a&lt;br /&gt;
live XFS filesystem, thus finishing the consolidation of all metadata I/O&lt;br /&gt;
code pathes to just after many years of hard work.&lt;br /&gt;
&lt;br /&gt;
Development for the Linux 3.5 merge window also were in full steam,&lt;br /&gt;
including a series to kill the xfsbufd daemon in favour of on-stack&lt;br /&gt;
delayed buffer writeback lists.&lt;br /&gt;
&lt;br /&gt;
On the user space side we finally saw the long awaited xfsprogs 3.1.8&lt;br /&gt;
and xfsdump 3.1.0 releases.  The new xfsprogs release features a larger&lt;br /&gt;
number of repair fixes and speedups, as well as smaller updates to the&lt;br /&gt;
other tools.  All users are recommended to upgrade to this version.&lt;br /&gt;
Major updates in xfsdump 3.1.0 is support for dumping multiple I/O&lt;br /&gt;
streams in parallel, a new dump format to support all 32 bits of the&lt;br /&gt;
inode generation number, removal of support for the old SGI_XFSDUMP_SKIP_FILE&lt;br /&gt;
extended attribute, as well as various smaller fixes.&lt;br /&gt;
&lt;br /&gt;
Development of xfstests included at its normal pace, with a few new&lt;br /&gt;
test cases for xfsdump, as well as various fixes for existing test cases&lt;br /&gt;
and the addition of a new &amp;quot;dangerous&amp;quot; group to skip tests that potentially&lt;br /&gt;
crash the system if an too old kernel is used.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== XFS status update for February 2012 ==&lt;br /&gt;
&lt;br /&gt;
February has been been busy with development for Linux 3.3, although only&lt;br /&gt;
little new code made it to the development tree yet, mostly a refactor&lt;br /&gt;
of the log grant code.  Patch traffic on the mailing list included a rewrite&lt;br /&gt;
of disk quota caching, yielding dramatic performance improvements for systems&lt;br /&gt;
with lots of quotas, a series to make all inode updates and thus all live&lt;br /&gt;
metadata updates transactional.  Last but not least a version to&lt;br /&gt;
fix a long standing bug in support of the real time subvolume was posted,&lt;br /&gt;
showing that even this long deprecated feature still has a user base.&lt;br /&gt;
&lt;br /&gt;
On the userspace side development has been quite, with just two fixes to&lt;br /&gt;
xfs_io committed to xfsprogs, while waiting for the long overdue 3.1.8&lt;br /&gt;
release.  Xfsdump has been entirely quite this month, again waiting for&lt;br /&gt;
a release, and xfstests saw only two commits either, although there are&lt;br /&gt;
still lots of outstanding patches on the list that haven&#039;t been reviewed&lt;br /&gt;
and/or applied.&lt;br /&gt;
&lt;br /&gt;
== XFS status update for January 2012 ==&lt;br /&gt;
&lt;br /&gt;
January saw the release of Linux 3.2, which as usual included a large&lt;br /&gt;
number of XFS changes, most notably an large speedup for removing files&lt;br /&gt;
that have external attribute blocks, speedups and livelock fixes for&lt;br /&gt;
sync while doing heavy I/O, and large internal cleanups of the inode&lt;br /&gt;
block map handling.  The diffstat for XFS in Linux 3.2 is:&lt;br /&gt;
&lt;br /&gt;
 54 files changed, 2414 insertions(+), 2625 deletions(-)&lt;br /&gt;
&lt;br /&gt;
which is slightly below the average of the last releases.&lt;br /&gt;
&lt;br /&gt;
In the meantime development for 3.3 went ahead full speed, including&lt;br /&gt;
the removal of the deprecated pre-delaylog logging code, various&lt;br /&gt;
quota cleanups, a shrink of the inode, a great simplification of the file&lt;br /&gt;
write path as well as the usual batch of fixes and cleanups.&lt;br /&gt;
&lt;br /&gt;
On the userland side xfs_repair saw various major fixes and speedups,&lt;br /&gt;
with few other fixes thrown in, while xfsdump got two commits fixing&lt;br /&gt;
longer standing issues recently reported on the mailing list.  For&lt;br /&gt;
xfstests January was an extremely slow month, seeing only two new test cases&lt;br /&gt;
and less than a handful of other updates.&lt;/div&gt;</summary>
		<author><name>Hch</name></author>
	</entry>
	<entry>
		<id>https://xfs.org/index.php?title=XFS_Status_Updates&amp;diff=2435</id>
		<title>XFS Status Updates</title>
		<link rel="alternate" type="text/html" href="https://xfs.org/index.php?title=XFS_Status_Updates&amp;diff=2435"/>
		<updated>2012-03-18T08:25:43Z</updated>

		<summary type="html">&lt;p&gt;Hch: February update&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== XFS status update for February 2012 ==&lt;br /&gt;
&lt;br /&gt;
February has been been busy with development for Linux 3.3, although only&lt;br /&gt;
little new code made it to the development tree yet, mostly a refactor&lt;br /&gt;
of the log grant code.  Patch traffic on the mailing list included a rewrite&lt;br /&gt;
of disk quota caching, yielding dramatic performance improvements for systems&lt;br /&gt;
with lots of quotas, a series to make all inode updates and thus all live&lt;br /&gt;
metadata updates transactional.  Last but not least a version versions to&lt;br /&gt;
fix a long standing bug in support of the real time subvolume was posted,&lt;br /&gt;
showing that even this long deprecated feature still has a user base.&lt;br /&gt;
&lt;br /&gt;
On the userspace side development has been quite, with just two fixes to&lt;br /&gt;
xfs_io committed to xfsprogs, while waiting for the long overdue 3.1.8&lt;br /&gt;
release.  Xfsdump has been entirely quite this month, again waiting for&lt;br /&gt;
a release, and xfstests saw only two commits either, although there are&lt;br /&gt;
still lots of outstanding patches on the list that haven&#039;t been reviewed&lt;br /&gt;
and/or applied.&lt;br /&gt;
&lt;br /&gt;
== XFS status update for January 2012 ==&lt;br /&gt;
&lt;br /&gt;
January saw the release of Linux 3.2, which as usual included a large&lt;br /&gt;
number of XFS changes, most notably an large speedup for removing files&lt;br /&gt;
that have external attribute blocks, speedups and livelock fixes for&lt;br /&gt;
sync while doing heavy I/O, and large internal cleanups of the inode&lt;br /&gt;
block map handling.  The diffstat for XFS in Linux 3.2 is:&lt;br /&gt;
&lt;br /&gt;
 54 files changed, 2414 insertions(+), 2625 deletions(-)&lt;br /&gt;
&lt;br /&gt;
which is slightly below the average of the last releases.&lt;br /&gt;
&lt;br /&gt;
In the meantime development for 3.3 went ahead full speed, including&lt;br /&gt;
the removal of the deprecated pre-delaylog logging code, various&lt;br /&gt;
quota cleanups, a shrink of the inode, a great simplification of the file&lt;br /&gt;
write path as well as the usual batch of fixes and cleanups.&lt;br /&gt;
&lt;br /&gt;
On the userland side xfs_repair saw various major fixes and speedups,&lt;br /&gt;
with few other fixes thrown in, while xfsdump got two commits fixing&lt;br /&gt;
longer standing issues recently reported on the mailing list.  For&lt;br /&gt;
xfstests January was an extremely slow month, seeing only two new test cases&lt;br /&gt;
and less than a handful of other updates.&lt;br /&gt;
&lt;br /&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&#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&#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&#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&#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&#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&#039;t been committed yet were discussed on the mailing list.&lt;br /&gt;
&lt;br /&gt;
== XFS status update for December 2010 ==&lt;br /&gt;
&lt;br /&gt;
The release process of the Linux 2.6.37 kernel with it&#039;s large XFS updates&lt;br /&gt;
was in it&#039;s final days in December, which explains why we only saw a single&lt;br /&gt;
one-liner regression fix for XFS in Linus&#039; tree.  The XFS development tree&lt;br /&gt;
finally saw some updates when the writeback updates and some small cleanups&lt;br /&gt;
to the allocator and log recovery code were merged, but the large metadata&lt;br /&gt;
scalability updates that have been posted to the list multiple times are&lt;br /&gt;
still missing.  In addition to this on-going work the list also saw patches&lt;br /&gt;
that fix smaller issues, which are also still waiting to be merged.&lt;br /&gt;
&lt;br /&gt;
On the userspace side xfsprogs and xfsdump development has been quit, with&lt;br /&gt;
no commits to either repository in December, although a large series of&lt;br /&gt;
updates to the metadump command has been reposted near the end of the month.&lt;br /&gt;
The xfstests repository saw a new regression test for a btrfs problem,&lt;br /&gt;
and various updates to existing tests.&lt;br /&gt;
&lt;br /&gt;
== XFS status update for November 2010 ==&lt;br /&gt;
&lt;br /&gt;
From looking at the kernel git commits November looked like a pretty&lt;br /&gt;
slow month with just two hand full fixes going into the release candidates&lt;br /&gt;
for Linux 2.6.37, and none at all going into the development tree.&lt;br /&gt;
But in this case git statistics didn&#039;t tell the whole story - there&lt;br /&gt;
was a lot of activity on patches for the next merge window on the list.&lt;br /&gt;
The focus in November was still at metadata scalability, with various&lt;br /&gt;
patchsets that improves parallel creates and unlinks again, and also&lt;br /&gt;
improves 8-way dbench throughput by 30%.  In addition to that there&lt;br /&gt;
were patches to improve preallocation for NFS servers, to simplify&lt;br /&gt;
the writeback code, and to remove the XFS-internal percpu counters&lt;br /&gt;
for free space for the generic kernel percpu counters, which just needed&lt;br /&gt;
a small improvement.&lt;br /&gt;
&lt;br /&gt;
On the user space side we saw the release of xfsprogs 3.1.4, which&lt;br /&gt;
contains various accumulated bug fixes and Debian packaging updates.&lt;br /&gt;
The xfsdump tree saw a large update to speed up restore by using&lt;br /&gt;
mmap for an internal database and remove the limitation of ~ 214&lt;br /&gt;
million directory entries per dump file.  The xfstests test suite&lt;br /&gt;
saw three new testcases and various fixes, including support for the&lt;br /&gt;
hfsplus filesystem.&lt;br /&gt;
&lt;br /&gt;
== XFS status update for October 2010 ==&lt;br /&gt;
&lt;br /&gt;
Near the end of the month we finally saw the release of Linux 2.6.36.&lt;br /&gt;
Just a single fix made it into mainline in this month, showing that the&lt;br /&gt;
stabilization period before has worked very well.&lt;br /&gt;
&lt;br /&gt;
Linux 2.6.36 has been another impressive release for XFS, seeing&lt;br /&gt;
various performance improvements in the new delayed logging code,&lt;br /&gt;
for direct I/O and the sync system call, a few bug fixes, and lots&lt;br /&gt;
of cleanups, resulting in a net removal of over 2000 lines of code:&lt;br /&gt;
&lt;br /&gt;
        89 files changed, 1998 insertions(+), 4279 deletions(-)&lt;br /&gt;
&lt;br /&gt;
The merge window for Linux 2.6.37 opened just a few days after the&lt;br /&gt;
release of Linux 2.6.36 and already contains another large XFS update&lt;br /&gt;
at the end of October.  Highlights of the XFS tree merged into 2.6.37-rc1&lt;br /&gt;
are another large set of metadata scalability patches, support for 32-bit&lt;br /&gt;
wide project IDs, and support for the new XFS_IOC_ZERO_RANGE ioctl,&lt;br /&gt;
which allows to punch a whole and convert it to an unwritten extent&lt;br /&gt;
in a single atomic operation.&lt;br /&gt;
&lt;br /&gt;
The metadata scalability changes improve 8-way fs_mark of 50 million files&lt;br /&gt;
by over 15% and removal of those files by over 100%, with further&lt;br /&gt;
improvements expected by the next round of XFS metadata scalability&lt;br /&gt;
and VFS scalability improvements targeted at Linux 2.6.38.&lt;br /&gt;
&lt;br /&gt;
On the user space side October was a rather quit month for xfsprogs, which&lt;br /&gt;
only saw the addition of 32-bit project ID handling, and a fix for&lt;br /&gt;
parsing the mount table in fsr when used together with disk encryption&lt;br /&gt;
tools.  A few patches for xfsdump were posted on the list, but none&lt;br /&gt;
was applied, leaving the majority of the user space activity to&lt;br /&gt;
xfstests, which saw very active development.  Various patches went&lt;br /&gt;
into xfstests to improve portability to filesystems with a limited&lt;br /&gt;
feature set, and to move more filters to generic code.  In addition&lt;br /&gt;
various cleanups to test cases in test programs were applied.&lt;br /&gt;
&lt;br /&gt;
== XFS status update for September 2010 ==&lt;br /&gt;
&lt;br /&gt;
Mainline activity has been rather low in September while with only&lt;br /&gt;
two more fixes going into the 2.6.36 release candidates after the&lt;br /&gt;
large merge activity in August.  Development for the next merge&lt;br /&gt;
window has been more active.  The largest item was the inclusion&lt;br /&gt;
of the metadata scalability patch series, which provides very large&lt;br /&gt;
speedups for parallel metadata operations.  In addition a new&lt;br /&gt;
ioctl to punch holes and convert the whole to an unwritten extent&lt;br /&gt;
was added and a small number of cleanups also made it into the tree.&lt;br /&gt;
&lt;br /&gt;
Patches to add support for 32bit wide project ID identifiers and&lt;br /&gt;
using group and project quotas concurrently were posted to the list&lt;br /&gt;
and discussed but not yet included.&lt;br /&gt;
&lt;br /&gt;
Userspace development has been rather quiet again, with a single fix&lt;br /&gt;
committed to xfsprogs and xfsdump each.  The xfstests test suite grew&lt;br /&gt;
a new test case and received a few additional fixes.  Last but not least&lt;br /&gt;
the [http://xfs.org/docs/xfsdocs-xml-dev/XFS_User_Guide//tmp/en-US/html/index.html XFS Users Guide]&lt;br /&gt;
was updated with various factual corrections and spelling fixes.&lt;br /&gt;
&lt;br /&gt;
== XFS status update for August 2010 ==&lt;br /&gt;
&lt;br /&gt;
At the first of August we finally saw the release of Linux 2.6.35,&lt;br /&gt;
which includes a large XFS update.  The most prominent feature in&lt;br /&gt;
Linux 2.6.35 is the new delayed logging code which provides massive&lt;br /&gt;
speedups for metadata-intensive workloads, but there has been&lt;br /&gt;
a large amount of other fixes and cleanups, leading to the following&lt;br /&gt;
diffstat:&lt;br /&gt;
&lt;br /&gt;
         67 files changed, 4426 insertions(+), 3835 deletions(-)&lt;br /&gt;
&lt;br /&gt;
Given the early release of Linux 2.6.35 the merge window for the&lt;br /&gt;
next release fully fell into the month of August.  The XFS updates&lt;br /&gt;
for Linux 2.6.36 include various additional performance improvements&lt;br /&gt;
in the delayed logging code, for direct I/O writes and for avoiding&lt;br /&gt;
synchronous transactions, as well as various fixed and large amount&lt;br /&gt;
of cleanups, including the removal of the remaining dead DMAPI&lt;br /&gt;
code.&lt;br /&gt;
&lt;br /&gt;
On the userspace side we saw the 3.1.3 release of xfsprogs, which includes&lt;br /&gt;
various smaller fixes, support for the new XFS_IOC_ZERO_RANGE ioctl and&lt;br /&gt;
Debian packaging updates.  The xfstests package saw one new test case&lt;br /&gt;
and a couple of smaller patches, and xfsdump has not seen any updates at&lt;br /&gt;
all.&lt;br /&gt;
&lt;br /&gt;
The XMLified versions of the XFS users guide, training labs and filesystem&lt;br /&gt;
structure documentation are now available as on the fly generated html on&lt;br /&gt;
the xfs.org website and can be found at [[XFS_Papers_and_Documentation|Papers &amp;amp; Documentation]].&lt;br /&gt;
&lt;br /&gt;
== XFS status update for July 2010 ==&lt;br /&gt;
&lt;br /&gt;
July saw three more release candidates for the Linux 2.6.35 kernel, which&lt;br /&gt;
included a relatively large number of XFS updates.  There were two security&lt;br /&gt;
fixes, a small one to prevent swapext to operate on write-only file&lt;br /&gt;
descriptors, and a much larger one to properly validate inode numbers&lt;br /&gt;
coming from NFS clients or userspace applications using the bulkstat or&lt;br /&gt;
the open-by-handle interfaces.  In addition to that another relatively&lt;br /&gt;
large patch fixes the way inodes get reclaimed in the background, and&lt;br /&gt;
avoids inode caches growing out of bounds.&lt;br /&gt;
&lt;br /&gt;
In the meantime the code for the Linux 2.6.36 got the last touches before&lt;br /&gt;
the expected opening of the merge window, by merging a few more last&lt;br /&gt;
minute fixes and cleanups.  The most notable one is a patch series&lt;br /&gt;
that fixes in-memory corruption when concurrently accessing unwritten&lt;br /&gt;
extents using the in-kernel AIO code.&lt;br /&gt;
&lt;br /&gt;
The userspace side was still quite slow, but some a bit more activity&lt;br /&gt;
than June.  In xfsprogs the xfs_db code grew two bug fixes, as did&lt;br /&gt;
the xfs_io script.  The xfstests package saw one new test cases and&lt;br /&gt;
various fixes to existing code.  Last but not least a few patches&lt;br /&gt;
affecting the build system for all userspace tools were committed.&lt;br /&gt;
&lt;br /&gt;
== XFS status update for June 2010 ==&lt;br /&gt;
&lt;br /&gt;
The month of June saw a few important bug fixes for the Linux 2.6.35&lt;br /&gt;
release candidates.  That includes ensuring that files used for the&lt;br /&gt;
swapext ioctl are writable to the user, and doing proper validation&lt;br /&gt;
of inodes coming from untrusted sources, such as NFS exporting and&lt;br /&gt;
the open by handle system calls.  The main work however has been&lt;br /&gt;
focused on development for the Linux 2.6.36 merge window, including&lt;br /&gt;
merging various patches that have been out on the mainline list&lt;br /&gt;
for a long time.  Highlights include further performance improvements&lt;br /&gt;
for sync heavy metadata workloads, stack space reduction in the&lt;br /&gt;
writeback path and improvements of the XFS tracing infrastructure.&lt;br /&gt;
Also after some discussion the remaining hooks for DMAPI are going&lt;br /&gt;
to be dropped in mainline.   As a replacement a tree containing&lt;br /&gt;
full DMAPI support with a slightly cleaner XFS interaction will be&lt;br /&gt;
hosted by SGI.&lt;br /&gt;
&lt;br /&gt;
On the userspace side June was a rather slow month, with no updates&lt;br /&gt;
to xfsprogs and xfsdump at all, and just one new test case and a cleanup&lt;br /&gt;
applied to xfstests.&lt;br /&gt;
&lt;br /&gt;
== XFS status update for May 2010 ==&lt;br /&gt;
&lt;br /&gt;
In May 2010 we saw the long awaited release of Linux 2.6.34, which includes&lt;br /&gt;
a large XFS update.  The most important features appearing in 2.6.34 was the&lt;br /&gt;
new inode and quota flushing code, which leads to much better I/O patterns&lt;br /&gt;
for metadata-intensive workloads.  Additionally support for synchronous NFS&lt;br /&gt;
exports has been improved to give much better performance, and performance&lt;br /&gt;
for the fsync, fdatasync and sync system calls has been improved slightly.&lt;br /&gt;
A bug when resizing extremely busy filesystems has been fixed, which required&lt;br /&gt;
extensive modification to the data structure used for looking up the&lt;br /&gt;
per-allocation group data.  Last but not least there was a steady flow of&lt;br /&gt;
minor bug fixes and cleanups, leading to the following diffstat from&lt;br /&gt;
2.6.33 to 2.6.34:&lt;br /&gt;
&lt;br /&gt;
  86 files changed, 3209 insertions(+), 3178 deletions(-)&lt;br /&gt;
&lt;br /&gt;
Meanwhile active development aimed at 2.6.35 merge progressed.  The&lt;br /&gt;
major feature for this window is the merge of the delayed logging code,&lt;br /&gt;
which adds a new logging mode that dramatically reduces the bandwidth&lt;br /&gt;
required for log I/O.  See the &lt;br /&gt;
[http://git.kernel.org/?p=linux/kernel/git/torvalds/linux-2.6.git;a=blob;f=Documentation/filesystems/xfs-delayed-logging-design.txt;h=96d0df28bed323d5596fc051b0ffb96ed8e3c8df;hb=HEAD documentation] for details.  Testers&lt;br /&gt;
for this new code are welcome.&lt;br /&gt;
&lt;br /&gt;
In userland xfsprogs saw the long awaited 3.1.2 release, which can be&lt;br /&gt;
considered a bug fix release for xfs_repair, xfs_fsr and mkfs.xfs.  After&lt;br /&gt;
the release a few more fixes were merged into the development tree.&lt;br /&gt;
The xfstests package saw various new tests, including many tests to&lt;br /&gt;
exercise the quota code, and a few fixes to existing tests.&lt;br /&gt;
&lt;br /&gt;
== XFS status update for April 2010 ==&lt;br /&gt;
&lt;br /&gt;
In April 2.6.34 still was in the release candidate phase, with&lt;br /&gt;
a hand full of XFS fixes making it into mainline.  Development for&lt;br /&gt;
the 2.6.35 merge window went ahead full steam at the same time.&lt;br /&gt;
&lt;br /&gt;
While a fair amount of patches hit the development tree these were&lt;br /&gt;
largely cleanups, with the real development activity happening on&lt;br /&gt;
the mailing list.  There was another round of patches and following&lt;br /&gt;
discussion on the scalable busy extent tracking and delayed logging&lt;br /&gt;
features mentioned last month.  They are expected to be merged in&lt;br /&gt;
May and queue up for the Linux 2.6.35 window.  Last but not least&lt;br /&gt;
April saw a large number of XFS fixes backported to the 2.6.32 and&lt;br /&gt;
2.6.33 -stable series.&lt;br /&gt;
&lt;br /&gt;
In user land xfsprogs has seen few but important updates, preparing&lt;br /&gt;
for a new release next month.  The xfs_repair tool saw a fix to&lt;br /&gt;
correctly enable the lazy superblock counters on an existing&lt;br /&gt;
filesystem, and xfs_fsr saw updates to better deal with dynamic&lt;br /&gt;
attribute forks.  Last but not a least a port to Debian GNU/kFreeBSD&lt;br /&gt;
got merged. The xfstests test suite saw two new test cases and various&lt;br /&gt;
smaller fixes.&lt;br /&gt;
&lt;br /&gt;
== XFS status update for March 2010 ==&lt;br /&gt;
&lt;br /&gt;
The merge window for Linux 2.6.34 closed in the first week of March,&lt;br /&gt;
with the important XFS features already landing in February.  Not&lt;br /&gt;
surprisingly the XFS merge activity in March has been rather slow,&lt;br /&gt;
with only about a dozen bug fixes patches making it towards Linus&#039;&lt;br /&gt;
tree in that time.&lt;br /&gt;
&lt;br /&gt;
On the other hand active development for the 2.6.35 merge window has&lt;br /&gt;
been very active.  Most importantly there was a lot of work on the&lt;br /&gt;
transaction and log subsystems.  Starting with a large patchset to&lt;br /&gt;
clean up and refactor the transaction subsystem and introducing more&lt;br /&gt;
flexible I/O containers in the low-level logging code work is&lt;br /&gt;
progressing to a new, more efficient logging implementation.  While&lt;br /&gt;
this preparatory work has already been merged in the development tree,&lt;br /&gt;
the actual delayed logging implementation still needs more work after&lt;br /&gt;
the initial public posting.  The delayed logging implementation which&lt;br /&gt;
is very briefly modeled after the journaling mode in the ext3/4&lt;br /&gt;
and reiserfs filesystems allows to accumulated multiple asynchronous&lt;br /&gt;
transactions in memory instead of possibly writing them out&lt;br /&gt;
many times.  Using the new delayed logging mechanism I/O bandwidth&lt;br /&gt;
used for the log decreases by orders of magnitude and performance&lt;br /&gt;
on metadata intensive workloads increases massively.&lt;br /&gt;
&lt;br /&gt;
In addition to that a new version of the discard (aka TRIM) support&lt;br /&gt;
has been posted, this time entirely contained in kernel space&lt;br /&gt;
and without the need of a userspace utility to drive it.  Last but&lt;br /&gt;
not least the usual steady stream of cleanups and bug fixes has not&lt;br /&gt;
ceased this month either.&lt;br /&gt;
&lt;br /&gt;
Besides the usual flow of fixes and new test cases in the xfstests&lt;br /&gt;
test suite development on the userspace side has been rather slow.&lt;br /&gt;
Xfsprogs has only seen a single fix for SMP locking in xfs_repair&lt;br /&gt;
and support for building on Debian GNU/kFreeBSD, and xfsdump&lt;br /&gt;
has seen no commit at all.&lt;br /&gt;
&lt;br /&gt;
== XFS status update for February 2010 ==&lt;br /&gt;
&lt;br /&gt;
February saw the release of the Linux 2.6.33 kernel, which includes&lt;br /&gt;
a large XFS update.  The biggest user-visible change in Linux 2.6.33&lt;br /&gt;
is that XFS now support the generic Linux trace event infrastructure,&lt;br /&gt;
which allows tracing lots of XFS behavior with a normal production&lt;br /&gt;
built kernel.  Except for this Linux 2.6.33 has been mostly a bug-fix&lt;br /&gt;
release, fixing various user reported bugs in previous releases.&lt;br /&gt;
The total diffstat for XFS in Linux 2.6.33 looks like:&lt;br /&gt;
&lt;br /&gt;
  84 files changed, 3023 insertions(+), 3550 deletions(-)&lt;br /&gt;
&lt;br /&gt;
In addition to that the merge window for Linux 2.6.34 opened and the&lt;br /&gt;
first merge of the XFS tree made it into Linus tree.  Unlike Linux&lt;br /&gt;
2.6.33 this merge window includes major feature work.  The most&lt;br /&gt;
important change for users is a new algorithm for inode and quota&lt;br /&gt;
writeback that leads to better I/O locality and improved metadata&lt;br /&gt;
performance.  The second big change is a rewrite of the per-allocation&lt;br /&gt;
group data lookup which fixes a long-standing problem in the code&lt;br /&gt;
to grow a life filesystem and will also ease future filesystem&lt;br /&gt;
shrinking support.  Not merged through the XFS tree, but of great&lt;br /&gt;
importance for embedded users is a new API that allows XFS to properly&lt;br /&gt;
flush cache lines on it&#039;s log and large directory buffers, making&lt;br /&gt;
XFS work properly on architectures with virtually indexed caches,&lt;br /&gt;
such as parisc and various arm and mips variants.  Last but not&lt;br /&gt;
least there is an above average amount of cleanups that went into&lt;br /&gt;
Linus tree in this cycle.&lt;br /&gt;
&lt;br /&gt;
There have been more patches on the mailing list that haven&#039;t made&lt;br /&gt;
it to Linus tree yet, including an optimized implementation of&lt;br /&gt;
fdatasync(2) and massive speedups for metadata workloads on&lt;br /&gt;
NFS exported XFS filesystems.&lt;br /&gt;
&lt;br /&gt;
On the userspace side February has been a relatively quiet month.&lt;br /&gt;
Lead by xfstests only a moderate amount of fixes made it into&lt;br /&gt;
the respective trees.&lt;br /&gt;
&lt;br /&gt;
== XFS status update for January 2010 ==&lt;br /&gt;
&lt;br /&gt;
January saw additional release candidates of the Linux 2.6.33 kernel,&lt;br /&gt;
including a couple of bug fixes for XFS.  In the meantime the XFS tree&lt;br /&gt;
has been growing a large number of patches destined for the Linux 2.6.34&lt;br /&gt;
merge window: a large rework of the handling of per-AG data, support for&lt;br /&gt;
the quota netlink interface, and better power saving behavior of the&lt;br /&gt;
XFS kernel threads, and of course various cleanups.&lt;br /&gt;
&lt;br /&gt;
A large patch series to replace the current asynchronous inode writeback&lt;br /&gt;
with a new scheme that uses the delayed write buffers was posted to&lt;br /&gt;
the list.  The new scheme, which allows archive better I/O locality by&lt;br /&gt;
dispatching meta-data I/O from a single place has been discussed&lt;br /&gt;
extensively and is expected to be merged in February.&lt;br /&gt;
&lt;br /&gt;
On the userspace side January saw the 3.1.0 and 3.1.1 releases of xfsprogs,&lt;br /&gt;
as well as the 3.0.4 release of xfsdump.  The biggest changes in xfsprogs&lt;br /&gt;
3.1.0 were optimizations in xfs_repair that lead to a much lower memory&lt;br /&gt;
usage, and optional use of the blkid library for filesystem detection&lt;br /&gt;
and retrieving storage topology information.  The 3.1.1 release contained&lt;br /&gt;
various important bug fixes for these changes and a various improvements to&lt;br /&gt;
the build system.  The major feature of xfsdump 3.0.4 were fixes for&lt;br /&gt;
time stamp handling on 64-bit systems.&lt;br /&gt;
&lt;br /&gt;
The xfstests package also lots of activity including various new testcases&lt;br /&gt;
and an improved build system.&lt;br /&gt;
&lt;br /&gt;
== XFS status update for December 2009 ==&lt;br /&gt;
&lt;br /&gt;
December finally saw the long awaited release of Linux 2.6.32, which for&lt;br /&gt;
XFS is mostly a bug fix release, with the major changes being various&lt;br /&gt;
improvement to the sync path, including working around the expectation&lt;br /&gt;
from the grub boot loader where metadata is supposed to be after a sync()&lt;br /&gt;
system call.  Together with a refactoring of the inode allocator this&lt;br /&gt;
gives a nice diffstat for this kernel release:&lt;br /&gt;
&lt;br /&gt;
 46 files changed, 767 insertions(+), 1048 deletions(-)&lt;br /&gt;
&lt;br /&gt;
In the meantime development for the 2.6.33 has been going strong.  The&lt;br /&gt;
new event tracing code that allows to observe the inner workings of XFS&lt;br /&gt;
in production systems has finally been merged, with another patch to&lt;br /&gt;
reduce the size of the tracing code by using new upstream kernel features&lt;br /&gt;
posted for review.  Also a large patch series has been posted which&lt;br /&gt;
changes per-AG data to be looked up by a radix tree instead of the&lt;br /&gt;
existing array.  This works around possible deadlocks and user after&lt;br /&gt;
free issues during growfs, and prepares for removing a global (shared)&lt;br /&gt;
lock from the free space allocators.  In addition to that a wide range&lt;br /&gt;
of fixes has been posted and applied.&lt;br /&gt;
&lt;br /&gt;
Work on the userspace packages has been just as busy.  In mkfs.xfs the&lt;br /&gt;
lazy superblock counter feature has now been enabled by default for the&lt;br /&gt;
upcoming xfsprogs 3.1.0 release, which will require kernel 2.6.22 for&lt;br /&gt;
the default mkfs invocation.  Also for mkfs.xfs as patch was posted&lt;br /&gt;
to correct the automatic detection of 4 kilobyte sector drivers which&lt;br /&gt;
are expected to show up in large quantities the real work soon.  The&lt;br /&gt;
norepair mode in xfs_repair has been enhanced with additional freespace&lt;br /&gt;
btree correction checks from xfs_db and is now identical to xfs_check in&lt;br /&gt;
filesystem consistency checking coverage.  A temporary file permission&lt;br /&gt;
problems has been fixed in xfs_fsr, and the libhandle library has been&lt;br /&gt;
fixed to better deal with symbolic links.  In xfs_io a few commands&lt;br /&gt;
that were added years ago have finally been wired up to actually be&lt;br /&gt;
usable.  And last but not least xfsdump saw a fix to the time stamp&lt;br /&gt;
handling in the backup format and some usability and documentation&lt;br /&gt;
improvements to xfsinvutil.&lt;br /&gt;
&lt;br /&gt;
== XFS status update for November 2009 ==&lt;br /&gt;
&lt;br /&gt;
November was a relatively slow month for XFS development.  The XFS tree&lt;br /&gt;
that is destined for the Linux 2.6.33 merge window saw a few fixes and&lt;br /&gt;
cleanups applied to it, and few important fixes still made it into the&lt;br /&gt;
last Linux 2.6.32 release candidates.  A few more patches including a&lt;br /&gt;
final version of the event tracing support for XFS were posted but not&lt;br /&gt;
reviewed yet.&lt;br /&gt;
&lt;br /&gt;
On the userspace side there has been a fair amount of xfsprogs activity.&lt;br /&gt;
The repair speedup patches have finally been merged into the main development&lt;br /&gt;
branch and a couple of other fixes to the various utilities made it in, too.&lt;br /&gt;
The xfstests test suite saw another new regression test suite and a build&lt;br /&gt;
system fix up.&lt;br /&gt;
&lt;br /&gt;
== XFS status update for October 2009 ==&lt;br /&gt;
In October we saw the Linux 2.6.32 merge window with a major XFS update.&lt;br /&gt;
This update includes a refactoring of the inode allocator which also&lt;br /&gt;
allows for speedups for very large filesystems, major sync fixes, updates&lt;br /&gt;
to the fsync and O_SYNC handling which merge the two code paths into a single&lt;br /&gt;
and more efficient one, a workaround for the VFS time stamp behavior,&lt;br /&gt;
and of course various smaller fixes.  A couple of additional fixes have been&lt;br /&gt;
queued up for the next merge window.&lt;br /&gt;
&lt;br /&gt;
On the userspace side there has been a healthy activity on xfsprogs:  mkfs can&lt;br /&gt;
now discard unused sectors on SSDs and thinly provisioned storage devices and&lt;br /&gt;
use the more generic libblkid for topology information and filesystems detection&lt;br /&gt;
instead of the older libdisk, and the build system gained some updates to&lt;br /&gt;
make the source package generation simpler and shared for different package&lt;br /&gt;
types.  A patch has been out to the list but yet committed to add symbol&lt;br /&gt;
versioning to the libhandle library to make future ABI additions easier.&lt;br /&gt;
The xfstests package only saw some minor activity with a new test case&lt;br /&gt;
and small build system fixes.&lt;br /&gt;
&lt;br /&gt;
New minor releases of xfsprogs and xfsdump were tagged but not formally&lt;br /&gt;
released after additional discussion.  Instead a new major xfsprogs release&lt;br /&gt;
is planned for next month.&lt;br /&gt;
&lt;br /&gt;
== XFS status update for September 2009 ==&lt;br /&gt;
&lt;br /&gt;
In September the Linux 2.6.31 kernel was finally released, including another&lt;br /&gt;
last minute XFS fix for the swapext (defragmentation) compat ioctl handler.&lt;br /&gt;
The final patch from 2.6.30 to 2.6.31 shows the following impressive diffstat&lt;br /&gt;
for XFS:&lt;br /&gt;
&lt;br /&gt;
   55 files changed, 1476 insertions(+), 2269 deletions(-)&lt;br /&gt;
&lt;br /&gt;
The 2.6.32 merge window started with a large XFS merge that included changes&lt;br /&gt;
to the inode allocator, and a few smaller fixes.  New versions of the sync&lt;br /&gt;
and time stamp fixes as well as the event tracing support have been posted&lt;br /&gt;
in September but not yet merged into the XFS development tree and/or mainline.&lt;br /&gt;
&lt;br /&gt;
On the userspace side a large patch series to reduce the memory usage in&lt;br /&gt;
xfs_repair to acceptable levels was posted, but not yet merged.  A new xfs_df&lt;br /&gt;
shell script to measure use of the on disk space was posted but not yet&lt;br /&gt;
merged pending some minor review comments and a missing man page.  In addition&lt;br /&gt;
we saw the usual amount of smaller fixes and cleanups.&lt;br /&gt;
&lt;br /&gt;
Also this month Felix Blyakher resigned from his post as XFS maintainer and handed off to Alex Elder.&lt;br /&gt;
&lt;br /&gt;
== XFS status update for August 2009 ==&lt;br /&gt;
&lt;br /&gt;
In August the Linux 2.6.31 kernel has still been in the release candidate&lt;br /&gt;
stage, but a couple of important XFS fixes made it in time for the release,&lt;br /&gt;
including a fix for the inode cache races with NFS workloads that have&lt;br /&gt;
plagued us for a long time.&lt;br /&gt;
&lt;br /&gt;
The list saw various patches destined for the Linux 2.6.32 merge window,&lt;br /&gt;
including a merge of the fsync and O_SYNC handling code to address various&lt;br /&gt;
issues with the latter, a workaround for deficits in the timestamp handling&lt;br /&gt;
interface between the VFS and filesystems, a repost of the sync improvements&lt;br /&gt;
patch series and various smaller patches.&lt;br /&gt;
&lt;br /&gt;
August also saw the minor 3.0.3 release of xfsprogs which collects smaller&lt;br /&gt;
fixes to the various tools and most importantly a fix to allow xfsprogs to&lt;br /&gt;
work again on SPARC and other strict alignment handling which regressed a&lt;br /&gt;
few releases ago.  The xfstests repository saw a few new test cases and a&lt;br /&gt;
various small improvements.&lt;br /&gt;
&lt;br /&gt;
== XFS status update for July 2009 ==&lt;br /&gt;
&lt;br /&gt;
As a traditional summer vacation month July has not seen a lot of XFS&lt;br /&gt;
activity.  The mainline 2.6.31 kernel made it to the 5th release candidate&lt;br /&gt;
but besides a few kernel-wide patches touching XFS the only activity were&lt;br /&gt;
two small patches fixing a bug in FIEMAP and working around writeback&lt;br /&gt;
performance problems in the VM.&lt;br /&gt;
&lt;br /&gt;
A few more patches were posted to the list but haven&#039;t been merged yet.&lt;br /&gt;
Two big patch series deal with theoretically possible deadlocks due to&lt;br /&gt;
locks taken in reclaim contexts, which are now detected by lockdep.&lt;br /&gt;
&lt;br /&gt;
The pace on the userspace side has been slow.  There have been a couple&lt;br /&gt;
of fixes to xfs_repair and xfs_db, and xfstests grew a few more testcases.&lt;br /&gt;
&lt;br /&gt;
== XFS status update for June 2009 ==&lt;br /&gt;
&lt;br /&gt;
On June 9th we finally saw the release of Linux 2.6.30.  For XFS&lt;br /&gt;
this release mostly contains the improved ENOSPC handling, but also&lt;br /&gt;
various smaller bugfixes and lots of cleanups.  The code size of XFS&lt;br /&gt;
decreased again by 500 lines of code in this release.&lt;br /&gt;
&lt;br /&gt;
The Linux 2.6.31 merge opened in the mid of the month and some big XFS&lt;br /&gt;
changes have been pushed: A removal of the quotaops&lt;br /&gt;
infrastructure which simplifies the quota implementation, the switch&lt;br /&gt;
from XFS&#039;s own Posix ACL implementation to the generic one shared&lt;br /&gt;
by various other filesystems which also supports in-memory caching of&lt;br /&gt;
ACLs and another incremental refactoring of the sync code.&lt;br /&gt;
&lt;br /&gt;
A patch to better track dirty inodes and work around issues in the&lt;br /&gt;
way the VFS updates the access time stamp on inodes has been reposted&lt;br /&gt;
and discussed. Another patch to converting the existing XFS tracing&lt;br /&gt;
infrastructure to use the ftrace even tracer has been posted.&lt;br /&gt;
&lt;br /&gt;
On the userspace side there have been a few updates to xfsprogs, including&lt;br /&gt;
some repair fixes and a new fallocate command for xfs_io.  There were&lt;br /&gt;
major updates for xfstests:  The existing aio-dio-regress testsuite has&lt;br /&gt;
been merged into xfstests, and various changes went into the tree to make&lt;br /&gt;
xfstests better suitable for use with other filesystems.&lt;br /&gt;
&lt;br /&gt;
The attr and acl projects which have been traditionally been hosted&lt;br /&gt;
as part of the XFS userspace utilities have now been split into a separate&lt;br /&gt;
project maintained by Andreas Gruenbacher, who has been doing most of&lt;br /&gt;
the work on it, and moved to the Savannah hosting platform.&lt;br /&gt;
&lt;br /&gt;
== XFS status update for May 2009 ==&lt;br /&gt;
&lt;br /&gt;
In May Linux 2.6.30 was getting close to be released, and various&lt;br /&gt;
important XFS fixes made it during the latest release candidates.&lt;br /&gt;
In the meantime some big patch series to rework the sync code and&lt;br /&gt;
the inode allocator have been posted for the next merge window.&lt;br /&gt;
&lt;br /&gt;
On the userspace side xfsprogs and xfsdump 3.0.1 were finally released,&lt;br /&gt;
quickly followed by 3.0.2 releases with updated Debian packaging.&lt;br /&gt;
After that various small patches that were held back made it into xfsprogs.&lt;br /&gt;
A patch to add the xfs_reno tool which allows to move inodes around to&lt;br /&gt;
fit into 32 bit inode number space has been posted which is also one&lt;br /&gt;
central aspect of future online shrinking support.&lt;br /&gt;
&lt;br /&gt;
There has been major activity on xfstests including adding generic&lt;br /&gt;
filesystems support to allow running tests that aren&#039;t XFS-specific on&lt;br /&gt;
any Linux filesystems.&lt;br /&gt;
&lt;br /&gt;
== XFS status update for April 2009 ==&lt;br /&gt;
&lt;br /&gt;
In April development for Linux 2.6.30 was in full motion.  A patchset to correct flushing of delayed allocations with near full filesystems has been committed in early April, as well as various smaller fixes. A patch series to improve the behavior of sys_sync has been posted but is waiting for VFS changes queued for Linux 2.6.31.&lt;br /&gt;
&lt;br /&gt;
On the userspace side xfsprogs and xfsdump 3.0.1 have managed to split their release dates into May again after a lot of last-minute build system updates.&lt;br /&gt;
&lt;br /&gt;
== XFS status update for March 2009 ==&lt;br /&gt;
&lt;br /&gt;
Linux 2.6.29 has been released which includes major XFS updates like the&lt;br /&gt;
new generic btree code, a fully functional 32bit compat ioctl implementation&lt;br /&gt;
and the new combined XFS and Linux inode.  (See previous status reports&lt;br /&gt;
for more details). A patch series to improve correctness and performance&lt;br /&gt;
has been posted but not yet applied.  Various minor fixes and cleanups&lt;br /&gt;
have been sent to Linus for 2.6.30 which looks like it will be a minor&lt;br /&gt;
release for XFS after the big churn in 2.6.29.&lt;br /&gt;
&lt;br /&gt;
On userspace a lot of time has been spent on fixing and improving the&lt;br /&gt;
build system shared by the various XFS utilities as well as various smaller&lt;br /&gt;
improvements leading to the xfsprogs and xfsdump 3.0.1 releases which are&lt;br /&gt;
still outstanding.&lt;br /&gt;
&lt;br /&gt;
== XFS status update for February 2009 ==&lt;br /&gt;
&lt;br /&gt;
In February various smaller fixes have been sent to Linus for 2.6.29,&lt;br /&gt;
including a revert of the faster vmap APIs which don&#039;t seem to be quite&lt;br /&gt;
ready yet on the VM side.  At the same time various patches have been&lt;br /&gt;
queued up for 2.6.30, with another big batch pending.  There also has&lt;br /&gt;
been a repost of the CRC patch series, including support for a new,&lt;br /&gt;
larger inode core.&lt;br /&gt;
&lt;br /&gt;
SGI released various bits of work in progress from former employees&lt;br /&gt;
that will be extremely helpful for the future development of XFS,&lt;br /&gt;
thanks a lot to Mark Goodwin for making this happen.&lt;br /&gt;
&lt;br /&gt;
On the userspace side the long awaited 3.0.0 releases of xfsprogs and&lt;br /&gt;
xfsdump finally happened early in the month, accompanied by a 2.2.9&lt;br /&gt;
release of the dmapi userspace.  There have been some issues with packaging&lt;br /&gt;
so a new minor release might follow soon.&lt;br /&gt;
&lt;br /&gt;
The xfs_irecover tool has been relicensed so that it can be merged into&lt;br /&gt;
the GPLv2 codebase of xfsprogs, but the actual integration work hasn&#039;t&lt;br /&gt;
happened yet.&lt;br /&gt;
&lt;br /&gt;
Important bits of XFS documentation that have been available on the XFS&lt;br /&gt;
website in PDF form have been released in the document source form under&lt;br /&gt;
the Creative Commons license so that they can be updated as a community&lt;br /&gt;
effort, and checked into a public git tree.&lt;br /&gt;
&lt;br /&gt;
== XFS status update for January 2009 ==&lt;br /&gt;
&lt;br /&gt;
January has been an extremely busy month on the userspace front.  Many&lt;br /&gt;
smaller and medium updates went into xfsprogs, xfstests and to a lesser&lt;br /&gt;
extent xfsdump.  xfsprogs and xfsdump are ramping up for getting a 3.0.0&lt;br /&gt;
release out in early February which will include the first major re-sync&lt;br /&gt;
with the kernel code in libxfs, a cleanup of the exported library interfaces&lt;br /&gt;
and the move of two tools (xfs_fsr and xfs_estimate) from the xfsdump&lt;br /&gt;
package to xfsprogs.  After this the xfsprogs package will contain all&lt;br /&gt;
tools that use internal libxfs interfaces which fortunately equates to those&lt;br /&gt;
needed for normal administration.  The xfsdump package now only contains&lt;br /&gt;
the xfsdump/xfsrestore tools needed for backing up and restoring XFS&lt;br /&gt;
filesystems.  In addition it grew a fix to support dump/restore on systems&lt;br /&gt;
with a 64k page size.  A large number of acl/attr package patches was&lt;br /&gt;
posted to the list, but pending a possible split of these packages from the&lt;br /&gt;
XFS project these weren&#039;t processed yet.&lt;br /&gt;
&lt;br /&gt;
On the kernel side the big excitement in January was an in-memory corruption&lt;br /&gt;
introduced in the btree refactoring which hit people running 32bit platforms&lt;br /&gt;
without support for large block devices.  This issue was fixed and pushed&lt;br /&gt;
to the 2.6.29 development tree after a long collaborative debugging effort&lt;br /&gt;
at linux.conf.au.  Besides that about a dozen minor fixes were pushed to&lt;br /&gt;
2.6.29 and the first batch of misc patches for the 2.6.30 release cycle&lt;br /&gt;
was sent out.&lt;br /&gt;
&lt;br /&gt;
At the end of December the SGI group in Melbourne which the previous&lt;br /&gt;
XFS maintainer and some other developers worked for has been closed down&lt;br /&gt;
and they will be missed greatly.  As a result maintainership has been passed&lt;br /&gt;
on in a way that has been slightly controversial in the community, and the&lt;br /&gt;
first patchset of work in progress in Melbourne have been posted to the list&lt;br /&gt;
to be picked up by others.&lt;br /&gt;
&lt;br /&gt;
The xfs.org wiki has gotten a little facelift on it&#039;s front page making it&lt;br /&gt;
a lot easier to read.&lt;br /&gt;
&lt;br /&gt;
== XFS status update for December 2008 ==&lt;br /&gt;
&lt;br /&gt;
On Christmas Eve the 2.6.28 mainline kernel was release, with only minor XFS&lt;br /&gt;
bug fixes over 2.6.27.&lt;br /&gt;
&lt;br /&gt;
On the development side December has been busy but unspectacular month.&lt;br /&gt;
All lot of misc fixes and improvements have been sent out, tested and committed&lt;br /&gt;
especially on the user land side.&lt;br /&gt;
&lt;br /&gt;
== XFS status update for November 2008 ==&lt;br /&gt;
&lt;br /&gt;
The mainline kernel is now at 2.6.28-rc6 and includes a small number of&lt;br /&gt;
XFS fixes.  There have been no updates to the XFS development tree during&lt;br /&gt;
November.  Without new regressions that large number of changes that&lt;br /&gt;
missed 2.6.28 has thus stabilized to be ready for 2.6.29.  In the meantime&lt;br /&gt;
kernel-side development has been slow, with the only major patch set&lt;br /&gt;
being a wide number of fixes to the compatibility for 32 bit ioctls on&lt;br /&gt;
a 64 bit kernel.&lt;br /&gt;
&lt;br /&gt;
In the meantime there has been a large number of commits to the user space&lt;br /&gt;
tree, which mostly consist of smaller fixes.  xfsprogs is getting close&lt;br /&gt;
to have the 3.0.0 release which will be the first full resync with the&lt;br /&gt;
kernel sources since the year 2005.&lt;br /&gt;
&lt;br /&gt;
== XFS status update for October 2008 ==&lt;br /&gt;
&lt;br /&gt;
Linux 2.6.27 released with all the bits covered in last month&#039;s report.  It&lt;br /&gt;
did however miss two important fixes for regressions that a few people hit.&lt;br /&gt;
2.6.27.3 or later are recommended for use with XFS.&lt;br /&gt;
&lt;br /&gt;
In the meantime the generic btree implementation, the sync reorganization&lt;br /&gt;
and after a lot of merge pain the XFS and VFS inode unification hit the&lt;br /&gt;
development tree during the time allocated for the merge window.  No XFS&lt;br /&gt;
updates other than the two regression fixes also in 2.6.27.3 have made it&lt;br /&gt;
into mainline as of 2.6.28-rc3.&lt;br /&gt;
&lt;br /&gt;
The only new feature on the list in October is support for the fiemap&lt;br /&gt;
interface that has been added to the VFS during the 2.6.28 merge window.&lt;br /&gt;
However there was lot of patch traffic consisting of fixes and respun&lt;br /&gt;
versions of previously known patches.  There still is a large backlog of&lt;br /&gt;
patches on the list that is not applied to the development tree yet.&lt;br /&gt;
&lt;br /&gt;
== XFS status update for September 2008 ==&lt;br /&gt;
&lt;br /&gt;
With Linux 2.6.27 still not released but only making slow progress from 2.6.27-rc5 to 2.6.27-rc8 XFS changes in mainline have been minimal in September with only about half a dozen bug fixes patches.&lt;br /&gt;
&lt;br /&gt;
In the meantime the generic btree patch set has been committed to the development tree, but not many other updates yet. On the user space side xfsprogs 2.10.1 has been released on September 5th with a number of important bug fixes. Following the release of xfsprogs 2.10.1 open season for development of the user space code has started. The first full update of the shared kernel / user space code in libxfs since 2005 has been committed. In addition to that the number of headers installed for the regular devel package has been reduced to the required minimum and support for checking the source code for endianess errors using sparse has been added.&lt;br /&gt;
&lt;br /&gt;
The patch sets to unify the XFS and Linux inode structures, and rewrite various bits of the sync code have seen various iterations on the XFS list, but haven&#039;t been committed yet. A first set of patches implementing CRCs for various metadata structures has been posted to the list.&lt;br /&gt;
&lt;br /&gt;
== XFS status update for August 2008 ==&lt;br /&gt;
&lt;br /&gt;
With the 2.6.27-rc5 release the 2.6.27 cycle is nearing it&#039;s end. The major XFS feature in 2.6.27-rc5 is support for case-insensitive file names. At this point it is still limited to 7bit ASCII file names, with updates for utf8 file names expected to follow later. In addition to that 2.6.27-rc5 fixes a long-standing problem with non-EABI arm compiler which pack some XFS data structures wrongly. Besides this 2.6.27-rc5 also contains various cleanups, most notably the removal of the last bhv_vnode_t instances, and most uses of semaphores. As usual the diffstat for XFS from 2.6.26 to 2.6.26-rc5 is negative:&lt;br /&gt;
&lt;br /&gt;
       100 files changed, 3819 insertions(+), 4409 deletions(-)&lt;br /&gt;
&lt;br /&gt;
On the user space front a new minor xfsprogs version is about to be released containing various fixes including the user space part of arm packing fix.&lt;br /&gt;
&lt;br /&gt;
Work in progress on the XFS mailing list are a large patch set to unify the alloc, inobt and bmap btree implementation into a single that supports arbitrarily pluggable key and record formats. These btree changes are the first major preparation for adding CRC checks to all metadata structures in XFS, and an even larger patch set to unify the XFS and Linux inode structures, and perform all inode write back from the btree uses instead of an inode cache in XFS.&lt;br /&gt;
&lt;br /&gt;
== Updates before 2008 ==&lt;br /&gt;
&lt;br /&gt;
News up to 2007 can be found on a separate page: [[OLD_News]]&lt;/div&gt;</summary>
		<author><name>Hch</name></author>
	</entry>
	<entry>
		<id>https://xfs.org/index.php?title=XFS_Status_Updates&amp;diff=2430</id>
		<title>XFS Status Updates</title>
		<link rel="alternate" type="text/html" href="https://xfs.org/index.php?title=XFS_Status_Updates&amp;diff=2430"/>
		<updated>2012-02-25T12:01:34Z</updated>

		<summary type="html">&lt;p&gt;Hch: January update&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== XFS status update for January 2012 ==&lt;br /&gt;
&lt;br /&gt;
January saw the release of Linux 3.2, which as usual included a large&lt;br /&gt;
number of XFS changes, most notably an large speedup for removing files&lt;br /&gt;
that have external attribute blocks, speedups and livelock fixes for&lt;br /&gt;
sync while doing heavy I/O, and large internal cleanups of the inode&lt;br /&gt;
block map handling.  The diffstat for XFS in Linux 3.2 is:&lt;br /&gt;
&lt;br /&gt;
 54 files changed, 2414 insertions(+), 2625 deletions(-)&lt;br /&gt;
&lt;br /&gt;
which is slightly below the average of the last releases.&lt;br /&gt;
&lt;br /&gt;
In the meantime development for 3.3 went ahead full speed, including&lt;br /&gt;
the removal of the deprecated pre-delaylog logging code, various&lt;br /&gt;
quota cleanups, a shrink of the inode, a great simplification of the file&lt;br /&gt;
write path as well as the usual batch of fixes and cleanups.&lt;br /&gt;
&lt;br /&gt;
On the userland side xfs_repair saw various major fixes and speedups,&lt;br /&gt;
with few other fixes thrown in, while xfsdump got two commits fixing&lt;br /&gt;
longer standing issues recently reported on the mailing list.  For&lt;br /&gt;
xfstests January was an extremely slow month, seeing only two new test cases&lt;br /&gt;
and less than a handful of other updates.&lt;br /&gt;
&lt;br /&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&#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&#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&#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&#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&#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&#039;t been committed yet were discussed on the mailing list.&lt;br /&gt;
&lt;br /&gt;
== XFS status update for December 2010 ==&lt;br /&gt;
&lt;br /&gt;
The release process of the Linux 2.6.37 kernel with it&#039;s large XFS updates&lt;br /&gt;
was in it&#039;s final days in December, which explains why we only saw a single&lt;br /&gt;
one-liner regression fix for XFS in Linus&#039; tree.  The XFS development tree&lt;br /&gt;
finally saw some updates when the writeback updates and some small cleanups&lt;br /&gt;
to the allocator and log recovery code were merged, but the large metadata&lt;br /&gt;
scalability updates that have been posted to the list multiple times are&lt;br /&gt;
still missing.  In addition to this on-going work the list also saw patches&lt;br /&gt;
that fix smaller issues, which are also still waiting to be merged.&lt;br /&gt;
&lt;br /&gt;
On the userspace side xfsprogs and xfsdump development has been quit, with&lt;br /&gt;
no commits to either repository in December, although a large series of&lt;br /&gt;
updates to the metadump command has been reposted near the end of the month.&lt;br /&gt;
The xfstests repository saw a new regression test for a btrfs problem,&lt;br /&gt;
and various updates to existing tests.&lt;br /&gt;
&lt;br /&gt;
== XFS status update for November 2010 ==&lt;br /&gt;
&lt;br /&gt;
From looking at the kernel git commits November looked like a pretty&lt;br /&gt;
slow month with just two hand full fixes going into the release candidates&lt;br /&gt;
for Linux 2.6.37, and none at all going into the development tree.&lt;br /&gt;
But in this case git statistics didn&#039;t tell the whole story - there&lt;br /&gt;
was a lot of activity on patches for the next merge window on the list.&lt;br /&gt;
The focus in November was still at metadata scalability, with various&lt;br /&gt;
patchsets that improves parallel creates and unlinks again, and also&lt;br /&gt;
improves 8-way dbench throughput by 30%.  In addition to that there&lt;br /&gt;
were patches to improve preallocation for NFS servers, to simplify&lt;br /&gt;
the writeback code, and to remove the XFS-internal percpu counters&lt;br /&gt;
for free space for the generic kernel percpu counters, which just needed&lt;br /&gt;
a small improvement.&lt;br /&gt;
&lt;br /&gt;
On the user space side we saw the release of xfsprogs 3.1.4, which&lt;br /&gt;
contains various accumulated bug fixes and Debian packaging updates.&lt;br /&gt;
The xfsdump tree saw a large update to speed up restore by using&lt;br /&gt;
mmap for an internal database and remove the limitation of ~ 214&lt;br /&gt;
million directory entries per dump file.  The xfstests test suite&lt;br /&gt;
saw three new testcases and various fixes, including support for the&lt;br /&gt;
hfsplus filesystem.&lt;br /&gt;
&lt;br /&gt;
== XFS status update for October 2010 ==&lt;br /&gt;
&lt;br /&gt;
Near the end of the month we finally saw the release of Linux 2.6.36.&lt;br /&gt;
Just a single fix made it into mainline in this month, showing that the&lt;br /&gt;
stabilization period before has worked very well.&lt;br /&gt;
&lt;br /&gt;
Linux 2.6.36 has been another impressive release for XFS, seeing&lt;br /&gt;
various performance improvements in the new delayed logging code,&lt;br /&gt;
for direct I/O and the sync system call, a few bug fixes, and lots&lt;br /&gt;
of cleanups, resulting in a net removal of over 2000 lines of code:&lt;br /&gt;
&lt;br /&gt;
        89 files changed, 1998 insertions(+), 4279 deletions(-)&lt;br /&gt;
&lt;br /&gt;
The merge window for Linux 2.6.37 opened just a few days after the&lt;br /&gt;
release of Linux 2.6.36 and already contains another large XFS update&lt;br /&gt;
at the end of October.  Highlights of the XFS tree merged into 2.6.37-rc1&lt;br /&gt;
are another large set of metadata scalability patches, support for 32-bit&lt;br /&gt;
wide project IDs, and support for the new XFS_IOC_ZERO_RANGE ioctl,&lt;br /&gt;
which allows to punch a whole and convert it to an unwritten extent&lt;br /&gt;
in a single atomic operation.&lt;br /&gt;
&lt;br /&gt;
The metadata scalability changes improve 8-way fs_mark of 50 million files&lt;br /&gt;
by over 15% and removal of those files by over 100%, with further&lt;br /&gt;
improvements expected by the next round of XFS metadata scalability&lt;br /&gt;
and VFS scalability improvements targeted at Linux 2.6.38.&lt;br /&gt;
&lt;br /&gt;
On the user space side October was a rather quit month for xfsprogs, which&lt;br /&gt;
only saw the addition of 32-bit project ID handling, and a fix for&lt;br /&gt;
parsing the mount table in fsr when used together with disk encryption&lt;br /&gt;
tools.  A few patches for xfsdump were posted on the list, but none&lt;br /&gt;
was applied, leaving the majority of the user space activity to&lt;br /&gt;
xfstests, which saw very active development.  Various patches went&lt;br /&gt;
into xfstests to improve portability to filesystems with a limited&lt;br /&gt;
feature set, and to move more filters to generic code.  In addition&lt;br /&gt;
various cleanups to test cases in test programs were applied.&lt;br /&gt;
&lt;br /&gt;
== XFS status update for September 2010 ==&lt;br /&gt;
&lt;br /&gt;
Mainline activity has been rather low in September while with only&lt;br /&gt;
two more fixes going into the 2.6.36 release candidates after the&lt;br /&gt;
large merge activity in August.  Development for the next merge&lt;br /&gt;
window has been more active.  The largest item was the inclusion&lt;br /&gt;
of the metadata scalability patch series, which provides very large&lt;br /&gt;
speedups for parallel metadata operations.  In addition a new&lt;br /&gt;
ioctl to punch holes and convert the whole to an unwritten extent&lt;br /&gt;
was added and a small number of cleanups also made it into the tree.&lt;br /&gt;
&lt;br /&gt;
Patches to add support for 32bit wide project ID identifiers and&lt;br /&gt;
using group and project quotas concurrently were posted to the list&lt;br /&gt;
and discussed but not yet included.&lt;br /&gt;
&lt;br /&gt;
Userspace development has been rather quiet again, with a single fix&lt;br /&gt;
committed to xfsprogs and xfsdump each.  The xfstests test suite grew&lt;br /&gt;
a new test case and received a few additional fixes.  Last but not least&lt;br /&gt;
the [http://xfs.org/docs/xfsdocs-xml-dev/XFS_User_Guide//tmp/en-US/html/index.html XFS Users Guide]&lt;br /&gt;
was updated with various factual corrections and spelling fixes.&lt;br /&gt;
&lt;br /&gt;
== XFS status update for August 2010 ==&lt;br /&gt;
&lt;br /&gt;
At the first of August we finally saw the release of Linux 2.6.35,&lt;br /&gt;
which includes a large XFS update.  The most prominent feature in&lt;br /&gt;
Linux 2.6.35 is the new delayed logging code which provides massive&lt;br /&gt;
speedups for metadata-intensive workloads, but there has been&lt;br /&gt;
a large amount of other fixes and cleanups, leading to the following&lt;br /&gt;
diffstat:&lt;br /&gt;
&lt;br /&gt;
         67 files changed, 4426 insertions(+), 3835 deletions(-)&lt;br /&gt;
&lt;br /&gt;
Given the early release of Linux 2.6.35 the merge window for the&lt;br /&gt;
next release fully fell into the month of August.  The XFS updates&lt;br /&gt;
for Linux 2.6.36 include various additional performance improvements&lt;br /&gt;
in the delayed logging code, for direct I/O writes and for avoiding&lt;br /&gt;
synchronous transactions, as well as various fixed and large amount&lt;br /&gt;
of cleanups, including the removal of the remaining dead DMAPI&lt;br /&gt;
code.&lt;br /&gt;
&lt;br /&gt;
On the userspace side we saw the 3.1.3 release of xfsprogs, which includes&lt;br /&gt;
various smaller fixes, support for the new XFS_IOC_ZERO_RANGE ioctl and&lt;br /&gt;
Debian packaging updates.  The xfstests package saw one new test case&lt;br /&gt;
and a couple of smaller patches, and xfsdump has not seen any updates at&lt;br /&gt;
all.&lt;br /&gt;
&lt;br /&gt;
The XMLified versions of the XFS users guide, training labs and filesystem&lt;br /&gt;
structure documentation are now available as on the fly generated html on&lt;br /&gt;
the xfs.org website and can be found at [[XFS_Papers_and_Documentation|Papers &amp;amp; Documentation]].&lt;br /&gt;
&lt;br /&gt;
== XFS status update for July 2010 ==&lt;br /&gt;
&lt;br /&gt;
July saw three more release candidates for the Linux 2.6.35 kernel, which&lt;br /&gt;
included a relatively large number of XFS updates.  There were two security&lt;br /&gt;
fixes, a small one to prevent swapext to operate on write-only file&lt;br /&gt;
descriptors, and a much larger one to properly validate inode numbers&lt;br /&gt;
coming from NFS clients or userspace applications using the bulkstat or&lt;br /&gt;
the open-by-handle interfaces.  In addition to that another relatively&lt;br /&gt;
large patch fixes the way inodes get reclaimed in the background, and&lt;br /&gt;
avoids inode caches growing out of bounds.&lt;br /&gt;
&lt;br /&gt;
In the meantime the code for the Linux 2.6.36 got the last touches before&lt;br /&gt;
the expected opening of the merge window, by merging a few more last&lt;br /&gt;
minute fixes and cleanups.  The most notable one is a patch series&lt;br /&gt;
that fixes in-memory corruption when concurrently accessing unwritten&lt;br /&gt;
extents using the in-kernel AIO code.&lt;br /&gt;
&lt;br /&gt;
The userspace side was still quite slow, but some a bit more activity&lt;br /&gt;
than June.  In xfsprogs the xfs_db code grew two bug fixes, as did&lt;br /&gt;
the xfs_io script.  The xfstests package saw one new test cases and&lt;br /&gt;
various fixes to existing code.  Last but not least a few patches&lt;br /&gt;
affecting the build system for all userspace tools were committed.&lt;br /&gt;
&lt;br /&gt;
== XFS status update for June 2010 ==&lt;br /&gt;
&lt;br /&gt;
The month of June saw a few important bug fixes for the Linux 2.6.35&lt;br /&gt;
release candidates.  That includes ensuring that files used for the&lt;br /&gt;
swapext ioctl are writable to the user, and doing proper validation&lt;br /&gt;
of inodes coming from untrusted sources, such as NFS exporting and&lt;br /&gt;
the open by handle system calls.  The main work however has been&lt;br /&gt;
focused on development for the Linux 2.6.36 merge window, including&lt;br /&gt;
merging various patches that have been out on the mainline list&lt;br /&gt;
for a long time.  Highlights include further performance improvements&lt;br /&gt;
for sync heavy metadata workloads, stack space reduction in the&lt;br /&gt;
writeback path and improvements of the XFS tracing infrastructure.&lt;br /&gt;
Also after some discussion the remaining hooks for DMAPI are going&lt;br /&gt;
to be dropped in mainline.   As a replacement a tree containing&lt;br /&gt;
full DMAPI support with a slightly cleaner XFS interaction will be&lt;br /&gt;
hosted by SGI.&lt;br /&gt;
&lt;br /&gt;
On the userspace side June was a rather slow month, with no updates&lt;br /&gt;
to xfsprogs and xfsdump at all, and just one new test case and a cleanup&lt;br /&gt;
applied to xfstests.&lt;br /&gt;
&lt;br /&gt;
== XFS status update for May 2010 ==&lt;br /&gt;
&lt;br /&gt;
In May 2010 we saw the long awaited release of Linux 2.6.34, which includes&lt;br /&gt;
a large XFS update.  The most important features appearing in 2.6.34 was the&lt;br /&gt;
new inode and quota flushing code, which leads to much better I/O patterns&lt;br /&gt;
for metadata-intensive workloads.  Additionally support for synchronous NFS&lt;br /&gt;
exports has been improved to give much better performance, and performance&lt;br /&gt;
for the fsync, fdatasync and sync system calls has been improved slightly.&lt;br /&gt;
A bug when resizing extremely busy filesystems has been fixed, which required&lt;br /&gt;
extensive modification to the data structure used for looking up the&lt;br /&gt;
per-allocation group data.  Last but not least there was a steady flow of&lt;br /&gt;
minor bug fixes and cleanups, leading to the following diffstat from&lt;br /&gt;
2.6.33 to 2.6.34:&lt;br /&gt;
&lt;br /&gt;
  86 files changed, 3209 insertions(+), 3178 deletions(-)&lt;br /&gt;
&lt;br /&gt;
Meanwhile active development aimed at 2.6.35 merge progressed.  The&lt;br /&gt;
major feature for this window is the merge of the delayed logging code,&lt;br /&gt;
which adds a new logging mode that dramatically reduces the bandwidth&lt;br /&gt;
required for log I/O.  See the &lt;br /&gt;
[http://git.kernel.org/?p=linux/kernel/git/torvalds/linux-2.6.git;a=blob;f=Documentation/filesystems/xfs-delayed-logging-design.txt;h=96d0df28bed323d5596fc051b0ffb96ed8e3c8df;hb=HEAD documentation] for details.  Testers&lt;br /&gt;
for this new code are welcome.&lt;br /&gt;
&lt;br /&gt;
In userland xfsprogs saw the long awaited 3.1.2 release, which can be&lt;br /&gt;
considered a bug fix release for xfs_repair, xfs_fsr and mkfs.xfs.  After&lt;br /&gt;
the release a few more fixes were merged into the development tree.&lt;br /&gt;
The xfstests package saw various new tests, including many tests to&lt;br /&gt;
exercise the quota code, and a few fixes to existing tests.&lt;br /&gt;
&lt;br /&gt;
== XFS status update for April 2010 ==&lt;br /&gt;
&lt;br /&gt;
In April 2.6.34 still was in the release candidate phase, with&lt;br /&gt;
a hand full of XFS fixes making it into mainline.  Development for&lt;br /&gt;
the 2.6.35 merge window went ahead full steam at the same time.&lt;br /&gt;
&lt;br /&gt;
While a fair amount of patches hit the development tree these were&lt;br /&gt;
largely cleanups, with the real development activity happening on&lt;br /&gt;
the mailing list.  There was another round of patches and following&lt;br /&gt;
discussion on the scalable busy extent tracking and delayed logging&lt;br /&gt;
features mentioned last month.  They are expected to be merged in&lt;br /&gt;
May and queue up for the Linux 2.6.35 window.  Last but not least&lt;br /&gt;
April saw a large number of XFS fixes backported to the 2.6.32 and&lt;br /&gt;
2.6.33 -stable series.&lt;br /&gt;
&lt;br /&gt;
In user land xfsprogs has seen few but important updates, preparing&lt;br /&gt;
for a new release next month.  The xfs_repair tool saw a fix to&lt;br /&gt;
correctly enable the lazy superblock counters on an existing&lt;br /&gt;
filesystem, and xfs_fsr saw updates to better deal with dynamic&lt;br /&gt;
attribute forks.  Last but not a least a port to Debian GNU/kFreeBSD&lt;br /&gt;
got merged. The xfstests test suite saw two new test cases and various&lt;br /&gt;
smaller fixes.&lt;br /&gt;
&lt;br /&gt;
== XFS status update for March 2010 ==&lt;br /&gt;
&lt;br /&gt;
The merge window for Linux 2.6.34 closed in the first week of March,&lt;br /&gt;
with the important XFS features already landing in February.  Not&lt;br /&gt;
surprisingly the XFS merge activity in March has been rather slow,&lt;br /&gt;
with only about a dozen bug fixes patches making it towards Linus&#039;&lt;br /&gt;
tree in that time.&lt;br /&gt;
&lt;br /&gt;
On the other hand active development for the 2.6.35 merge window has&lt;br /&gt;
been very active.  Most importantly there was a lot of work on the&lt;br /&gt;
transaction and log subsystems.  Starting with a large patchset to&lt;br /&gt;
clean up and refactor the transaction subsystem and introducing more&lt;br /&gt;
flexible I/O containers in the low-level logging code work is&lt;br /&gt;
progressing to a new, more efficient logging implementation.  While&lt;br /&gt;
this preparatory work has already been merged in the development tree,&lt;br /&gt;
the actual delayed logging implementation still needs more work after&lt;br /&gt;
the initial public posting.  The delayed logging implementation which&lt;br /&gt;
is very briefly modeled after the journaling mode in the ext3/4&lt;br /&gt;
and reiserfs filesystems allows to accumulated multiple asynchronous&lt;br /&gt;
transactions in memory instead of possibly writing them out&lt;br /&gt;
many times.  Using the new delayed logging mechanism I/O bandwidth&lt;br /&gt;
used for the log decreases by orders of magnitude and performance&lt;br /&gt;
on metadata intensive workloads increases massively.&lt;br /&gt;
&lt;br /&gt;
In addition to that a new version of the discard (aka TRIM) support&lt;br /&gt;
has been posted, this time entirely contained in kernel space&lt;br /&gt;
and without the need of a userspace utility to drive it.  Last but&lt;br /&gt;
not least the usual steady stream of cleanups and bug fixes has not&lt;br /&gt;
ceased this month either.&lt;br /&gt;
&lt;br /&gt;
Besides the usual flow of fixes and new test cases in the xfstests&lt;br /&gt;
test suite development on the userspace side has been rather slow.&lt;br /&gt;
Xfsprogs has only seen a single fix for SMP locking in xfs_repair&lt;br /&gt;
and support for building on Debian GNU/kFreeBSD, and xfsdump&lt;br /&gt;
has seen no commit at all.&lt;br /&gt;
&lt;br /&gt;
== XFS status update for February 2010 ==&lt;br /&gt;
&lt;br /&gt;
February saw the release of the Linux 2.6.33 kernel, which includes&lt;br /&gt;
a large XFS update.  The biggest user-visible change in Linux 2.6.33&lt;br /&gt;
is that XFS now support the generic Linux trace event infrastructure,&lt;br /&gt;
which allows tracing lots of XFS behavior with a normal production&lt;br /&gt;
built kernel.  Except for this Linux 2.6.33 has been mostly a bug-fix&lt;br /&gt;
release, fixing various user reported bugs in previous releases.&lt;br /&gt;
The total diffstat for XFS in Linux 2.6.33 looks like:&lt;br /&gt;
&lt;br /&gt;
  84 files changed, 3023 insertions(+), 3550 deletions(-)&lt;br /&gt;
&lt;br /&gt;
In addition to that the merge window for Linux 2.6.34 opened and the&lt;br /&gt;
first merge of the XFS tree made it into Linus tree.  Unlike Linux&lt;br /&gt;
2.6.33 this merge window includes major feature work.  The most&lt;br /&gt;
important change for users is a new algorithm for inode and quota&lt;br /&gt;
writeback that leads to better I/O locality and improved metadata&lt;br /&gt;
performance.  The second big change is a rewrite of the per-allocation&lt;br /&gt;
group data lookup which fixes a long-standing problem in the code&lt;br /&gt;
to grow a life filesystem and will also ease future filesystem&lt;br /&gt;
shrinking support.  Not merged through the XFS tree, but of great&lt;br /&gt;
importance for embedded users is a new API that allows XFS to properly&lt;br /&gt;
flush cache lines on it&#039;s log and large directory buffers, making&lt;br /&gt;
XFS work properly on architectures with virtually indexed caches,&lt;br /&gt;
such as parisc and various arm and mips variants.  Last but not&lt;br /&gt;
least there is an above average amount of cleanups that went into&lt;br /&gt;
Linus tree in this cycle.&lt;br /&gt;
&lt;br /&gt;
There have been more patches on the mailing list that haven&#039;t made&lt;br /&gt;
it to Linus tree yet, including an optimized implementation of&lt;br /&gt;
fdatasync(2) and massive speedups for metadata workloads on&lt;br /&gt;
NFS exported XFS filesystems.&lt;br /&gt;
&lt;br /&gt;
On the userspace side February has been a relatively quiet month.&lt;br /&gt;
Lead by xfstests only a moderate amount of fixes made it into&lt;br /&gt;
the respective trees.&lt;br /&gt;
&lt;br /&gt;
== XFS status update for January 2010 ==&lt;br /&gt;
&lt;br /&gt;
January saw additional release candidates of the Linux 2.6.33 kernel,&lt;br /&gt;
including a couple of bug fixes for XFS.  In the meantime the XFS tree&lt;br /&gt;
has been growing a large number of patches destined for the Linux 2.6.34&lt;br /&gt;
merge window: a large rework of the handling of per-AG data, support for&lt;br /&gt;
the quota netlink interface, and better power saving behavior of the&lt;br /&gt;
XFS kernel threads, and of course various cleanups.&lt;br /&gt;
&lt;br /&gt;
A large patch series to replace the current asynchronous inode writeback&lt;br /&gt;
with a new scheme that uses the delayed write buffers was posted to&lt;br /&gt;
the list.  The new scheme, which allows archive better I/O locality by&lt;br /&gt;
dispatching meta-data I/O from a single place has been discussed&lt;br /&gt;
extensively and is expected to be merged in February.&lt;br /&gt;
&lt;br /&gt;
On the userspace side January saw the 3.1.0 and 3.1.1 releases of xfsprogs,&lt;br /&gt;
as well as the 3.0.4 release of xfsdump.  The biggest changes in xfsprogs&lt;br /&gt;
3.1.0 were optimizations in xfs_repair that lead to a much lower memory&lt;br /&gt;
usage, and optional use of the blkid library for filesystem detection&lt;br /&gt;
and retrieving storage topology information.  The 3.1.1 release contained&lt;br /&gt;
various important bug fixes for these changes and a various improvements to&lt;br /&gt;
the build system.  The major feature of xfsdump 3.0.4 were fixes for&lt;br /&gt;
time stamp handling on 64-bit systems.&lt;br /&gt;
&lt;br /&gt;
The xfstests package also lots of activity including various new testcases&lt;br /&gt;
and an improved build system.&lt;br /&gt;
&lt;br /&gt;
== XFS status update for December 2009 ==&lt;br /&gt;
&lt;br /&gt;
December finally saw the long awaited release of Linux 2.6.32, which for&lt;br /&gt;
XFS is mostly a bug fix release, with the major changes being various&lt;br /&gt;
improvement to the sync path, including working around the expectation&lt;br /&gt;
from the grub boot loader where metadata is supposed to be after a sync()&lt;br /&gt;
system call.  Together with a refactoring of the inode allocator this&lt;br /&gt;
gives a nice diffstat for this kernel release:&lt;br /&gt;
&lt;br /&gt;
 46 files changed, 767 insertions(+), 1048 deletions(-)&lt;br /&gt;
&lt;br /&gt;
In the meantime development for the 2.6.33 has been going strong.  The&lt;br /&gt;
new event tracing code that allows to observe the inner workings of XFS&lt;br /&gt;
in production systems has finally been merged, with another patch to&lt;br /&gt;
reduce the size of the tracing code by using new upstream kernel features&lt;br /&gt;
posted for review.  Also a large patch series has been posted which&lt;br /&gt;
changes per-AG data to be looked up by a radix tree instead of the&lt;br /&gt;
existing array.  This works around possible deadlocks and user after&lt;br /&gt;
free issues during growfs, and prepares for removing a global (shared)&lt;br /&gt;
lock from the free space allocators.  In addition to that a wide range&lt;br /&gt;
of fixes has been posted and applied.&lt;br /&gt;
&lt;br /&gt;
Work on the userspace packages has been just as busy.  In mkfs.xfs the&lt;br /&gt;
lazy superblock counter feature has now been enabled by default for the&lt;br /&gt;
upcoming xfsprogs 3.1.0 release, which will require kernel 2.6.22 for&lt;br /&gt;
the default mkfs invocation.  Also for mkfs.xfs as patch was posted&lt;br /&gt;
to correct the automatic detection of 4 kilobyte sector drivers which&lt;br /&gt;
are expected to show up in large quantities the real work soon.  The&lt;br /&gt;
norepair mode in xfs_repair has been enhanced with additional freespace&lt;br /&gt;
btree correction checks from xfs_db and is now identical to xfs_check in&lt;br /&gt;
filesystem consistency checking coverage.  A temporary file permission&lt;br /&gt;
problems has been fixed in xfs_fsr, and the libhandle library has been&lt;br /&gt;
fixed to better deal with symbolic links.  In xfs_io a few commands&lt;br /&gt;
that were added years ago have finally been wired up to actually be&lt;br /&gt;
usable.  And last but not least xfsdump saw a fix to the time stamp&lt;br /&gt;
handling in the backup format and some usability and documentation&lt;br /&gt;
improvements to xfsinvutil.&lt;br /&gt;
&lt;br /&gt;
== XFS status update for November 2009 ==&lt;br /&gt;
&lt;br /&gt;
November was a relatively slow month for XFS development.  The XFS tree&lt;br /&gt;
that is destined for the Linux 2.6.33 merge window saw a few fixes and&lt;br /&gt;
cleanups applied to it, and few important fixes still made it into the&lt;br /&gt;
last Linux 2.6.32 release candidates.  A few more patches including a&lt;br /&gt;
final version of the event tracing support for XFS were posted but not&lt;br /&gt;
reviewed yet.&lt;br /&gt;
&lt;br /&gt;
On the userspace side there has been a fair amount of xfsprogs activity.&lt;br /&gt;
The repair speedup patches have finally been merged into the main development&lt;br /&gt;
branch and a couple of other fixes to the various utilities made it in, too.&lt;br /&gt;
The xfstests test suite saw another new regression test suite and a build&lt;br /&gt;
system fix up.&lt;br /&gt;
&lt;br /&gt;
== XFS status update for October 2009 ==&lt;br /&gt;
In October we saw the Linux 2.6.32 merge window with a major XFS update.&lt;br /&gt;
This update includes a refactoring of the inode allocator which also&lt;br /&gt;
allows for speedups for very large filesystems, major sync fixes, updates&lt;br /&gt;
to the fsync and O_SYNC handling which merge the two code paths into a single&lt;br /&gt;
and more efficient one, a workaround for the VFS time stamp behavior,&lt;br /&gt;
and of course various smaller fixes.  A couple of additional fixes have been&lt;br /&gt;
queued up for the next merge window.&lt;br /&gt;
&lt;br /&gt;
On the userspace side there has been a healthy activity on xfsprogs:  mkfs can&lt;br /&gt;
now discard unused sectors on SSDs and thinly provisioned storage devices and&lt;br /&gt;
use the more generic libblkid for topology information and filesystems detection&lt;br /&gt;
instead of the older libdisk, and the build system gained some updates to&lt;br /&gt;
make the source package generation simpler and shared for different package&lt;br /&gt;
types.  A patch has been out to the list but yet committed to add symbol&lt;br /&gt;
versioning to the libhandle library to make future ABI additions easier.&lt;br /&gt;
The xfstests package only saw some minor activity with a new test case&lt;br /&gt;
and small build system fixes.&lt;br /&gt;
&lt;br /&gt;
New minor releases of xfsprogs and xfsdump were tagged but not formally&lt;br /&gt;
released after additional discussion.  Instead a new major xfsprogs release&lt;br /&gt;
is planned for next month.&lt;br /&gt;
&lt;br /&gt;
== XFS status update for September 2009 ==&lt;br /&gt;
&lt;br /&gt;
In September the Linux 2.6.31 kernel was finally released, including another&lt;br /&gt;
last minute XFS fix for the swapext (defragmentation) compat ioctl handler.&lt;br /&gt;
The final patch from 2.6.30 to 2.6.31 shows the following impressive diffstat&lt;br /&gt;
for XFS:&lt;br /&gt;
&lt;br /&gt;
   55 files changed, 1476 insertions(+), 2269 deletions(-)&lt;br /&gt;
&lt;br /&gt;
The 2.6.32 merge window started with a large XFS merge that included changes&lt;br /&gt;
to the inode allocator, and a few smaller fixes.  New versions of the sync&lt;br /&gt;
and time stamp fixes as well as the event tracing support have been posted&lt;br /&gt;
in September but not yet merged into the XFS development tree and/or mainline.&lt;br /&gt;
&lt;br /&gt;
On the userspace side a large patch series to reduce the memory usage in&lt;br /&gt;
xfs_repair to acceptable levels was posted, but not yet merged.  A new xfs_df&lt;br /&gt;
shell script to measure use of the on disk space was posted but not yet&lt;br /&gt;
merged pending some minor review comments and a missing man page.  In addition&lt;br /&gt;
we saw the usual amount of smaller fixes and cleanups.&lt;br /&gt;
&lt;br /&gt;
Also this month Felix Blyakher resigned from his post as XFS maintainer and handed off to Alex Elder.&lt;br /&gt;
&lt;br /&gt;
== XFS status update for August 2009 ==&lt;br /&gt;
&lt;br /&gt;
In August the Linux 2.6.31 kernel has still been in the release candidate&lt;br /&gt;
stage, but a couple of important XFS fixes made it in time for the release,&lt;br /&gt;
including a fix for the inode cache races with NFS workloads that have&lt;br /&gt;
plagued us for a long time.&lt;br /&gt;
&lt;br /&gt;
The list saw various patches destined for the Linux 2.6.32 merge window,&lt;br /&gt;
including a merge of the fsync and O_SYNC handling code to address various&lt;br /&gt;
issues with the latter, a workaround for deficits in the timestamp handling&lt;br /&gt;
interface between the VFS and filesystems, a repost of the sync improvements&lt;br /&gt;
patch series and various smaller patches.&lt;br /&gt;
&lt;br /&gt;
August also saw the minor 3.0.3 release of xfsprogs which collects smaller&lt;br /&gt;
fixes to the various tools and most importantly a fix to allow xfsprogs to&lt;br /&gt;
work again on SPARC and other strict alignment handling which regressed a&lt;br /&gt;
few releases ago.  The xfstests repository saw a few new test cases and a&lt;br /&gt;
various small improvements.&lt;br /&gt;
&lt;br /&gt;
== XFS status update for July 2009 ==&lt;br /&gt;
&lt;br /&gt;
As a traditional summer vacation month July has not seen a lot of XFS&lt;br /&gt;
activity.  The mainline 2.6.31 kernel made it to the 5th release candidate&lt;br /&gt;
but besides a few kernel-wide patches touching XFS the only activity were&lt;br /&gt;
two small patches fixing a bug in FIEMAP and working around writeback&lt;br /&gt;
performance problems in the VM.&lt;br /&gt;
&lt;br /&gt;
A few more patches were posted to the list but haven&#039;t been merged yet.&lt;br /&gt;
Two big patch series deal with theoretically possible deadlocks due to&lt;br /&gt;
locks taken in reclaim contexts, which are now detected by lockdep.&lt;br /&gt;
&lt;br /&gt;
The pace on the userspace side has been slow.  There have been a couple&lt;br /&gt;
of fixes to xfs_repair and xfs_db, and xfstests grew a few more testcases.&lt;br /&gt;
&lt;br /&gt;
== XFS status update for June 2009 ==&lt;br /&gt;
&lt;br /&gt;
On June 9th we finally saw the release of Linux 2.6.30.  For XFS&lt;br /&gt;
this release mostly contains the improved ENOSPC handling, but also&lt;br /&gt;
various smaller bugfixes and lots of cleanups.  The code size of XFS&lt;br /&gt;
decreased again by 500 lines of code in this release.&lt;br /&gt;
&lt;br /&gt;
The Linux 2.6.31 merge opened in the mid of the month and some big XFS&lt;br /&gt;
changes have been pushed: A removal of the quotaops&lt;br /&gt;
infrastructure which simplifies the quota implementation, the switch&lt;br /&gt;
from XFS&#039;s own Posix ACL implementation to the generic one shared&lt;br /&gt;
by various other filesystems which also supports in-memory caching of&lt;br /&gt;
ACLs and another incremental refactoring of the sync code.&lt;br /&gt;
&lt;br /&gt;
A patch to better track dirty inodes and work around issues in the&lt;br /&gt;
way the VFS updates the access time stamp on inodes has been reposted&lt;br /&gt;
and discussed. Another patch to converting the existing XFS tracing&lt;br /&gt;
infrastructure to use the ftrace even tracer has been posted.&lt;br /&gt;
&lt;br /&gt;
On the userspace side there have been a few updates to xfsprogs, including&lt;br /&gt;
some repair fixes and a new fallocate command for xfs_io.  There were&lt;br /&gt;
major updates for xfstests:  The existing aio-dio-regress testsuite has&lt;br /&gt;
been merged into xfstests, and various changes went into the tree to make&lt;br /&gt;
xfstests better suitable for use with other filesystems.&lt;br /&gt;
&lt;br /&gt;
The attr and acl projects which have been traditionally been hosted&lt;br /&gt;
as part of the XFS userspace utilities have now been split into a separate&lt;br /&gt;
project maintained by Andreas Gruenbacher, who has been doing most of&lt;br /&gt;
the work on it, and moved to the Savannah hosting platform.&lt;br /&gt;
&lt;br /&gt;
== XFS status update for May 2009 ==&lt;br /&gt;
&lt;br /&gt;
In May Linux 2.6.30 was getting close to be released, and various&lt;br /&gt;
important XFS fixes made it during the latest release candidates.&lt;br /&gt;
In the meantime some big patch series to rework the sync code and&lt;br /&gt;
the inode allocator have been posted for the next merge window.&lt;br /&gt;
&lt;br /&gt;
On the userspace side xfsprogs and xfsdump 3.0.1 were finally released,&lt;br /&gt;
quickly followed by 3.0.2 releases with updated Debian packaging.&lt;br /&gt;
After that various small patches that were held back made it into xfsprogs.&lt;br /&gt;
A patch to add the xfs_reno tool which allows to move inodes around to&lt;br /&gt;
fit into 32 bit inode number space has been posted which is also one&lt;br /&gt;
central aspect of future online shrinking support.&lt;br /&gt;
&lt;br /&gt;
There has been major activity on xfstests including adding generic&lt;br /&gt;
filesystems support to allow running tests that aren&#039;t XFS-specific on&lt;br /&gt;
any Linux filesystems.&lt;br /&gt;
&lt;br /&gt;
== XFS status update for April 2009 ==&lt;br /&gt;
&lt;br /&gt;
In April development for Linux 2.6.30 was in full motion.  A patchset to correct flushing of delayed allocations with near full filesystems has been committed in early April, as well as various smaller fixes. A patch series to improve the behavior of sys_sync has been posted but is waiting for VFS changes queued for Linux 2.6.31.&lt;br /&gt;
&lt;br /&gt;
On the userspace side xfsprogs and xfsdump 3.0.1 have managed to split their release dates into May again after a lot of last-minute build system updates.&lt;br /&gt;
&lt;br /&gt;
== XFS status update for March 2009 ==&lt;br /&gt;
&lt;br /&gt;
Linux 2.6.29 has been released which includes major XFS updates like the&lt;br /&gt;
new generic btree code, a fully functional 32bit compat ioctl implementation&lt;br /&gt;
and the new combined XFS and Linux inode.  (See previous status reports&lt;br /&gt;
for more details). A patch series to improve correctness and performance&lt;br /&gt;
has been posted but not yet applied.  Various minor fixes and cleanups&lt;br /&gt;
have been sent to Linus for 2.6.30 which looks like it will be a minor&lt;br /&gt;
release for XFS after the big churn in 2.6.29.&lt;br /&gt;
&lt;br /&gt;
On userspace a lot of time has been spent on fixing and improving the&lt;br /&gt;
build system shared by the various XFS utilities as well as various smaller&lt;br /&gt;
improvements leading to the xfsprogs and xfsdump 3.0.1 releases which are&lt;br /&gt;
still outstanding.&lt;br /&gt;
&lt;br /&gt;
== XFS status update for February 2009 ==&lt;br /&gt;
&lt;br /&gt;
In February various smaller fixes have been sent to Linus for 2.6.29,&lt;br /&gt;
including a revert of the faster vmap APIs which don&#039;t seem to be quite&lt;br /&gt;
ready yet on the VM side.  At the same time various patches have been&lt;br /&gt;
queued up for 2.6.30, with another big batch pending.  There also has&lt;br /&gt;
been a repost of the CRC patch series, including support for a new,&lt;br /&gt;
larger inode core.&lt;br /&gt;
&lt;br /&gt;
SGI released various bits of work in progress from former employees&lt;br /&gt;
that will be extremely helpful for the future development of XFS,&lt;br /&gt;
thanks a lot to Mark Goodwin for making this happen.&lt;br /&gt;
&lt;br /&gt;
On the userspace side the long awaited 3.0.0 releases of xfsprogs and&lt;br /&gt;
xfsdump finally happened early in the month, accompanied by a 2.2.9&lt;br /&gt;
release of the dmapi userspace.  There have been some issues with packaging&lt;br /&gt;
so a new minor release might follow soon.&lt;br /&gt;
&lt;br /&gt;
The xfs_irecover tool has been relicensed so that it can be merged into&lt;br /&gt;
the GPLv2 codebase of xfsprogs, but the actual integration work hasn&#039;t&lt;br /&gt;
happened yet.&lt;br /&gt;
&lt;br /&gt;
Important bits of XFS documentation that have been available on the XFS&lt;br /&gt;
website in PDF form have been released in the document source form under&lt;br /&gt;
the Creative Commons license so that they can be updated as a community&lt;br /&gt;
effort, and checked into a public git tree.&lt;br /&gt;
&lt;br /&gt;
== XFS status update for January 2009 ==&lt;br /&gt;
&lt;br /&gt;
January has been an extremely busy month on the userspace front.  Many&lt;br /&gt;
smaller and medium updates went into xfsprogs, xfstests and to a lesser&lt;br /&gt;
extent xfsdump.  xfsprogs and xfsdump are ramping up for getting a 3.0.0&lt;br /&gt;
release out in early February which will include the first major re-sync&lt;br /&gt;
with the kernel code in libxfs, a cleanup of the exported library interfaces&lt;br /&gt;
and the move of two tools (xfs_fsr and xfs_estimate) from the xfsdump&lt;br /&gt;
package to xfsprogs.  After this the xfsprogs package will contain all&lt;br /&gt;
tools that use internal libxfs interfaces which fortunately equates to those&lt;br /&gt;
needed for normal administration.  The xfsdump package now only contains&lt;br /&gt;
the xfsdump/xfsrestore tools needed for backing up and restoring XFS&lt;br /&gt;
filesystems.  In addition it grew a fix to support dump/restore on systems&lt;br /&gt;
with a 64k page size.  A large number of acl/attr package patches was&lt;br /&gt;
posted to the list, but pending a possible split of these packages from the&lt;br /&gt;
XFS project these weren&#039;t processed yet.&lt;br /&gt;
&lt;br /&gt;
On the kernel side the big excitement in January was an in-memory corruption&lt;br /&gt;
introduced in the btree refactoring which hit people running 32bit platforms&lt;br /&gt;
without support for large block devices.  This issue was fixed and pushed&lt;br /&gt;
to the 2.6.29 development tree after a long collaborative debugging effort&lt;br /&gt;
at linux.conf.au.  Besides that about a dozen minor fixes were pushed to&lt;br /&gt;
2.6.29 and the first batch of misc patches for the 2.6.30 release cycle&lt;br /&gt;
was sent out.&lt;br /&gt;
&lt;br /&gt;
At the end of December the SGI group in Melbourne which the previous&lt;br /&gt;
XFS maintainer and some other developers worked for has been closed down&lt;br /&gt;
and they will be missed greatly.  As a result maintainership has been passed&lt;br /&gt;
on in a way that has been slightly controversial in the community, and the&lt;br /&gt;
first patchset of work in progress in Melbourne have been posted to the list&lt;br /&gt;
to be picked up by others.&lt;br /&gt;
&lt;br /&gt;
The xfs.org wiki has gotten a little facelift on it&#039;s front page making it&lt;br /&gt;
a lot easier to read.&lt;br /&gt;
&lt;br /&gt;
== XFS status update for December 2008 ==&lt;br /&gt;
&lt;br /&gt;
On Christmas Eve the 2.6.28 mainline kernel was release, with only minor XFS&lt;br /&gt;
bug fixes over 2.6.27.&lt;br /&gt;
&lt;br /&gt;
On the development side December has been busy but unspectacular month.&lt;br /&gt;
All lot of misc fixes and improvements have been sent out, tested and committed&lt;br /&gt;
especially on the user land side.&lt;br /&gt;
&lt;br /&gt;
== XFS status update for November 2008 ==&lt;br /&gt;
&lt;br /&gt;
The mainline kernel is now at 2.6.28-rc6 and includes a small number of&lt;br /&gt;
XFS fixes.  There have been no updates to the XFS development tree during&lt;br /&gt;
November.  Without new regressions that large number of changes that&lt;br /&gt;
missed 2.6.28 has thus stabilized to be ready for 2.6.29.  In the meantime&lt;br /&gt;
kernel-side development has been slow, with the only major patch set&lt;br /&gt;
being a wide number of fixes to the compatibility for 32 bit ioctls on&lt;br /&gt;
a 64 bit kernel.&lt;br /&gt;
&lt;br /&gt;
In the meantime there has been a large number of commits to the user space&lt;br /&gt;
tree, which mostly consist of smaller fixes.  xfsprogs is getting close&lt;br /&gt;
to have the 3.0.0 release which will be the first full resync with the&lt;br /&gt;
kernel sources since the year 2005.&lt;br /&gt;
&lt;br /&gt;
== XFS status update for October 2008 ==&lt;br /&gt;
&lt;br /&gt;
Linux 2.6.27 released with all the bits covered in last month&#039;s report.  It&lt;br /&gt;
did however miss two important fixes for regressions that a few people hit.&lt;br /&gt;
2.6.27.3 or later are recommended for use with XFS.&lt;br /&gt;
&lt;br /&gt;
In the meantime the generic btree implementation, the sync reorganization&lt;br /&gt;
and after a lot of merge pain the XFS and VFS inode unification hit the&lt;br /&gt;
development tree during the time allocated for the merge window.  No XFS&lt;br /&gt;
updates other than the two regression fixes also in 2.6.27.3 have made it&lt;br /&gt;
into mainline as of 2.6.28-rc3.&lt;br /&gt;
&lt;br /&gt;
The only new feature on the list in October is support for the fiemap&lt;br /&gt;
interface that has been added to the VFS during the 2.6.28 merge window.&lt;br /&gt;
However there was lot of patch traffic consisting of fixes and respun&lt;br /&gt;
versions of previously known patches.  There still is a large backlog of&lt;br /&gt;
patches on the list that is not applied to the development tree yet.&lt;br /&gt;
&lt;br /&gt;
== XFS status update for September 2008 ==&lt;br /&gt;
&lt;br /&gt;
With Linux 2.6.27 still not released but only making slow progress from 2.6.27-rc5 to 2.6.27-rc8 XFS changes in mainline have been minimal in September with only about half a dozen bug fixes patches.&lt;br /&gt;
&lt;br /&gt;
In the meantime the generic btree patch set has been committed to the development tree, but not many other updates yet. On the user space side xfsprogs 2.10.1 has been released on September 5th with a number of important bug fixes. Following the release of xfsprogs 2.10.1 open season for development of the user space code has started. The first full update of the shared kernel / user space code in libxfs since 2005 has been committed. In addition to that the number of headers installed for the regular devel package has been reduced to the required minimum and support for checking the source code for endianess errors using sparse has been added.&lt;br /&gt;
&lt;br /&gt;
The patch sets to unify the XFS and Linux inode structures, and rewrite various bits of the sync code have seen various iterations on the XFS list, but haven&#039;t been committed yet. A first set of patches implementing CRCs for various metadata structures has been posted to the list.&lt;br /&gt;
&lt;br /&gt;
== XFS status update for August 2008 ==&lt;br /&gt;
&lt;br /&gt;
With the 2.6.27-rc5 release the 2.6.27 cycle is nearing it&#039;s end. The major XFS feature in 2.6.27-rc5 is support for case-insensitive file names. At this point it is still limited to 7bit ASCII file names, with updates for utf8 file names expected to follow later. In addition to that 2.6.27-rc5 fixes a long-standing problem with non-EABI arm compiler which pack some XFS data structures wrongly. Besides this 2.6.27-rc5 also contains various cleanups, most notably the removal of the last bhv_vnode_t instances, and most uses of semaphores. As usual the diffstat for XFS from 2.6.26 to 2.6.26-rc5 is negative:&lt;br /&gt;
&lt;br /&gt;
       100 files changed, 3819 insertions(+), 4409 deletions(-)&lt;br /&gt;
&lt;br /&gt;
On the user space front a new minor xfsprogs version is about to be released containing various fixes including the user space part of arm packing fix.&lt;br /&gt;
&lt;br /&gt;
Work in progress on the XFS mailing list are a large patch set to unify the alloc, inobt and bmap btree implementation into a single that supports arbitrarily pluggable key and record formats. These btree changes are the first major preparation for adding CRC checks to all metadata structures in XFS, and an even larger patch set to unify the XFS and Linux inode structures, and perform all inode write back from the btree uses instead of an inode cache in XFS.&lt;br /&gt;
&lt;br /&gt;
== Updates before 2008 ==&lt;br /&gt;
&lt;br /&gt;
News up to 2007 can be found on a separate page: [[OLD_News]]&lt;/div&gt;</summary>
		<author><name>Hch</name></author>
	</entry>
	<entry>
		<id>https://xfs.org/index.php?title=XFS_Status_Updates&amp;diff=2387</id>
		<title>XFS Status Updates</title>
		<link rel="alternate" type="text/html" href="https://xfs.org/index.php?title=XFS_Status_Updates&amp;diff=2387"/>
		<updated>2012-01-12T19:01:28Z</updated>

		<summary type="html">&lt;p&gt;Hch: December update&lt;/p&gt;
&lt;hr /&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 quite, 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&#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 quite&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&#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&#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&#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&#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&#039;t been committed yet were discussed on the mailing list.&lt;br /&gt;
&lt;br /&gt;
== XFS status update for December 2010 ==&lt;br /&gt;
&lt;br /&gt;
The release process of the Linux 2.6.37 kernel with it&#039;s large XFS updates&lt;br /&gt;
was in it&#039;s final days in December, which explains why we only saw a single&lt;br /&gt;
one-liner regression fix for XFS in Linus&#039; tree.  The XFS development tree&lt;br /&gt;
finally saw some updates when the writeback updates and some small cleanups&lt;br /&gt;
to the allocator and log recovery code were merged, but the large metadata&lt;br /&gt;
scalability updates that have been posted to the list multiple times are&lt;br /&gt;
still missing.  In addition to this on-going work the list also saw patches&lt;br /&gt;
that fix smaller issues, which are also still waiting to be merged.&lt;br /&gt;
&lt;br /&gt;
On the userspace side xfsprogs and xfsdump development has been quit, with&lt;br /&gt;
no commits to either repository in December, although a large series of&lt;br /&gt;
updates to the metadump command has been reposted near the end of the month.&lt;br /&gt;
The xfstests repository saw a new regression test for a btrfs problem,&lt;br /&gt;
and various updates to existing tests.&lt;br /&gt;
&lt;br /&gt;
== XFS status update for November 2010 ==&lt;br /&gt;
&lt;br /&gt;
From looking at the kernel git commits November looked like a pretty&lt;br /&gt;
slow month with just two hand full fixes going into the release candidates&lt;br /&gt;
for Linux 2.6.37, and none at all going into the development tree.&lt;br /&gt;
But in this case git statistics didn&#039;t tell the whole story - there&lt;br /&gt;
was a lot of activity on patches for the next merge window on the list.&lt;br /&gt;
The focus in November was still at metadata scalability, with various&lt;br /&gt;
patchsets that improves parallel creates and unlinks again, and also&lt;br /&gt;
improves 8-way dbench throughput by 30%.  In addition to that there&lt;br /&gt;
were patches to improve preallocation for NFS servers, to simplify&lt;br /&gt;
the writeback code, and to remove the XFS-internal percpu counters&lt;br /&gt;
for free space for the generic kernel percpu counters, which just needed&lt;br /&gt;
a small improvement.&lt;br /&gt;
&lt;br /&gt;
On the user space side we saw the release of xfsprogs 3.1.4, which&lt;br /&gt;
contains various accumulated bug fixes and Debian packaging updates.&lt;br /&gt;
The xfsdump tree saw a large update to speed up restore by using&lt;br /&gt;
mmap for an internal database and remove the limitation of ~ 214&lt;br /&gt;
million directory entries per dump file.  The xfstests test suite&lt;br /&gt;
saw three new testcases and various fixes, including support for the&lt;br /&gt;
hfsplus filesystem.&lt;br /&gt;
&lt;br /&gt;
== XFS status update for October 2010 ==&lt;br /&gt;
&lt;br /&gt;
Near the end of the month we finally saw the release of Linux 2.6.36.&lt;br /&gt;
Just a single fix made it into mainline in this month, showing that the&lt;br /&gt;
stabilization period before has worked very well.&lt;br /&gt;
&lt;br /&gt;
Linux 2.6.36 has been another impressive release for XFS, seeing&lt;br /&gt;
various performance improvements in the new delayed logging code,&lt;br /&gt;
for direct I/O and the sync system call, a few bug fixes, and lots&lt;br /&gt;
of cleanups, resulting in a net removal of over 2000 lines of code:&lt;br /&gt;
&lt;br /&gt;
        89 files changed, 1998 insertions(+), 4279 deletions(-)&lt;br /&gt;
&lt;br /&gt;
The merge window for Linux 2.6.37 opened just a few days after the&lt;br /&gt;
release of Linux 2.6.36 and already contains another large XFS update&lt;br /&gt;
at the end of October.  Highlights of the XFS tree merged into 2.6.37-rc1&lt;br /&gt;
are another large set of metadata scalability patches, support for 32-bit&lt;br /&gt;
wide project IDs, and support for the new XFS_IOC_ZERO_RANGE ioctl,&lt;br /&gt;
which allows to punch a whole and convert it to an unwritten extent&lt;br /&gt;
in a single atomic operation.&lt;br /&gt;
&lt;br /&gt;
The metadata scalability changes improve 8-way fs_mark of 50 million files&lt;br /&gt;
by over 15% and removal of those files by over 100%, with further&lt;br /&gt;
improvements expected by the next round of XFS metadata scalability&lt;br /&gt;
and VFS scalability improvements targeted at Linux 2.6.38.&lt;br /&gt;
&lt;br /&gt;
On the user space side October was a rather quit month for xfsprogs, which&lt;br /&gt;
only saw the addition of 32-bit project ID handling, and a fix for&lt;br /&gt;
parsing the mount table in fsr when used together with disk encryption&lt;br /&gt;
tools.  A few patches for xfsdump were posted on the list, but none&lt;br /&gt;
was applied, leaving the majority of the user space activity to&lt;br /&gt;
xfstests, which saw very active development.  Various patches went&lt;br /&gt;
into xfstests to improve portability to filesystems with a limited&lt;br /&gt;
feature set, and to move more filters to generic code.  In addition&lt;br /&gt;
various cleanups to test cases in test programs were applied.&lt;br /&gt;
&lt;br /&gt;
== XFS status update for September 2010 ==&lt;br /&gt;
&lt;br /&gt;
Mainline activity has been rather low in September while with only&lt;br /&gt;
two more fixes going into the 2.6.36 release candidates after the&lt;br /&gt;
large merge activity in August.  Development for the next merge&lt;br /&gt;
window has been more active.  The largest item was the inclusion&lt;br /&gt;
of the metadata scalability patch series, which provides very large&lt;br /&gt;
speedups for parallel metadata operations.  In addition a new&lt;br /&gt;
ioctl to punch holes and convert the whole to an unwritten extent&lt;br /&gt;
was added and a small number of cleanups also made it into the tree.&lt;br /&gt;
&lt;br /&gt;
Patches to add support for 32bit wide project ID identifiers and&lt;br /&gt;
using group and project quotas concurrently were posted to the list&lt;br /&gt;
and discussed but not yet included.&lt;br /&gt;
&lt;br /&gt;
Userspace development has been rather quiet again, with a single fix&lt;br /&gt;
committed to xfsprogs and xfsdump each.  The xfstests test suite grew&lt;br /&gt;
a new test case and received a few additional fixes.  Last but not least&lt;br /&gt;
the [http://xfs.org/docs/xfsdocs-xml-dev/XFS_User_Guide//tmp/en-US/html/index.html XFS Users Guide]&lt;br /&gt;
was updated with various factual corrections and spelling fixes.&lt;br /&gt;
&lt;br /&gt;
== XFS status update for August 2010 ==&lt;br /&gt;
&lt;br /&gt;
At the first of August we finally saw the release of Linux 2.6.35,&lt;br /&gt;
which includes a large XFS update.  The most prominent feature in&lt;br /&gt;
Linux 2.6.35 is the new delayed logging code which provides massive&lt;br /&gt;
speedups for metadata-intensive workloads, but there has been&lt;br /&gt;
a large amount of other fixes and cleanups, leading to the following&lt;br /&gt;
diffstat:&lt;br /&gt;
&lt;br /&gt;
         67 files changed, 4426 insertions(+), 3835 deletions(-)&lt;br /&gt;
&lt;br /&gt;
Given the early release of Linux 2.6.35 the merge window for the&lt;br /&gt;
next release fully fell into the month of August.  The XFS updates&lt;br /&gt;
for Linux 2.6.36 include various additional performance improvements&lt;br /&gt;
in the delayed logging code, for direct I/O writes and for avoiding&lt;br /&gt;
synchronous transactions, as well as various fixed and large amount&lt;br /&gt;
of cleanups, including the removal of the remaining dead DMAPI&lt;br /&gt;
code.&lt;br /&gt;
&lt;br /&gt;
On the userspace side we saw the 3.1.3 release of xfsprogs, which includes&lt;br /&gt;
various smaller fixes, support for the new XFS_IOC_ZERO_RANGE ioctl and&lt;br /&gt;
Debian packaging updates.  The xfstests package saw one new test case&lt;br /&gt;
and a couple of smaller patches, and xfsdump has not seen any updates at&lt;br /&gt;
all.&lt;br /&gt;
&lt;br /&gt;
The XMLified versions of the XFS users guide, training labs and filesystem&lt;br /&gt;
structure documentation are now available as on the fly generated html on&lt;br /&gt;
the xfs.org website and can be found at [[XFS_Papers_and_Documentation|Papers &amp;amp; Documentation]].&lt;br /&gt;
&lt;br /&gt;
== XFS status update for July 2010 ==&lt;br /&gt;
&lt;br /&gt;
July saw three more release candidates for the Linux 2.6.35 kernel, which&lt;br /&gt;
included a relatively large number of XFS updates.  There were two security&lt;br /&gt;
fixes, a small one to prevent swapext to operate on write-only file&lt;br /&gt;
descriptors, and a much larger one to properly validate inode numbers&lt;br /&gt;
coming from NFS clients or userspace applications using the bulkstat or&lt;br /&gt;
the open-by-handle interfaces.  In addition to that another relatively&lt;br /&gt;
large patch fixes the way inodes get reclaimed in the background, and&lt;br /&gt;
avoids inode caches growing out of bounds.&lt;br /&gt;
&lt;br /&gt;
In the meantime the code for the Linux 2.6.36 got the last touches before&lt;br /&gt;
the expected opening of the merge window, by merging a few more last&lt;br /&gt;
minute fixes and cleanups.  The most notable one is a patch series&lt;br /&gt;
that fixes in-memory corruption when concurrently accessing unwritten&lt;br /&gt;
extents using the in-kernel AIO code.&lt;br /&gt;
&lt;br /&gt;
The userspace side was still quite slow, but some a bit more activity&lt;br /&gt;
than June.  In xfsprogs the xfs_db code grew two bug fixes, as did&lt;br /&gt;
the xfs_io script.  The xfstests package saw one new test cases and&lt;br /&gt;
various fixes to existing code.  Last but not least a few patches&lt;br /&gt;
affecting the build system for all userspace tools were committed.&lt;br /&gt;
&lt;br /&gt;
== XFS status update for June 2010 ==&lt;br /&gt;
&lt;br /&gt;
The month of June saw a few important bug fixes for the Linux 2.6.35&lt;br /&gt;
release candidates.  That includes ensuring that files used for the&lt;br /&gt;
swapext ioctl are writable to the user, and doing proper validation&lt;br /&gt;
of inodes coming from untrusted sources, such as NFS exporting and&lt;br /&gt;
the open by handle system calls.  The main work however has been&lt;br /&gt;
focused on development for the Linux 2.6.36 merge window, including&lt;br /&gt;
merging various patches that have been out on the mainline list&lt;br /&gt;
for a long time.  Highlights include further performance improvements&lt;br /&gt;
for sync heavy metadata workloads, stack space reduction in the&lt;br /&gt;
writeback path and improvements of the XFS tracing infrastructure.&lt;br /&gt;
Also after some discussion the remaining hooks for DMAPI are going&lt;br /&gt;
to be dropped in mainline.   As a replacement a tree containing&lt;br /&gt;
full DMAPI support with a slightly cleaner XFS interaction will be&lt;br /&gt;
hosted by SGI.&lt;br /&gt;
&lt;br /&gt;
On the userspace side June was a rather slow month, with no updates&lt;br /&gt;
to xfsprogs and xfsdump at all, and just one new test case and a cleanup&lt;br /&gt;
applied to xfstests.&lt;br /&gt;
&lt;br /&gt;
== XFS status update for May 2010 ==&lt;br /&gt;
&lt;br /&gt;
In May 2010 we saw the long awaited release of Linux 2.6.34, which includes&lt;br /&gt;
a large XFS update.  The most important features appearing in 2.6.34 was the&lt;br /&gt;
new inode and quota flushing code, which leads to much better I/O patterns&lt;br /&gt;
for metadata-intensive workloads.  Additionally support for synchronous NFS&lt;br /&gt;
exports has been improved to give much better performance, and performance&lt;br /&gt;
for the fsync, fdatasync and sync system calls has been improved slightly.&lt;br /&gt;
A bug when resizing extremely busy filesystems has been fixed, which required&lt;br /&gt;
extensive modification to the data structure used for looking up the&lt;br /&gt;
per-allocation group data.  Last but not least there was a steady flow of&lt;br /&gt;
minor bug fixes and cleanups, leading to the following diffstat from&lt;br /&gt;
2.6.33 to 2.6.34:&lt;br /&gt;
&lt;br /&gt;
  86 files changed, 3209 insertions(+), 3178 deletions(-)&lt;br /&gt;
&lt;br /&gt;
Meanwhile active development aimed at 2.6.35 merge progressed.  The&lt;br /&gt;
major feature for this window is the merge of the delayed logging code,&lt;br /&gt;
which adds a new logging mode that dramatically reduces the bandwidth&lt;br /&gt;
required for log I/O.  See the &lt;br /&gt;
[http://git.kernel.org/?p=linux/kernel/git/torvalds/linux-2.6.git;a=blob;f=Documentation/filesystems/xfs-delayed-logging-design.txt;h=96d0df28bed323d5596fc051b0ffb96ed8e3c8df;hb=HEAD documentation] for details.  Testers&lt;br /&gt;
for this new code are welcome.&lt;br /&gt;
&lt;br /&gt;
In userland xfsprogs saw the long awaited 3.1.2 release, which can be&lt;br /&gt;
considered a bug fix release for xfs_repair, xfs_fsr and mkfs.xfs.  After&lt;br /&gt;
the release a few more fixes were merged into the development tree.&lt;br /&gt;
The xfstests package saw various new tests, including many tests to&lt;br /&gt;
exercise the quota code, and a few fixes to existing tests.&lt;br /&gt;
&lt;br /&gt;
== XFS status update for April 2010 ==&lt;br /&gt;
&lt;br /&gt;
In April 2.6.34 still was in the release candidate phase, with&lt;br /&gt;
a hand full of XFS fixes making it into mainline.  Development for&lt;br /&gt;
the 2.6.35 merge window went ahead full steam at the same time.&lt;br /&gt;
&lt;br /&gt;
While a fair amount of patches hit the development tree these were&lt;br /&gt;
largely cleanups, with the real development activity happening on&lt;br /&gt;
the mailing list.  There was another round of patches and following&lt;br /&gt;
discussion on the scalable busy extent tracking and delayed logging&lt;br /&gt;
features mentioned last month.  They are expected to be merged in&lt;br /&gt;
May and queue up for the Linux 2.6.35 window.  Last but not least&lt;br /&gt;
April saw a large number of XFS fixes backported to the 2.6.32 and&lt;br /&gt;
2.6.33 -stable series.&lt;br /&gt;
&lt;br /&gt;
In user land xfsprogs has seen few but important updates, preparing&lt;br /&gt;
for a new release next month.  The xfs_repair tool saw a fix to&lt;br /&gt;
correctly enable the lazy superblock counters on an existing&lt;br /&gt;
filesystem, and xfs_fsr saw updates to better deal with dynamic&lt;br /&gt;
attribute forks.  Last but not a least a port to Debian GNU/kFreeBSD&lt;br /&gt;
got merged. The xfstests test suite saw two new test cases and various&lt;br /&gt;
smaller fixes.&lt;br /&gt;
&lt;br /&gt;
== XFS status update for March 2010 ==&lt;br /&gt;
&lt;br /&gt;
The merge window for Linux 2.6.34 closed in the first week of March,&lt;br /&gt;
with the important XFS features already landing in February.  Not&lt;br /&gt;
surprisingly the XFS merge activity in March has been rather slow,&lt;br /&gt;
with only about a dozen bug fixes patches making it towards Linus&#039;&lt;br /&gt;
tree in that time.&lt;br /&gt;
&lt;br /&gt;
On the other hand active development for the 2.6.35 merge window has&lt;br /&gt;
been very active.  Most importantly there was a lot of work on the&lt;br /&gt;
transaction and log subsystems.  Starting with a large patchset to&lt;br /&gt;
clean up and refactor the transaction subsystem and introducing more&lt;br /&gt;
flexible I/O containers in the low-level logging code work is&lt;br /&gt;
progressing to a new, more efficient logging implementation.  While&lt;br /&gt;
this preparatory work has already been merged in the development tree,&lt;br /&gt;
the actual delayed logging implementation still needs more work after&lt;br /&gt;
the initial public posting.  The delayed logging implementation which&lt;br /&gt;
is very briefly modeled after the journaling mode in the ext3/4&lt;br /&gt;
and reiserfs filesystems allows to accumulated multiple asynchronous&lt;br /&gt;
transactions in memory instead of possibly writing them out&lt;br /&gt;
many times.  Using the new delayed logging mechanism I/O bandwidth&lt;br /&gt;
used for the log decreases by orders of magnitude and performance&lt;br /&gt;
on metadata intensive workloads increases massively.&lt;br /&gt;
&lt;br /&gt;
In addition to that a new version of the discard (aka TRIM) support&lt;br /&gt;
has been posted, this time entirely contained in kernel space&lt;br /&gt;
and without the need of a userspace utility to drive it.  Last but&lt;br /&gt;
not least the usual steady stream of cleanups and bug fixes has not&lt;br /&gt;
ceased this month either.&lt;br /&gt;
&lt;br /&gt;
Besides the usual flow of fixes and new test cases in the xfstests&lt;br /&gt;
test suite development on the userspace side has been rather slow.&lt;br /&gt;
Xfsprogs has only seen a single fix for SMP locking in xfs_repair&lt;br /&gt;
and support for building on Debian GNU/kFreeBSD, and xfsdump&lt;br /&gt;
has seen no commit at all.&lt;br /&gt;
&lt;br /&gt;
== XFS status update for February 2010 ==&lt;br /&gt;
&lt;br /&gt;
February saw the release of the Linux 2.6.33 kernel, which includes&lt;br /&gt;
a large XFS update.  The biggest user-visible change in Linux 2.6.33&lt;br /&gt;
is that XFS now support the generic Linux trace event infrastructure,&lt;br /&gt;
which allows tracing lots of XFS behavior with a normal production&lt;br /&gt;
built kernel.  Except for this Linux 2.6.33 has been mostly a bug-fix&lt;br /&gt;
release, fixing various user reported bugs in previous releases.&lt;br /&gt;
The total diffstat for XFS in Linux 2.6.33 looks like:&lt;br /&gt;
&lt;br /&gt;
  84 files changed, 3023 insertions(+), 3550 deletions(-)&lt;br /&gt;
&lt;br /&gt;
In addition to that the merge window for Linux 2.6.34 opened and the&lt;br /&gt;
first merge of the XFS tree made it into Linus tree.  Unlike Linux&lt;br /&gt;
2.6.33 this merge window includes major feature work.  The most&lt;br /&gt;
important change for users is a new algorithm for inode and quota&lt;br /&gt;
writeback that leads to better I/O locality and improved metadata&lt;br /&gt;
performance.  The second big change is a rewrite of the per-allocation&lt;br /&gt;
group data lookup which fixes a long-standing problem in the code&lt;br /&gt;
to grow a life filesystem and will also ease future filesystem&lt;br /&gt;
shrinking support.  Not merged through the XFS tree, but of great&lt;br /&gt;
importance for embedded users is a new API that allows XFS to properly&lt;br /&gt;
flush cache lines on it&#039;s log and large directory buffers, making&lt;br /&gt;
XFS work properly on architectures with virtually indexed caches,&lt;br /&gt;
such as parisc and various arm and mips variants.  Last but not&lt;br /&gt;
least there is an above average amount of cleanups that went into&lt;br /&gt;
Linus tree in this cycle.&lt;br /&gt;
&lt;br /&gt;
There have been more patches on the mailing list that haven&#039;t made&lt;br /&gt;
it to Linus tree yet, including an optimized implementation of&lt;br /&gt;
fdatasync(2) and massive speedups for metadata workloads on&lt;br /&gt;
NFS exported XFS filesystems.&lt;br /&gt;
&lt;br /&gt;
On the userspace side February has been a relatively quiet month.&lt;br /&gt;
Lead by xfstests only a moderate amount of fixes made it into&lt;br /&gt;
the respective trees.&lt;br /&gt;
&lt;br /&gt;
== XFS status update for January 2010 ==&lt;br /&gt;
&lt;br /&gt;
January saw additional release candidates of the Linux 2.6.33 kernel,&lt;br /&gt;
including a couple of bug fixes for XFS.  In the meantime the XFS tree&lt;br /&gt;
has been growing a large number of patches destined for the Linux 2.6.34&lt;br /&gt;
merge window: a large rework of the handling of per-AG data, support for&lt;br /&gt;
the quota netlink interface, and better power saving behavior of the&lt;br /&gt;
XFS kernel threads, and of course various cleanups.&lt;br /&gt;
&lt;br /&gt;
A large patch series to replace the current asynchronous inode writeback&lt;br /&gt;
with a new scheme that uses the delayed write buffers was posted to&lt;br /&gt;
the list.  The new scheme, which allows archive better I/O locality by&lt;br /&gt;
dispatching meta-data I/O from a single place has been discussed&lt;br /&gt;
extensively and is expected to be merged in February.&lt;br /&gt;
&lt;br /&gt;
On the userspace side January saw the 3.1.0 and 3.1.1 releases of xfsprogs,&lt;br /&gt;
as well as the 3.0.4 release of xfsdump.  The biggest changes in xfsprogs&lt;br /&gt;
3.1.0 were optimizations in xfs_repair that lead to a much lower memory&lt;br /&gt;
usage, and optional use of the blkid library for filesystem detection&lt;br /&gt;
and retrieving storage topology information.  The 3.1.1 release contained&lt;br /&gt;
various important bug fixes for these changes and a various improvements to&lt;br /&gt;
the build system.  The major feature of xfsdump 3.0.4 were fixes for&lt;br /&gt;
time stamp handling on 64-bit systems.&lt;br /&gt;
&lt;br /&gt;
The xfstests package also lots of activity including various new testcases&lt;br /&gt;
and an improved build system.&lt;br /&gt;
&lt;br /&gt;
== XFS status update for December 2009 ==&lt;br /&gt;
&lt;br /&gt;
December finally saw the long awaited release of Linux 2.6.32, which for&lt;br /&gt;
XFS is mostly a bug fix release, with the major changes being various&lt;br /&gt;
improvement to the sync path, including working around the expectation&lt;br /&gt;
from the grub boot loader where metadata is supposed to be after a sync()&lt;br /&gt;
system call.  Together with a refactoring of the inode allocator this&lt;br /&gt;
gives a nice diffstat for this kernel release:&lt;br /&gt;
&lt;br /&gt;
 46 files changed, 767 insertions(+), 1048 deletions(-)&lt;br /&gt;
&lt;br /&gt;
In the meantime development for the 2.6.33 has been going strong.  The&lt;br /&gt;
new event tracing code that allows to observe the inner workings of XFS&lt;br /&gt;
in production systems has finally been merged, with another patch to&lt;br /&gt;
reduce the size of the tracing code by using new upstream kernel features&lt;br /&gt;
posted for review.  Also a large patch series has been posted which&lt;br /&gt;
changes per-AG data to be looked up by a radix tree instead of the&lt;br /&gt;
existing array.  This works around possible deadlocks and user after&lt;br /&gt;
free issues during growfs, and prepares for removing a global (shared)&lt;br /&gt;
lock from the free space allocators.  In addition to that a wide range&lt;br /&gt;
of fixes has been posted and applied.&lt;br /&gt;
&lt;br /&gt;
Work on the userspace packages has been just as busy.  In mkfs.xfs the&lt;br /&gt;
lazy superblock counter feature has now been enabled by default for the&lt;br /&gt;
upcoming xfsprogs 3.1.0 release, which will require kernel 2.6.22 for&lt;br /&gt;
the default mkfs invocation.  Also for mkfs.xfs as patch was posted&lt;br /&gt;
to correct the automatic detection of 4 kilobyte sector drivers which&lt;br /&gt;
are expected to show up in large quantities the real work soon.  The&lt;br /&gt;
norepair mode in xfs_repair has been enhanced with additional freespace&lt;br /&gt;
btree correction checks from xfs_db and is now identical to xfs_check in&lt;br /&gt;
filesystem consistency checking coverage.  A temporary file permission&lt;br /&gt;
problems has been fixed in xfs_fsr, and the libhandle library has been&lt;br /&gt;
fixed to better deal with symbolic links.  In xfs_io a few commands&lt;br /&gt;
that were added years ago have finally been wired up to actually be&lt;br /&gt;
usable.  And last but not least xfsdump saw a fix to the time stamp&lt;br /&gt;
handling in the backup format and some usability and documentation&lt;br /&gt;
improvements to xfsinvutil.&lt;br /&gt;
&lt;br /&gt;
== XFS status update for November 2009 ==&lt;br /&gt;
&lt;br /&gt;
November was a relatively slow month for XFS development.  The XFS tree&lt;br /&gt;
that is destined for the Linux 2.6.33 merge window saw a few fixes and&lt;br /&gt;
cleanups applied to it, and few important fixes still made it into the&lt;br /&gt;
last Linux 2.6.32 release candidates.  A few more patches including a&lt;br /&gt;
final version of the event tracing support for XFS were posted but not&lt;br /&gt;
reviewed yet.&lt;br /&gt;
&lt;br /&gt;
On the userspace side there has been a fair amount of xfsprogs activity.&lt;br /&gt;
The repair speedup patches have finally been merged into the main development&lt;br /&gt;
branch and a couple of other fixes to the various utilities made it in, too.&lt;br /&gt;
The xfstests test suite saw another new regression test suite and a build&lt;br /&gt;
system fix up.&lt;br /&gt;
&lt;br /&gt;
== XFS status update for October 2009 ==&lt;br /&gt;
In October we saw the Linux 2.6.32 merge window with a major XFS update.&lt;br /&gt;
This update includes a refactoring of the inode allocator which also&lt;br /&gt;
allows for speedups for very large filesystems, major sync fixes, updates&lt;br /&gt;
to the fsync and O_SYNC handling which merge the two code paths into a single&lt;br /&gt;
and more efficient one, a workaround for the VFS time stamp behavior,&lt;br /&gt;
and of course various smaller fixes.  A couple of additional fixes have been&lt;br /&gt;
queued up for the next merge window.&lt;br /&gt;
&lt;br /&gt;
On the userspace side there has been a healthy activity on xfsprogs:  mkfs can&lt;br /&gt;
now discard unused sectors on SSDs and thinly provisioned storage devices and&lt;br /&gt;
use the more generic libblkid for topology information and filesystems detection&lt;br /&gt;
instead of the older libdisk, and the build system gained some updates to&lt;br /&gt;
make the source package generation simpler and shared for different package&lt;br /&gt;
types.  A patch has been out to the list but yet committed to add symbol&lt;br /&gt;
versioning to the libhandle library to make future ABI additions easier.&lt;br /&gt;
The xfstests package only saw some minor activity with a new test case&lt;br /&gt;
and small build system fixes.&lt;br /&gt;
&lt;br /&gt;
New minor releases of xfsprogs and xfsdump were tagged but not formally&lt;br /&gt;
released after additional discussion.  Instead a new major xfsprogs release&lt;br /&gt;
is planned for next month.&lt;br /&gt;
&lt;br /&gt;
== XFS status update for September 2009 ==&lt;br /&gt;
&lt;br /&gt;
In September the Linux 2.6.31 kernel was finally released, including another&lt;br /&gt;
last minute XFS fix for the swapext (defragmentation) compat ioctl handler.&lt;br /&gt;
The final patch from 2.6.30 to 2.6.31 shows the following impressive diffstat&lt;br /&gt;
for XFS:&lt;br /&gt;
&lt;br /&gt;
   55 files changed, 1476 insertions(+), 2269 deletions(-)&lt;br /&gt;
&lt;br /&gt;
The 2.6.32 merge window started with a large XFS merge that included changes&lt;br /&gt;
to the inode allocator, and a few smaller fixes.  New versions of the sync&lt;br /&gt;
and time stamp fixes as well as the event tracing support have been posted&lt;br /&gt;
in September but not yet merged into the XFS development tree and/or mainline.&lt;br /&gt;
&lt;br /&gt;
On the userspace side a large patch series to reduce the memory usage in&lt;br /&gt;
xfs_repair to acceptable levels was posted, but not yet merged.  A new xfs_df&lt;br /&gt;
shell script to measure use of the on disk space was posted but not yet&lt;br /&gt;
merged pending some minor review comments and a missing man page.  In addition&lt;br /&gt;
we saw the usual amount of smaller fixes and cleanups.&lt;br /&gt;
&lt;br /&gt;
Also this month Felix Blyakher resigned from his post as XFS maintainer and handed off to Alex Elder.&lt;br /&gt;
&lt;br /&gt;
== XFS status update for August 2009 ==&lt;br /&gt;
&lt;br /&gt;
In August the Linux 2.6.31 kernel has still been in the release candidate&lt;br /&gt;
stage, but a couple of important XFS fixes made it in time for the release,&lt;br /&gt;
including a fix for the inode cache races with NFS workloads that have&lt;br /&gt;
plagued us for a long time.&lt;br /&gt;
&lt;br /&gt;
The list saw various patches destined for the Linux 2.6.32 merge window,&lt;br /&gt;
including a merge of the fsync and O_SYNC handling code to address various&lt;br /&gt;
issues with the latter, a workaround for deficits in the timestamp handling&lt;br /&gt;
interface between the VFS and filesystems, a repost of the sync improvements&lt;br /&gt;
patch series and various smaller patches.&lt;br /&gt;
&lt;br /&gt;
August also saw the minor 3.0.3 release of xfsprogs which collects smaller&lt;br /&gt;
fixes to the various tools and most importantly a fix to allow xfsprogs to&lt;br /&gt;
work again on SPARC and other strict alignment handling which regressed a&lt;br /&gt;
few releases ago.  The xfstests repository saw a few new test cases and a&lt;br /&gt;
various small improvements.&lt;br /&gt;
&lt;br /&gt;
== XFS status update for July 2009 ==&lt;br /&gt;
&lt;br /&gt;
As a traditional summer vacation month July has not seen a lot of XFS&lt;br /&gt;
activity.  The mainline 2.6.31 kernel made it to the 5th release candidate&lt;br /&gt;
but besides a few kernel-wide patches touching XFS the only activity were&lt;br /&gt;
two small patches fixing a bug in FIEMAP and working around writeback&lt;br /&gt;
performance problems in the VM.&lt;br /&gt;
&lt;br /&gt;
A few more patches were posted to the list but haven&#039;t been merged yet.&lt;br /&gt;
Two big patch series deal with theoretically possible deadlocks due to&lt;br /&gt;
locks taken in reclaim contexts, which are now detected by lockdep.&lt;br /&gt;
&lt;br /&gt;
The pace on the userspace side has been slow.  There have been a couple&lt;br /&gt;
of fixes to xfs_repair and xfs_db, and xfstests grew a few more testcases.&lt;br /&gt;
&lt;br /&gt;
== XFS status update for June 2009 ==&lt;br /&gt;
&lt;br /&gt;
On June 9th we finally saw the release of Linux 2.6.30.  For XFS&lt;br /&gt;
this release mostly contains the improved ENOSPC handling, but also&lt;br /&gt;
various smaller bugfixes and lots of cleanups.  The code size of XFS&lt;br /&gt;
decreased again by 500 lines of code in this release.&lt;br /&gt;
&lt;br /&gt;
The Linux 2.6.31 merge opened in the mid of the month and some big XFS&lt;br /&gt;
changes have been pushed: A removal of the quotaops&lt;br /&gt;
infrastructure which simplifies the quota implementation, the switch&lt;br /&gt;
from XFS&#039;s own Posix ACL implementation to the generic one shared&lt;br /&gt;
by various other filesystems which also supports in-memory caching of&lt;br /&gt;
ACLs and another incremental refactoring of the sync code.&lt;br /&gt;
&lt;br /&gt;
A patch to better track dirty inodes and work around issues in the&lt;br /&gt;
way the VFS updates the access time stamp on inodes has been reposted&lt;br /&gt;
and discussed. Another patch to converting the existing XFS tracing&lt;br /&gt;
infrastructure to use the ftrace even tracer has been posted.&lt;br /&gt;
&lt;br /&gt;
On the userspace side there have been a few updates to xfsprogs, including&lt;br /&gt;
some repair fixes and a new fallocate command for xfs_io.  There were&lt;br /&gt;
major updates for xfstests:  The existing aio-dio-regress testsuite has&lt;br /&gt;
been merged into xfstests, and various changes went into the tree to make&lt;br /&gt;
xfstests better suitable for use with other filesystems.&lt;br /&gt;
&lt;br /&gt;
The attr and acl projects which have been traditionally been hosted&lt;br /&gt;
as part of the XFS userspace utilities have now been split into a separate&lt;br /&gt;
project maintained by Andreas Gruenbacher, who has been doing most of&lt;br /&gt;
the work on it, and moved to the Savannah hosting platform.&lt;br /&gt;
&lt;br /&gt;
== XFS status update for May 2009 ==&lt;br /&gt;
&lt;br /&gt;
In May Linux 2.6.30 was getting close to be released, and various&lt;br /&gt;
important XFS fixes made it during the latest release candidates.&lt;br /&gt;
In the meantime some big patch series to rework the sync code and&lt;br /&gt;
the inode allocator have been posted for the next merge window.&lt;br /&gt;
&lt;br /&gt;
On the userspace side xfsprogs and xfsdump 3.0.1 were finally released,&lt;br /&gt;
quickly followed by 3.0.2 releases with updated Debian packaging.&lt;br /&gt;
After that various small patches that were held back made it into xfsprogs.&lt;br /&gt;
A patch to add the xfs_reno tool which allows to move inodes around to&lt;br /&gt;
fit into 32 bit inode number space has been posted which is also one&lt;br /&gt;
central aspect of future online shrinking support.&lt;br /&gt;
&lt;br /&gt;
There has been major activity on xfstests including adding generic&lt;br /&gt;
filesystems support to allow running tests that aren&#039;t XFS-specific on&lt;br /&gt;
any Linux filesystems.&lt;br /&gt;
&lt;br /&gt;
== XFS status update for April 2009 ==&lt;br /&gt;
&lt;br /&gt;
In April development for Linux 2.6.30 was in full motion.  A patchset to correct flushing of delayed allocations with near full filesystems has been committed in early April, as well as various smaller fixes. A patch series to improve the behavior of sys_sync has been posted but is waiting for VFS changes queued for Linux 2.6.31.&lt;br /&gt;
&lt;br /&gt;
On the userspace side xfsprogs and xfsdump 3.0.1 have managed to split their release dates into May again after a lot of last-minute build system updates.&lt;br /&gt;
&lt;br /&gt;
== XFS status update for March 2009 ==&lt;br /&gt;
&lt;br /&gt;
Linux 2.6.29 has been released which includes major XFS updates like the&lt;br /&gt;
new generic btree code, a fully functional 32bit compat ioctl implementation&lt;br /&gt;
and the new combined XFS and Linux inode.  (See previous status reports&lt;br /&gt;
for more details). A patch series to improve correctness and performance&lt;br /&gt;
has been posted but not yet applied.  Various minor fixes and cleanups&lt;br /&gt;
have been sent to Linus for 2.6.30 which looks like it will be a minor&lt;br /&gt;
release for XFS after the big churn in 2.6.29.&lt;br /&gt;
&lt;br /&gt;
On userspace a lot of time has been spent on fixing and improving the&lt;br /&gt;
build system shared by the various XFS utilities as well as various smaller&lt;br /&gt;
improvements leading to the xfsprogs and xfsdump 3.0.1 releases which are&lt;br /&gt;
still outstanding.&lt;br /&gt;
&lt;br /&gt;
== XFS status update for February 2009 ==&lt;br /&gt;
&lt;br /&gt;
In February various smaller fixes have been sent to Linus for 2.6.29,&lt;br /&gt;
including a revert of the faster vmap APIs which don&#039;t seem to be quite&lt;br /&gt;
ready yet on the VM side.  At the same time various patches have been&lt;br /&gt;
queued up for 2.6.30, with another big batch pending.  There also has&lt;br /&gt;
been a repost of the CRC patch series, including support for a new,&lt;br /&gt;
larger inode core.&lt;br /&gt;
&lt;br /&gt;
SGI released various bits of work in progress from former employees&lt;br /&gt;
that will be extremely helpful for the future development of XFS,&lt;br /&gt;
thanks a lot to Mark Goodwin for making this happen.&lt;br /&gt;
&lt;br /&gt;
On the userspace side the long awaited 3.0.0 releases of xfsprogs and&lt;br /&gt;
xfsdump finally happened early in the month, accompanied by a 2.2.9&lt;br /&gt;
release of the dmapi userspace.  There have been some issues with packaging&lt;br /&gt;
so a new minor release might follow soon.&lt;br /&gt;
&lt;br /&gt;
The xfs_irecover tool has been relicensed so that it can be merged into&lt;br /&gt;
the GPLv2 codebase of xfsprogs, but the actual integration work hasn&#039;t&lt;br /&gt;
happened yet.&lt;br /&gt;
&lt;br /&gt;
Important bits of XFS documentation that have been available on the XFS&lt;br /&gt;
website in PDF form have been released in the document source form under&lt;br /&gt;
the Creative Commons license so that they can be updated as a community&lt;br /&gt;
effort, and checked into a public git tree.&lt;br /&gt;
&lt;br /&gt;
== XFS status update for January 2009 ==&lt;br /&gt;
&lt;br /&gt;
January has been an extremely busy month on the userspace front.  Many&lt;br /&gt;
smaller and medium updates went into xfsprogs, xfstests and to a lesser&lt;br /&gt;
extent xfsdump.  xfsprogs and xfsdump are ramping up for getting a 3.0.0&lt;br /&gt;
release out in early February which will include the first major re-sync&lt;br /&gt;
with the kernel code in libxfs, a cleanup of the exported library interfaces&lt;br /&gt;
and the move of two tools (xfs_fsr and xfs_estimate) from the xfsdump&lt;br /&gt;
package to xfsprogs.  After this the xfsprogs package will contain all&lt;br /&gt;
tools that use internal libxfs interfaces which fortunately equates to those&lt;br /&gt;
needed for normal administration.  The xfsdump package now only contains&lt;br /&gt;
the xfsdump/xfsrestore tools needed for backing up and restoring XFS&lt;br /&gt;
filesystems.  In addition it grew a fix to support dump/restore on systems&lt;br /&gt;
with a 64k page size.  A large number of acl/attr package patches was&lt;br /&gt;
posted to the list, but pending a possible split of these packages from the&lt;br /&gt;
XFS project these weren&#039;t processed yet.&lt;br /&gt;
&lt;br /&gt;
On the kernel side the big excitement in January was an in-memory corruption&lt;br /&gt;
introduced in the btree refactoring which hit people running 32bit platforms&lt;br /&gt;
without support for large block devices.  This issue was fixed and pushed&lt;br /&gt;
to the 2.6.29 development tree after a long collaborative debugging effort&lt;br /&gt;
at linux.conf.au.  Besides that about a dozen minor fixes were pushed to&lt;br /&gt;
2.6.29 and the first batch of misc patches for the 2.6.30 release cycle&lt;br /&gt;
was sent out.&lt;br /&gt;
&lt;br /&gt;
At the end of December the SGI group in Melbourne which the previous&lt;br /&gt;
XFS maintainer and some other developers worked for has been closed down&lt;br /&gt;
and they will be missed greatly.  As a result maintainership has been passed&lt;br /&gt;
on in a way that has been slightly controversial in the community, and the&lt;br /&gt;
first patchset of work in progress in Melbourne have been posted to the list&lt;br /&gt;
to be picked up by others.&lt;br /&gt;
&lt;br /&gt;
The xfs.org wiki has gotten a little facelift on it&#039;s front page making it&lt;br /&gt;
a lot easier to read.&lt;br /&gt;
&lt;br /&gt;
== XFS status update for December 2008 ==&lt;br /&gt;
&lt;br /&gt;
On Christmas Eve the 2.6.28 mainline kernel was release, with only minor XFS&lt;br /&gt;
bug fixes over 2.6.27.&lt;br /&gt;
&lt;br /&gt;
On the development side December has been busy but unspectacular month.&lt;br /&gt;
All lot of misc fixes and improvements have been sent out, tested and committed&lt;br /&gt;
especially on the user land side.&lt;br /&gt;
&lt;br /&gt;
== XFS status update for November 2008 ==&lt;br /&gt;
&lt;br /&gt;
The mainline kernel is now at 2.6.28-rc6 and includes a small number of&lt;br /&gt;
XFS fixes.  There have been no updates to the XFS development tree during&lt;br /&gt;
November.  Without new regressions that large number of changes that&lt;br /&gt;
missed 2.6.28 has thus stabilized to be ready for 2.6.29.  In the meantime&lt;br /&gt;
kernel-side development has been slow, with the only major patch set&lt;br /&gt;
being a wide number of fixes to the compatibility for 32 bit ioctls on&lt;br /&gt;
a 64 bit kernel.&lt;br /&gt;
&lt;br /&gt;
In the meantime there has been a large number of commits to the user space&lt;br /&gt;
tree, which mostly consist of smaller fixes.  xfsprogs is getting close&lt;br /&gt;
to have the 3.0.0 release which will be the first full resync with the&lt;br /&gt;
kernel sources since the year 2005.&lt;br /&gt;
&lt;br /&gt;
== XFS status update for October 2008 ==&lt;br /&gt;
&lt;br /&gt;
Linux 2.6.27 released with all the bits covered in last month&#039;s report.  It&lt;br /&gt;
did however miss two important fixes for regressions that a few people hit.&lt;br /&gt;
2.6.27.3 or later are recommended for use with XFS.&lt;br /&gt;
&lt;br /&gt;
In the meantime the generic btree implementation, the sync reorganization&lt;br /&gt;
and after a lot of merge pain the XFS and VFS inode unification hit the&lt;br /&gt;
development tree during the time allocated for the merge window.  No XFS&lt;br /&gt;
updates other than the two regression fixes also in 2.6.27.3 have made it&lt;br /&gt;
into mainline as of 2.6.28-rc3.&lt;br /&gt;
&lt;br /&gt;
The only new feature on the list in October is support for the fiemap&lt;br /&gt;
interface that has been added to the VFS during the 2.6.28 merge window.&lt;br /&gt;
However there was lot of patch traffic consisting of fixes and respun&lt;br /&gt;
versions of previously known patches.  There still is a large backlog of&lt;br /&gt;
patches on the list that is not applied to the development tree yet.&lt;br /&gt;
&lt;br /&gt;
== XFS status update for September 2008 ==&lt;br /&gt;
&lt;br /&gt;
With Linux 2.6.27 still not released but only making slow progress from 2.6.27-rc5 to 2.6.27-rc8 XFS changes in mainline have been minimal in September with only about half a dozen bug fixes patches.&lt;br /&gt;
&lt;br /&gt;
In the meantime the generic btree patch set has been committed to the development tree, but not many other updates yet. On the user space side xfsprogs 2.10.1 has been released on September 5th with a number of important bug fixes. Following the release of xfsprogs 2.10.1 open season for development of the user space code has started. The first full update of the shared kernel / user space code in libxfs since 2005 has been committed. In addition to that the number of headers installed for the regular devel package has been reduced to the required minimum and support for checking the source code for endianess errors using sparse has been added.&lt;br /&gt;
&lt;br /&gt;
The patch sets to unify the XFS and Linux inode structures, and rewrite various bits of the sync code have seen various iterations on the XFS list, but haven&#039;t been committed yet. A first set of patches implementing CRCs for various metadata structures has been posted to the list.&lt;br /&gt;
&lt;br /&gt;
== XFS status update for August 2008 ==&lt;br /&gt;
&lt;br /&gt;
With the 2.6.27-rc5 release the 2.6.27 cycle is nearing it&#039;s end. The major XFS feature in 2.6.27-rc5 is support for case-insensitive file names. At this point it is still limited to 7bit ASCII file names, with updates for utf8 file names expected to follow later. In addition to that 2.6.27-rc5 fixes a long-standing problem with non-EABI arm compiler which pack some XFS data structures wrongly. Besides this 2.6.27-rc5 also contains various cleanups, most notably the removal of the last bhv_vnode_t instances, and most uses of semaphores. As usual the diffstat for XFS from 2.6.26 to 2.6.26-rc5 is negative:&lt;br /&gt;
&lt;br /&gt;
       100 files changed, 3819 insertions(+), 4409 deletions(-)&lt;br /&gt;
&lt;br /&gt;
On the user space front a new minor xfsprogs version is about to be released containing various fixes including the user space part of arm packing fix.&lt;br /&gt;
&lt;br /&gt;
Work in progress on the XFS mailing list are a large patch set to unify the alloc, inobt and bmap btree implementation into a single that supports arbitrarily pluggable key and record formats. These btree changes are the first major preparation for adding CRC checks to all metadata structures in XFS, and an even larger patch set to unify the XFS and Linux inode structures, and perform all inode write back from the btree uses instead of an inode cache in XFS.&lt;br /&gt;
&lt;br /&gt;
== Updates before 2008 ==&lt;br /&gt;
&lt;br /&gt;
News up to 2007 can be found on a separate page: [[OLD_News]]&lt;/div&gt;</summary>
		<author><name>Hch</name></author>
	</entry>
	<entry>
		<id>https://xfs.org/index.php?title=XFS_Status_Updates&amp;diff=2382</id>
		<title>XFS Status Updates</title>
		<link rel="alternate" type="text/html" href="https://xfs.org/index.php?title=XFS_Status_Updates&amp;diff=2382"/>
		<updated>2011-12-12T14:48:43Z</updated>

		<summary type="html">&lt;p&gt;Hch: november update&lt;/p&gt;
&lt;hr /&gt;
&lt;div&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&#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 quite&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&#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&#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&#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&#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&#039;t been committed yet were discussed on the mailing list.&lt;br /&gt;
&lt;br /&gt;
== XFS status update for December 2010 ==&lt;br /&gt;
&lt;br /&gt;
The release process of the Linux 2.6.37 kernel with it&#039;s large XFS updates&lt;br /&gt;
was in it&#039;s final days in December, which explains why we only saw a single&lt;br /&gt;
one-liner regression fix for XFS in Linus&#039; tree.  The XFS development tree&lt;br /&gt;
finally saw some updates when the writeback updates and some small cleanups&lt;br /&gt;
to the allocator and log recovery code were merged, but the large metadata&lt;br /&gt;
scalability updates that have been posted to the list multiple times are&lt;br /&gt;
still missing.  In addition to this on-going work the list also saw patches&lt;br /&gt;
that fix smaller issues, which are also still waiting to be merged.&lt;br /&gt;
&lt;br /&gt;
On the userspace side xfsprogs and xfsdump development has been quit, with&lt;br /&gt;
no commits to either repository in December, although a large series of&lt;br /&gt;
updates to the metadump command has been reposted near the end of the month.&lt;br /&gt;
The xfstests repository saw a new regression test for a btrfs problem,&lt;br /&gt;
and various updates to existing tests.&lt;br /&gt;
&lt;br /&gt;
== XFS status update for November 2010 ==&lt;br /&gt;
&lt;br /&gt;
From looking at the kernel git commits November looked like a pretty&lt;br /&gt;
slow month with just two hand full fixes going into the release candidates&lt;br /&gt;
for Linux 2.6.37, and none at all going into the development tree.&lt;br /&gt;
But in this case git statistics didn&#039;t tell the whole story - there&lt;br /&gt;
was a lot of activity on patches for the next merge window on the list.&lt;br /&gt;
The focus in November was still at metadata scalability, with various&lt;br /&gt;
patchsets that improves parallel creates and unlinks again, and also&lt;br /&gt;
improves 8-way dbench throughput by 30%.  In addition to that there&lt;br /&gt;
were patches to improve preallocation for NFS servers, to simplify&lt;br /&gt;
the writeback code, and to remove the XFS-internal percpu counters&lt;br /&gt;
for free space for the generic kernel percpu counters, which just needed&lt;br /&gt;
a small improvement.&lt;br /&gt;
&lt;br /&gt;
On the user space side we saw the release of xfsprogs 3.1.4, which&lt;br /&gt;
contains various accumulated bug fixes and Debian packaging updates.&lt;br /&gt;
The xfsdump tree saw a large update to speed up restore by using&lt;br /&gt;
mmap for an internal database and remove the limitation of ~ 214&lt;br /&gt;
million directory entries per dump file.  The xfstests test suite&lt;br /&gt;
saw three new testcases and various fixes, including support for the&lt;br /&gt;
hfsplus filesystem.&lt;br /&gt;
&lt;br /&gt;
== XFS status update for October 2010 ==&lt;br /&gt;
&lt;br /&gt;
Near the end of the month we finally saw the release of Linux 2.6.36.&lt;br /&gt;
Just a single fix made it into mainline in this month, showing that the&lt;br /&gt;
stabilization period before has worked very well.&lt;br /&gt;
&lt;br /&gt;
Linux 2.6.36 has been another impressive release for XFS, seeing&lt;br /&gt;
various performance improvements in the new delayed logging code,&lt;br /&gt;
for direct I/O and the sync system call, a few bug fixes, and lots&lt;br /&gt;
of cleanups, resulting in a net removal of over 2000 lines of code:&lt;br /&gt;
&lt;br /&gt;
        89 files changed, 1998 insertions(+), 4279 deletions(-)&lt;br /&gt;
&lt;br /&gt;
The merge window for Linux 2.6.37 opened just a few days after the&lt;br /&gt;
release of Linux 2.6.36 and already contains another large XFS update&lt;br /&gt;
at the end of October.  Highlights of the XFS tree merged into 2.6.37-rc1&lt;br /&gt;
are another large set of metadata scalability patches, support for 32-bit&lt;br /&gt;
wide project IDs, and support for the new XFS_IOC_ZERO_RANGE ioctl,&lt;br /&gt;
which allows to punch a whole and convert it to an unwritten extent&lt;br /&gt;
in a single atomic operation.&lt;br /&gt;
&lt;br /&gt;
The metadata scalability changes improve 8-way fs_mark of 50 million files&lt;br /&gt;
by over 15% and removal of those files by over 100%, with further&lt;br /&gt;
improvements expected by the next round of XFS metadata scalability&lt;br /&gt;
and VFS scalability improvements targeted at Linux 2.6.38.&lt;br /&gt;
&lt;br /&gt;
On the user space side October was a rather quit month for xfsprogs, which&lt;br /&gt;
only saw the addition of 32-bit project ID handling, and a fix for&lt;br /&gt;
parsing the mount table in fsr when used together with disk encryption&lt;br /&gt;
tools.  A few patches for xfsdump were posted on the list, but none&lt;br /&gt;
was applied, leaving the majority of the user space activity to&lt;br /&gt;
xfstests, which saw very active development.  Various patches went&lt;br /&gt;
into xfstests to improve portability to filesystems with a limited&lt;br /&gt;
feature set, and to move more filters to generic code.  In addition&lt;br /&gt;
various cleanups to test cases in test programs were applied.&lt;br /&gt;
&lt;br /&gt;
== XFS status update for September 2010 ==&lt;br /&gt;
&lt;br /&gt;
Mainline activity has been rather low in September while with only&lt;br /&gt;
two more fixes going into the 2.6.36 release candidates after the&lt;br /&gt;
large merge activity in August.  Development for the next merge&lt;br /&gt;
window has been more active.  The largest item was the inclusion&lt;br /&gt;
of the metadata scalability patch series, which provides very large&lt;br /&gt;
speedups for parallel metadata operations.  In addition a new&lt;br /&gt;
ioctl to punch holes and convert the whole to an unwritten extent&lt;br /&gt;
was added and a small number of cleanups also made it into the tree.&lt;br /&gt;
&lt;br /&gt;
Patches to add support for 32bit wide project ID identifiers and&lt;br /&gt;
using group and project quotas concurrently were posted to the list&lt;br /&gt;
and discussed but not yet included.&lt;br /&gt;
&lt;br /&gt;
Userspace development has been rather quiet again, with a single fix&lt;br /&gt;
committed to xfsprogs and xfsdump each.  The xfstests test suite grew&lt;br /&gt;
a new test case and received a few additional fixes.  Last but not least&lt;br /&gt;
the [http://xfs.org/docs/xfsdocs-xml-dev/XFS_User_Guide//tmp/en-US/html/index.html XFS Users Guide]&lt;br /&gt;
was updated with various factual corrections and spelling fixes.&lt;br /&gt;
&lt;br /&gt;
== XFS status update for August 2010 ==&lt;br /&gt;
&lt;br /&gt;
At the first of August we finally saw the release of Linux 2.6.35,&lt;br /&gt;
which includes a large XFS update.  The most prominent feature in&lt;br /&gt;
Linux 2.6.35 is the new delayed logging code which provides massive&lt;br /&gt;
speedups for metadata-intensive workloads, but there has been&lt;br /&gt;
a large amount of other fixes and cleanups, leading to the following&lt;br /&gt;
diffstat:&lt;br /&gt;
&lt;br /&gt;
         67 files changed, 4426 insertions(+), 3835 deletions(-)&lt;br /&gt;
&lt;br /&gt;
Given the early release of Linux 2.6.35 the merge window for the&lt;br /&gt;
next release fully fell into the month of August.  The XFS updates&lt;br /&gt;
for Linux 2.6.36 include various additional performance improvements&lt;br /&gt;
in the delayed logging code, for direct I/O writes and for avoiding&lt;br /&gt;
synchronous transactions, as well as various fixed and large amount&lt;br /&gt;
of cleanups, including the removal of the remaining dead DMAPI&lt;br /&gt;
code.&lt;br /&gt;
&lt;br /&gt;
On the userspace side we saw the 3.1.3 release of xfsprogs, which includes&lt;br /&gt;
various smaller fixes, support for the new XFS_IOC_ZERO_RANGE ioctl and&lt;br /&gt;
Debian packaging updates.  The xfstests package saw one new test case&lt;br /&gt;
and a couple of smaller patches, and xfsdump has not seen any updates at&lt;br /&gt;
all.&lt;br /&gt;
&lt;br /&gt;
The XMLified versions of the XFS users guide, training labs and filesystem&lt;br /&gt;
structure documentation are now available as on the fly generated html on&lt;br /&gt;
the xfs.org website and can be found at [[XFS_Papers_and_Documentation|Papers &amp;amp; Documentation]].&lt;br /&gt;
&lt;br /&gt;
== XFS status update for July 2010 ==&lt;br /&gt;
&lt;br /&gt;
July saw three more release candidates for the Linux 2.6.35 kernel, which&lt;br /&gt;
included a relatively large number of XFS updates.  There were two security&lt;br /&gt;
fixes, a small one to prevent swapext to operate on write-only file&lt;br /&gt;
descriptors, and a much larger one to properly validate inode numbers&lt;br /&gt;
coming from NFS clients or userspace applications using the bulkstat or&lt;br /&gt;
the open-by-handle interfaces.  In addition to that another relatively&lt;br /&gt;
large patch fixes the way inodes get reclaimed in the background, and&lt;br /&gt;
avoids inode caches growing out of bounds.&lt;br /&gt;
&lt;br /&gt;
In the meantime the code for the Linux 2.6.36 got the last touches before&lt;br /&gt;
the expected opening of the merge window, by merging a few more last&lt;br /&gt;
minute fixes and cleanups.  The most notable one is a patch series&lt;br /&gt;
that fixes in-memory corruption when concurrently accessing unwritten&lt;br /&gt;
extents using the in-kernel AIO code.&lt;br /&gt;
&lt;br /&gt;
The userspace side was still quite slow, but some a bit more activity&lt;br /&gt;
than June.  In xfsprogs the xfs_db code grew two bug fixes, as did&lt;br /&gt;
the xfs_io script.  The xfstests package saw one new test cases and&lt;br /&gt;
various fixes to existing code.  Last but not least a few patches&lt;br /&gt;
affecting the build system for all userspace tools were committed.&lt;br /&gt;
&lt;br /&gt;
== XFS status update for June 2010 ==&lt;br /&gt;
&lt;br /&gt;
The month of June saw a few important bug fixes for the Linux 2.6.35&lt;br /&gt;
release candidates.  That includes ensuring that files used for the&lt;br /&gt;
swapext ioctl are writable to the user, and doing proper validation&lt;br /&gt;
of inodes coming from untrusted sources, such as NFS exporting and&lt;br /&gt;
the open by handle system calls.  The main work however has been&lt;br /&gt;
focused on development for the Linux 2.6.36 merge window, including&lt;br /&gt;
merging various patches that have been out on the mainline list&lt;br /&gt;
for a long time.  Highlights include further performance improvements&lt;br /&gt;
for sync heavy metadata workloads, stack space reduction in the&lt;br /&gt;
writeback path and improvements of the XFS tracing infrastructure.&lt;br /&gt;
Also after some discussion the remaining hooks for DMAPI are going&lt;br /&gt;
to be dropped in mainline.   As a replacement a tree containing&lt;br /&gt;
full DMAPI support with a slightly cleaner XFS interaction will be&lt;br /&gt;
hosted by SGI.&lt;br /&gt;
&lt;br /&gt;
On the userspace side June was a rather slow month, with no updates&lt;br /&gt;
to xfsprogs and xfsdump at all, and just one new test case and a cleanup&lt;br /&gt;
applied to xfstests.&lt;br /&gt;
&lt;br /&gt;
== XFS status update for May 2010 ==&lt;br /&gt;
&lt;br /&gt;
In May 2010 we saw the long awaited release of Linux 2.6.34, which includes&lt;br /&gt;
a large XFS update.  The most important features appearing in 2.6.34 was the&lt;br /&gt;
new inode and quota flushing code, which leads to much better I/O patterns&lt;br /&gt;
for metadata-intensive workloads.  Additionally support for synchronous NFS&lt;br /&gt;
exports has been improved to give much better performance, and performance&lt;br /&gt;
for the fsync, fdatasync and sync system calls has been improved slightly.&lt;br /&gt;
A bug when resizing extremely busy filesystems has been fixed, which required&lt;br /&gt;
extensive modification to the data structure used for looking up the&lt;br /&gt;
per-allocation group data.  Last but not least there was a steady flow of&lt;br /&gt;
minor bug fixes and cleanups, leading to the following diffstat from&lt;br /&gt;
2.6.33 to 2.6.34:&lt;br /&gt;
&lt;br /&gt;
  86 files changed, 3209 insertions(+), 3178 deletions(-)&lt;br /&gt;
&lt;br /&gt;
Meanwhile active development aimed at 2.6.35 merge progressed.  The&lt;br /&gt;
major feature for this window is the merge of the delayed logging code,&lt;br /&gt;
which adds a new logging mode that dramatically reduces the bandwidth&lt;br /&gt;
required for log I/O.  See the &lt;br /&gt;
[http://git.kernel.org/?p=linux/kernel/git/torvalds/linux-2.6.git;a=blob;f=Documentation/filesystems/xfs-delayed-logging-design.txt;h=96d0df28bed323d5596fc051b0ffb96ed8e3c8df;hb=HEAD documentation] for details.  Testers&lt;br /&gt;
for this new code are welcome.&lt;br /&gt;
&lt;br /&gt;
In userland xfsprogs saw the long awaited 3.1.2 release, which can be&lt;br /&gt;
considered a bug fix release for xfs_repair, xfs_fsr and mkfs.xfs.  After&lt;br /&gt;
the release a few more fixes were merged into the development tree.&lt;br /&gt;
The xfstests package saw various new tests, including many tests to&lt;br /&gt;
exercise the quota code, and a few fixes to existing tests.&lt;br /&gt;
&lt;br /&gt;
== XFS status update for April 2010 ==&lt;br /&gt;
&lt;br /&gt;
In April 2.6.34 still was in the release candidate phase, with&lt;br /&gt;
a hand full of XFS fixes making it into mainline.  Development for&lt;br /&gt;
the 2.6.35 merge window went ahead full steam at the same time.&lt;br /&gt;
&lt;br /&gt;
While a fair amount of patches hit the development tree these were&lt;br /&gt;
largely cleanups, with the real development activity happening on&lt;br /&gt;
the mailing list.  There was another round of patches and following&lt;br /&gt;
discussion on the scalable busy extent tracking and delayed logging&lt;br /&gt;
features mentioned last month.  They are expected to be merged in&lt;br /&gt;
May and queue up for the Linux 2.6.35 window.  Last but not least&lt;br /&gt;
April saw a large number of XFS fixes backported to the 2.6.32 and&lt;br /&gt;
2.6.33 -stable series.&lt;br /&gt;
&lt;br /&gt;
In user land xfsprogs has seen few but important updates, preparing&lt;br /&gt;
for a new release next month.  The xfs_repair tool saw a fix to&lt;br /&gt;
correctly enable the lazy superblock counters on an existing&lt;br /&gt;
filesystem, and xfs_fsr saw updates to better deal with dynamic&lt;br /&gt;
attribute forks.  Last but not a least a port to Debian GNU/kFreeBSD&lt;br /&gt;
got merged. The xfstests test suite saw two new test cases and various&lt;br /&gt;
smaller fixes.&lt;br /&gt;
&lt;br /&gt;
== XFS status update for March 2010 ==&lt;br /&gt;
&lt;br /&gt;
The merge window for Linux 2.6.34 closed in the first week of March,&lt;br /&gt;
with the important XFS features already landing in February.  Not&lt;br /&gt;
surprisingly the XFS merge activity in March has been rather slow,&lt;br /&gt;
with only about a dozen bug fixes patches making it towards Linus&#039;&lt;br /&gt;
tree in that time.&lt;br /&gt;
&lt;br /&gt;
On the other hand active development for the 2.6.35 merge window has&lt;br /&gt;
been very active.  Most importantly there was a lot of work on the&lt;br /&gt;
transaction and log subsystems.  Starting with a large patchset to&lt;br /&gt;
clean up and refactor the transaction subsystem and introducing more&lt;br /&gt;
flexible I/O containers in the low-level logging code work is&lt;br /&gt;
progressing to a new, more efficient logging implementation.  While&lt;br /&gt;
this preparatory work has already been merged in the development tree,&lt;br /&gt;
the actual delayed logging implementation still needs more work after&lt;br /&gt;
the initial public posting.  The delayed logging implementation which&lt;br /&gt;
is very briefly modeled after the journaling mode in the ext3/4&lt;br /&gt;
and reiserfs filesystems allows to accumulated multiple asynchronous&lt;br /&gt;
transactions in memory instead of possibly writing them out&lt;br /&gt;
many times.  Using the new delayed logging mechanism I/O bandwidth&lt;br /&gt;
used for the log decreases by orders of magnitude and performance&lt;br /&gt;
on metadata intensive workloads increases massively.&lt;br /&gt;
&lt;br /&gt;
In addition to that a new version of the discard (aka TRIM) support&lt;br /&gt;
has been posted, this time entirely contained in kernel space&lt;br /&gt;
and without the need of a userspace utility to drive it.  Last but&lt;br /&gt;
not least the usual steady stream of cleanups and bug fixes has not&lt;br /&gt;
ceased this month either.&lt;br /&gt;
&lt;br /&gt;
Besides the usual flow of fixes and new test cases in the xfstests&lt;br /&gt;
test suite development on the userspace side has been rather slow.&lt;br /&gt;
Xfsprogs has only seen a single fix for SMP locking in xfs_repair&lt;br /&gt;
and support for building on Debian GNU/kFreeBSD, and xfsdump&lt;br /&gt;
has seen no commit at all.&lt;br /&gt;
&lt;br /&gt;
== XFS status update for February 2010 ==&lt;br /&gt;
&lt;br /&gt;
February saw the release of the Linux 2.6.33 kernel, which includes&lt;br /&gt;
a large XFS update.  The biggest user-visible change in Linux 2.6.33&lt;br /&gt;
is that XFS now support the generic Linux trace event infrastructure,&lt;br /&gt;
which allows tracing lots of XFS behavior with a normal production&lt;br /&gt;
built kernel.  Except for this Linux 2.6.33 has been mostly a bug-fix&lt;br /&gt;
release, fixing various user reported bugs in previous releases.&lt;br /&gt;
The total diffstat for XFS in Linux 2.6.33 looks like:&lt;br /&gt;
&lt;br /&gt;
  84 files changed, 3023 insertions(+), 3550 deletions(-)&lt;br /&gt;
&lt;br /&gt;
In addition to that the merge window for Linux 2.6.34 opened and the&lt;br /&gt;
first merge of the XFS tree made it into Linus tree.  Unlike Linux&lt;br /&gt;
2.6.33 this merge window includes major feature work.  The most&lt;br /&gt;
important change for users is a new algorithm for inode and quota&lt;br /&gt;
writeback that leads to better I/O locality and improved metadata&lt;br /&gt;
performance.  The second big change is a rewrite of the per-allocation&lt;br /&gt;
group data lookup which fixes a long-standing problem in the code&lt;br /&gt;
to grow a life filesystem and will also ease future filesystem&lt;br /&gt;
shrinking support.  Not merged through the XFS tree, but of great&lt;br /&gt;
importance for embedded users is a new API that allows XFS to properly&lt;br /&gt;
flush cache lines on it&#039;s log and large directory buffers, making&lt;br /&gt;
XFS work properly on architectures with virtually indexed caches,&lt;br /&gt;
such as parisc and various arm and mips variants.  Last but not&lt;br /&gt;
least there is an above average amount of cleanups that went into&lt;br /&gt;
Linus tree in this cycle.&lt;br /&gt;
&lt;br /&gt;
There have been more patches on the mailing list that haven&#039;t made&lt;br /&gt;
it to Linus tree yet, including an optimized implementation of&lt;br /&gt;
fdatasync(2) and massive speedups for metadata workloads on&lt;br /&gt;
NFS exported XFS filesystems.&lt;br /&gt;
&lt;br /&gt;
On the userspace side February has been a relatively quiet month.&lt;br /&gt;
Lead by xfstests only a moderate amount of fixes made it into&lt;br /&gt;
the respective trees.&lt;br /&gt;
&lt;br /&gt;
== XFS status update for January 2010 ==&lt;br /&gt;
&lt;br /&gt;
January saw additional release candidates of the Linux 2.6.33 kernel,&lt;br /&gt;
including a couple of bug fixes for XFS.  In the meantime the XFS tree&lt;br /&gt;
has been growing a large number of patches destined for the Linux 2.6.34&lt;br /&gt;
merge window: a large rework of the handling of per-AG data, support for&lt;br /&gt;
the quota netlink interface, and better power saving behavior of the&lt;br /&gt;
XFS kernel threads, and of course various cleanups.&lt;br /&gt;
&lt;br /&gt;
A large patch series to replace the current asynchronous inode writeback&lt;br /&gt;
with a new scheme that uses the delayed write buffers was posted to&lt;br /&gt;
the list.  The new scheme, which allows archive better I/O locality by&lt;br /&gt;
dispatching meta-data I/O from a single place has been discussed&lt;br /&gt;
extensively and is expected to be merged in February.&lt;br /&gt;
&lt;br /&gt;
On the userspace side January saw the 3.1.0 and 3.1.1 releases of xfsprogs,&lt;br /&gt;
as well as the 3.0.4 release of xfsdump.  The biggest changes in xfsprogs&lt;br /&gt;
3.1.0 were optimizations in xfs_repair that lead to a much lower memory&lt;br /&gt;
usage, and optional use of the blkid library for filesystem detection&lt;br /&gt;
and retrieving storage topology information.  The 3.1.1 release contained&lt;br /&gt;
various important bug fixes for these changes and a various improvements to&lt;br /&gt;
the build system.  The major feature of xfsdump 3.0.4 were fixes for&lt;br /&gt;
time stamp handling on 64-bit systems.&lt;br /&gt;
&lt;br /&gt;
The xfstests package also lots of activity including various new testcases&lt;br /&gt;
and an improved build system.&lt;br /&gt;
&lt;br /&gt;
== XFS status update for December 2009 ==&lt;br /&gt;
&lt;br /&gt;
December finally saw the long awaited release of Linux 2.6.32, which for&lt;br /&gt;
XFS is mostly a bug fix release, with the major changes being various&lt;br /&gt;
improvement to the sync path, including working around the expectation&lt;br /&gt;
from the grub boot loader where metadata is supposed to be after a sync()&lt;br /&gt;
system call.  Together with a refactoring of the inode allocator this&lt;br /&gt;
gives a nice diffstat for this kernel release:&lt;br /&gt;
&lt;br /&gt;
 46 files changed, 767 insertions(+), 1048 deletions(-)&lt;br /&gt;
&lt;br /&gt;
In the meantime development for the 2.6.33 has been going strong.  The&lt;br /&gt;
new event tracing code that allows to observe the inner workings of XFS&lt;br /&gt;
in production systems has finally been merged, with another patch to&lt;br /&gt;
reduce the size of the tracing code by using new upstream kernel features&lt;br /&gt;
posted for review.  Also a large patch series has been posted which&lt;br /&gt;
changes per-AG data to be looked up by a radix tree instead of the&lt;br /&gt;
existing array.  This works around possible deadlocks and user after&lt;br /&gt;
free issues during growfs, and prepares for removing a global (shared)&lt;br /&gt;
lock from the free space allocators.  In addition to that a wide range&lt;br /&gt;
of fixes has been posted and applied.&lt;br /&gt;
&lt;br /&gt;
Work on the userspace packages has been just as busy.  In mkfs.xfs the&lt;br /&gt;
lazy superblock counter feature has now been enabled by default for the&lt;br /&gt;
upcoming xfsprogs 3.1.0 release, which will require kernel 2.6.22 for&lt;br /&gt;
the default mkfs invocation.  Also for mkfs.xfs as patch was posted&lt;br /&gt;
to correct the automatic detection of 4 kilobyte sector drivers which&lt;br /&gt;
are expected to show up in large quantities the real work soon.  The&lt;br /&gt;
norepair mode in xfs_repair has been enhanced with additional freespace&lt;br /&gt;
btree correction checks from xfs_db and is now identical to xfs_check in&lt;br /&gt;
filesystem consistency checking coverage.  A temporary file permission&lt;br /&gt;
problems has been fixed in xfs_fsr, and the libhandle library has been&lt;br /&gt;
fixed to better deal with symbolic links.  In xfs_io a few commands&lt;br /&gt;
that were added years ago have finally been wired up to actually be&lt;br /&gt;
usable.  And last but not least xfsdump saw a fix to the time stamp&lt;br /&gt;
handling in the backup format and some usability and documentation&lt;br /&gt;
improvements to xfsinvutil.&lt;br /&gt;
&lt;br /&gt;
== XFS status update for November 2009 ==&lt;br /&gt;
&lt;br /&gt;
November was a relatively slow month for XFS development.  The XFS tree&lt;br /&gt;
that is destined for the Linux 2.6.33 merge window saw a few fixes and&lt;br /&gt;
cleanups applied to it, and few important fixes still made it into the&lt;br /&gt;
last Linux 2.6.32 release candidates.  A few more patches including a&lt;br /&gt;
final version of the event tracing support for XFS were posted but not&lt;br /&gt;
reviewed yet.&lt;br /&gt;
&lt;br /&gt;
On the userspace side there has been a fair amount of xfsprogs activity.&lt;br /&gt;
The repair speedup patches have finally been merged into the main development&lt;br /&gt;
branch and a couple of other fixes to the various utilities made it in, too.&lt;br /&gt;
The xfstests test suite saw another new regression test suite and a build&lt;br /&gt;
system fix up.&lt;br /&gt;
&lt;br /&gt;
== XFS status update for October 2009 ==&lt;br /&gt;
In October we saw the Linux 2.6.32 merge window with a major XFS update.&lt;br /&gt;
This update includes a refactoring of the inode allocator which also&lt;br /&gt;
allows for speedups for very large filesystems, major sync fixes, updates&lt;br /&gt;
to the fsync and O_SYNC handling which merge the two code paths into a single&lt;br /&gt;
and more efficient one, a workaround for the VFS time stamp behavior,&lt;br /&gt;
and of course various smaller fixes.  A couple of additional fixes have been&lt;br /&gt;
queued up for the next merge window.&lt;br /&gt;
&lt;br /&gt;
On the userspace side there has been a healthy activity on xfsprogs:  mkfs can&lt;br /&gt;
now discard unused sectors on SSDs and thinly provisioned storage devices and&lt;br /&gt;
use the more generic libblkid for topology information and filesystems detection&lt;br /&gt;
instead of the older libdisk, and the build system gained some updates to&lt;br /&gt;
make the source package generation simpler and shared for different package&lt;br /&gt;
types.  A patch has been out to the list but yet committed to add symbol&lt;br /&gt;
versioning to the libhandle library to make future ABI additions easier.&lt;br /&gt;
The xfstests package only saw some minor activity with a new test case&lt;br /&gt;
and small build system fixes.&lt;br /&gt;
&lt;br /&gt;
New minor releases of xfsprogs and xfsdump were tagged but not formally&lt;br /&gt;
released after additional discussion.  Instead a new major xfsprogs release&lt;br /&gt;
is planned for next month.&lt;br /&gt;
&lt;br /&gt;
== XFS status update for September 2009 ==&lt;br /&gt;
&lt;br /&gt;
In September the Linux 2.6.31 kernel was finally released, including another&lt;br /&gt;
last minute XFS fix for the swapext (defragmentation) compat ioctl handler.&lt;br /&gt;
The final patch from 2.6.30 to 2.6.31 shows the following impressive diffstat&lt;br /&gt;
for XFS:&lt;br /&gt;
&lt;br /&gt;
   55 files changed, 1476 insertions(+), 2269 deletions(-)&lt;br /&gt;
&lt;br /&gt;
The 2.6.32 merge window started with a large XFS merge that included changes&lt;br /&gt;
to the inode allocator, and a few smaller fixes.  New versions of the sync&lt;br /&gt;
and time stamp fixes as well as the event tracing support have been posted&lt;br /&gt;
in September but not yet merged into the XFS development tree and/or mainline.&lt;br /&gt;
&lt;br /&gt;
On the userspace side a large patch series to reduce the memory usage in&lt;br /&gt;
xfs_repair to acceptable levels was posted, but not yet merged.  A new xfs_df&lt;br /&gt;
shell script to measure use of the on disk space was posted but not yet&lt;br /&gt;
merged pending some minor review comments and a missing man page.  In addition&lt;br /&gt;
we saw the usual amount of smaller fixes and cleanups.&lt;br /&gt;
&lt;br /&gt;
Also this month Felix Blyakher resigned from his post as XFS maintainer and handed off to Alex Elder.&lt;br /&gt;
&lt;br /&gt;
== XFS status update for August 2009 ==&lt;br /&gt;
&lt;br /&gt;
In August the Linux 2.6.31 kernel has still been in the release candidate&lt;br /&gt;
stage, but a couple of important XFS fixes made it in time for the release,&lt;br /&gt;
including a fix for the inode cache races with NFS workloads that have&lt;br /&gt;
plagued us for a long time.&lt;br /&gt;
&lt;br /&gt;
The list saw various patches destined for the Linux 2.6.32 merge window,&lt;br /&gt;
including a merge of the fsync and O_SYNC handling code to address various&lt;br /&gt;
issues with the latter, a workaround for deficits in the timestamp handling&lt;br /&gt;
interface between the VFS and filesystems, a repost of the sync improvements&lt;br /&gt;
patch series and various smaller patches.&lt;br /&gt;
&lt;br /&gt;
August also saw the minor 3.0.3 release of xfsprogs which collects smaller&lt;br /&gt;
fixes to the various tools and most importantly a fix to allow xfsprogs to&lt;br /&gt;
work again on SPARC and other strict alignment handling which regressed a&lt;br /&gt;
few releases ago.  The xfstests repository saw a few new test cases and a&lt;br /&gt;
various small improvements.&lt;br /&gt;
&lt;br /&gt;
== XFS status update for July 2009 ==&lt;br /&gt;
&lt;br /&gt;
As a traditional summer vacation month July has not seen a lot of XFS&lt;br /&gt;
activity.  The mainline 2.6.31 kernel made it to the 5th release candidate&lt;br /&gt;
but besides a few kernel-wide patches touching XFS the only activity were&lt;br /&gt;
two small patches fixing a bug in FIEMAP and working around writeback&lt;br /&gt;
performance problems in the VM.&lt;br /&gt;
&lt;br /&gt;
A few more patches were posted to the list but haven&#039;t been merged yet.&lt;br /&gt;
Two big patch series deal with theoretically possible deadlocks due to&lt;br /&gt;
locks taken in reclaim contexts, which are now detected by lockdep.&lt;br /&gt;
&lt;br /&gt;
The pace on the userspace side has been slow.  There have been a couple&lt;br /&gt;
of fixes to xfs_repair and xfs_db, and xfstests grew a few more testcases.&lt;br /&gt;
&lt;br /&gt;
== XFS status update for June 2009 ==&lt;br /&gt;
&lt;br /&gt;
On June 9th we finally saw the release of Linux 2.6.30.  For XFS&lt;br /&gt;
this release mostly contains the improved ENOSPC handling, but also&lt;br /&gt;
various smaller bugfixes and lots of cleanups.  The code size of XFS&lt;br /&gt;
decreased again by 500 lines of code in this release.&lt;br /&gt;
&lt;br /&gt;
The Linux 2.6.31 merge opened in the mid of the month and some big XFS&lt;br /&gt;
changes have been pushed: A removal of the quotaops&lt;br /&gt;
infrastructure which simplifies the quota implementation, the switch&lt;br /&gt;
from XFS&#039;s own Posix ACL implementation to the generic one shared&lt;br /&gt;
by various other filesystems which also supports in-memory caching of&lt;br /&gt;
ACLs and another incremental refactoring of the sync code.&lt;br /&gt;
&lt;br /&gt;
A patch to better track dirty inodes and work around issues in the&lt;br /&gt;
way the VFS updates the access time stamp on inodes has been reposted&lt;br /&gt;
and discussed. Another patch to converting the existing XFS tracing&lt;br /&gt;
infrastructure to use the ftrace even tracer has been posted.&lt;br /&gt;
&lt;br /&gt;
On the userspace side there have been a few updates to xfsprogs, including&lt;br /&gt;
some repair fixes and a new fallocate command for xfs_io.  There were&lt;br /&gt;
major updates for xfstests:  The existing aio-dio-regress testsuite has&lt;br /&gt;
been merged into xfstests, and various changes went into the tree to make&lt;br /&gt;
xfstests better suitable for use with other filesystems.&lt;br /&gt;
&lt;br /&gt;
The attr and acl projects which have been traditionally been hosted&lt;br /&gt;
as part of the XFS userspace utilities have now been split into a separate&lt;br /&gt;
project maintained by Andreas Gruenbacher, who has been doing most of&lt;br /&gt;
the work on it, and moved to the Savannah hosting platform.&lt;br /&gt;
&lt;br /&gt;
== XFS status update for May 2009 ==&lt;br /&gt;
&lt;br /&gt;
In May Linux 2.6.30 was getting close to be released, and various&lt;br /&gt;
important XFS fixes made it during the latest release candidates.&lt;br /&gt;
In the meantime some big patch series to rework the sync code and&lt;br /&gt;
the inode allocator have been posted for the next merge window.&lt;br /&gt;
&lt;br /&gt;
On the userspace side xfsprogs and xfsdump 3.0.1 were finally released,&lt;br /&gt;
quickly followed by 3.0.2 releases with updated Debian packaging.&lt;br /&gt;
After that various small patches that were held back made it into xfsprogs.&lt;br /&gt;
A patch to add the xfs_reno tool which allows to move inodes around to&lt;br /&gt;
fit into 32 bit inode number space has been posted which is also one&lt;br /&gt;
central aspect of future online shrinking support.&lt;br /&gt;
&lt;br /&gt;
There has been major activity on xfstests including adding generic&lt;br /&gt;
filesystems support to allow running tests that aren&#039;t XFS-specific on&lt;br /&gt;
any Linux filesystems.&lt;br /&gt;
&lt;br /&gt;
== XFS status update for April 2009 ==&lt;br /&gt;
&lt;br /&gt;
In April development for Linux 2.6.30 was in full motion.  A patchset to correct flushing of delayed allocations with near full filesystems has been committed in early April, as well as various smaller fixes. A patch series to improve the behavior of sys_sync has been posted but is waiting for VFS changes queued for Linux 2.6.31.&lt;br /&gt;
&lt;br /&gt;
On the userspace side xfsprogs and xfsdump 3.0.1 have managed to split their release dates into May again after a lot of last-minute build system updates.&lt;br /&gt;
&lt;br /&gt;
== XFS status update for March 2009 ==&lt;br /&gt;
&lt;br /&gt;
Linux 2.6.29 has been released which includes major XFS updates like the&lt;br /&gt;
new generic btree code, a fully functional 32bit compat ioctl implementation&lt;br /&gt;
and the new combined XFS and Linux inode.  (See previous status reports&lt;br /&gt;
for more details). A patch series to improve correctness and performance&lt;br /&gt;
has been posted but not yet applied.  Various minor fixes and cleanups&lt;br /&gt;
have been sent to Linus for 2.6.30 which looks like it will be a minor&lt;br /&gt;
release for XFS after the big churn in 2.6.29.&lt;br /&gt;
&lt;br /&gt;
On userspace a lot of time has been spent on fixing and improving the&lt;br /&gt;
build system shared by the various XFS utilities as well as various smaller&lt;br /&gt;
improvements leading to the xfsprogs and xfsdump 3.0.1 releases which are&lt;br /&gt;
still outstanding.&lt;br /&gt;
&lt;br /&gt;
== XFS status update for February 2009 ==&lt;br /&gt;
&lt;br /&gt;
In February various smaller fixes have been sent to Linus for 2.6.29,&lt;br /&gt;
including a revert of the faster vmap APIs which don&#039;t seem to be quite&lt;br /&gt;
ready yet on the VM side.  At the same time various patches have been&lt;br /&gt;
queued up for 2.6.30, with another big batch pending.  There also has&lt;br /&gt;
been a repost of the CRC patch series, including support for a new,&lt;br /&gt;
larger inode core.&lt;br /&gt;
&lt;br /&gt;
SGI released various bits of work in progress from former employees&lt;br /&gt;
that will be extremely helpful for the future development of XFS,&lt;br /&gt;
thanks a lot to Mark Goodwin for making this happen.&lt;br /&gt;
&lt;br /&gt;
On the userspace side the long awaited 3.0.0 releases of xfsprogs and&lt;br /&gt;
xfsdump finally happened early in the month, accompanied by a 2.2.9&lt;br /&gt;
release of the dmapi userspace.  There have been some issues with packaging&lt;br /&gt;
so a new minor release might follow soon.&lt;br /&gt;
&lt;br /&gt;
The xfs_irecover tool has been relicensed so that it can be merged into&lt;br /&gt;
the GPLv2 codebase of xfsprogs, but the actual integration work hasn&#039;t&lt;br /&gt;
happened yet.&lt;br /&gt;
&lt;br /&gt;
Important bits of XFS documentation that have been available on the XFS&lt;br /&gt;
website in PDF form have been released in the document source form under&lt;br /&gt;
the Creative Commons license so that they can be updated as a community&lt;br /&gt;
effort, and checked into a public git tree.&lt;br /&gt;
&lt;br /&gt;
== XFS status update for January 2009 ==&lt;br /&gt;
&lt;br /&gt;
January has been an extremely busy month on the userspace front.  Many&lt;br /&gt;
smaller and medium updates went into xfsprogs, xfstests and to a lesser&lt;br /&gt;
extent xfsdump.  xfsprogs and xfsdump are ramping up for getting a 3.0.0&lt;br /&gt;
release out in early February which will include the first major re-sync&lt;br /&gt;
with the kernel code in libxfs, a cleanup of the exported library interfaces&lt;br /&gt;
and the move of two tools (xfs_fsr and xfs_estimate) from the xfsdump&lt;br /&gt;
package to xfsprogs.  After this the xfsprogs package will contain all&lt;br /&gt;
tools that use internal libxfs interfaces which fortunately equates to those&lt;br /&gt;
needed for normal administration.  The xfsdump package now only contains&lt;br /&gt;
the xfsdump/xfsrestore tools needed for backing up and restoring XFS&lt;br /&gt;
filesystems.  In addition it grew a fix to support dump/restore on systems&lt;br /&gt;
with a 64k page size.  A large number of acl/attr package patches was&lt;br /&gt;
posted to the list, but pending a possible split of these packages from the&lt;br /&gt;
XFS project these weren&#039;t processed yet.&lt;br /&gt;
&lt;br /&gt;
On the kernel side the big excitement in January was an in-memory corruption&lt;br /&gt;
introduced in the btree refactoring which hit people running 32bit platforms&lt;br /&gt;
without support for large block devices.  This issue was fixed and pushed&lt;br /&gt;
to the 2.6.29 development tree after a long collaborative debugging effort&lt;br /&gt;
at linux.conf.au.  Besides that about a dozen minor fixes were pushed to&lt;br /&gt;
2.6.29 and the first batch of misc patches for the 2.6.30 release cycle&lt;br /&gt;
was sent out.&lt;br /&gt;
&lt;br /&gt;
At the end of December the SGI group in Melbourne which the previous&lt;br /&gt;
XFS maintainer and some other developers worked for has been closed down&lt;br /&gt;
and they will be missed greatly.  As a result maintainership has been passed&lt;br /&gt;
on in a way that has been slightly controversial in the community, and the&lt;br /&gt;
first patchset of work in progress in Melbourne have been posted to the list&lt;br /&gt;
to be picked up by others.&lt;br /&gt;
&lt;br /&gt;
The xfs.org wiki has gotten a little facelift on it&#039;s front page making it&lt;br /&gt;
a lot easier to read.&lt;br /&gt;
&lt;br /&gt;
== XFS status update for December 2008 ==&lt;br /&gt;
&lt;br /&gt;
On Christmas Eve the 2.6.28 mainline kernel was release, with only minor XFS&lt;br /&gt;
bug fixes over 2.6.27.&lt;br /&gt;
&lt;br /&gt;
On the development side December has been busy but unspectacular month.&lt;br /&gt;
All lot of misc fixes and improvements have been sent out, tested and committed&lt;br /&gt;
especially on the user land side.&lt;br /&gt;
&lt;br /&gt;
== XFS status update for November 2008 ==&lt;br /&gt;
&lt;br /&gt;
The mainline kernel is now at 2.6.28-rc6 and includes a small number of&lt;br /&gt;
XFS fixes.  There have been no updates to the XFS development tree during&lt;br /&gt;
November.  Without new regressions that large number of changes that&lt;br /&gt;
missed 2.6.28 has thus stabilized to be ready for 2.6.29.  In the meantime&lt;br /&gt;
kernel-side development has been slow, with the only major patch set&lt;br /&gt;
being a wide number of fixes to the compatibility for 32 bit ioctls on&lt;br /&gt;
a 64 bit kernel.&lt;br /&gt;
&lt;br /&gt;
In the meantime there has been a large number of commits to the user space&lt;br /&gt;
tree, which mostly consist of smaller fixes.  xfsprogs is getting close&lt;br /&gt;
to have the 3.0.0 release which will be the first full resync with the&lt;br /&gt;
kernel sources since the year 2005.&lt;br /&gt;
&lt;br /&gt;
== XFS status update for October 2008 ==&lt;br /&gt;
&lt;br /&gt;
Linux 2.6.27 released with all the bits covered in last month&#039;s report.  It&lt;br /&gt;
did however miss two important fixes for regressions that a few people hit.&lt;br /&gt;
2.6.27.3 or later are recommended for use with XFS.&lt;br /&gt;
&lt;br /&gt;
In the meantime the generic btree implementation, the sync reorganization&lt;br /&gt;
and after a lot of merge pain the XFS and VFS inode unification hit the&lt;br /&gt;
development tree during the time allocated for the merge window.  No XFS&lt;br /&gt;
updates other than the two regression fixes also in 2.6.27.3 have made it&lt;br /&gt;
into mainline as of 2.6.28-rc3.&lt;br /&gt;
&lt;br /&gt;
The only new feature on the list in October is support for the fiemap&lt;br /&gt;
interface that has been added to the VFS during the 2.6.28 merge window.&lt;br /&gt;
However there was lot of patch traffic consisting of fixes and respun&lt;br /&gt;
versions of previously known patches.  There still is a large backlog of&lt;br /&gt;
patches on the list that is not applied to the development tree yet.&lt;br /&gt;
&lt;br /&gt;
== XFS status update for September 2008 ==&lt;br /&gt;
&lt;br /&gt;
With Linux 2.6.27 still not released but only making slow progress from 2.6.27-rc5 to 2.6.27-rc8 XFS changes in mainline have been minimal in September with only about half a dozen bug fixes patches.&lt;br /&gt;
&lt;br /&gt;
In the meantime the generic btree patch set has been committed to the development tree, but not many other updates yet. On the user space side xfsprogs 2.10.1 has been released on September 5th with a number of important bug fixes. Following the release of xfsprogs 2.10.1 open season for development of the user space code has started. The first full update of the shared kernel / user space code in libxfs since 2005 has been committed. In addition to that the number of headers installed for the regular devel package has been reduced to the required minimum and support for checking the source code for endianess errors using sparse has been added.&lt;br /&gt;
&lt;br /&gt;
The patch sets to unify the XFS and Linux inode structures, and rewrite various bits of the sync code have seen various iterations on the XFS list, but haven&#039;t been committed yet. A first set of patches implementing CRCs for various metadata structures has been posted to the list.&lt;br /&gt;
&lt;br /&gt;
== XFS status update for August 2008 ==&lt;br /&gt;
&lt;br /&gt;
With the 2.6.27-rc5 release the 2.6.27 cycle is nearing it&#039;s end. The major XFS feature in 2.6.27-rc5 is support for case-insensitive file names. At this point it is still limited to 7bit ASCII file names, with updates for utf8 file names expected to follow later. In addition to that 2.6.27-rc5 fixes a long-standing problem with non-EABI arm compiler which pack some XFS data structures wrongly. Besides this 2.6.27-rc5 also contains various cleanups, most notably the removal of the last bhv_vnode_t instances, and most uses of semaphores. As usual the diffstat for XFS from 2.6.26 to 2.6.26-rc5 is negative:&lt;br /&gt;
&lt;br /&gt;
       100 files changed, 3819 insertions(+), 4409 deletions(-)&lt;br /&gt;
&lt;br /&gt;
On the user space front a new minor xfsprogs version is about to be released containing various fixes including the user space part of arm packing fix.&lt;br /&gt;
&lt;br /&gt;
Work in progress on the XFS mailing list are a large patch set to unify the alloc, inobt and bmap btree implementation into a single that supports arbitrarily pluggable key and record formats. These btree changes are the first major preparation for adding CRC checks to all metadata structures in XFS, and an even larger patch set to unify the XFS and Linux inode structures, and perform all inode write back from the btree uses instead of an inode cache in XFS.&lt;br /&gt;
&lt;br /&gt;
== Updates before 2008 ==&lt;br /&gt;
&lt;br /&gt;
News up to 2007 can be found on a separate page: [[OLD_News]]&lt;/div&gt;</summary>
		<author><name>Hch</name></author>
	</entry>
	<entry>
		<id>https://xfs.org/index.php?title=XFS_Status_Updates&amp;diff=2378</id>
		<title>XFS Status Updates</title>
		<link rel="alternate" type="text/html" href="https://xfs.org/index.php?title=XFS_Status_Updates&amp;diff=2378"/>
		<updated>2011-11-05T09:31:25Z</updated>

		<summary type="html">&lt;p&gt;Hch: October updates&lt;/p&gt;
&lt;hr /&gt;
&lt;div&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&#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 quite&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&#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&#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&#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&#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&#039;t been committed yet were discussed on the mailing list.&lt;br /&gt;
&lt;br /&gt;
== XFS status update for December 2010 ==&lt;br /&gt;
&lt;br /&gt;
The release process of the Linux 2.6.37 kernel with it&#039;s large XFS updates&lt;br /&gt;
was in it&#039;s final days in December, which explains why we only saw a single&lt;br /&gt;
one-liner regression fix for XFS in Linus&#039; tree.  The XFS development tree&lt;br /&gt;
finally saw some updates when the writeback updates and some small cleanups&lt;br /&gt;
to the allocator and log recovery code were merged, but the large metadata&lt;br /&gt;
scalability updates that have been posted to the list multiple times are&lt;br /&gt;
still missing.  In addition to this on-going work the list also saw patches&lt;br /&gt;
that fix smaller issues, which are also still waiting to be merged.&lt;br /&gt;
&lt;br /&gt;
On the userspace side xfsprogs and xfsdump development has been quit, with&lt;br /&gt;
no commits to either repository in December, although a large series of&lt;br /&gt;
updates to the metadump command has been reposted near the end of the month.&lt;br /&gt;
The xfstests repository saw a new regression test for a btrfs problem,&lt;br /&gt;
and various updates to existing tests.&lt;br /&gt;
&lt;br /&gt;
== XFS status update for November 2010 ==&lt;br /&gt;
&lt;br /&gt;
From looking at the kernel git commits November looked like a pretty&lt;br /&gt;
slow month with just two hand full fixes going into the release candidates&lt;br /&gt;
for Linux 2.6.37, and none at all going into the development tree.&lt;br /&gt;
But in this case git statistics didn&#039;t tell the whole story - there&lt;br /&gt;
was a lot of activity on patches for the next merge window on the list.&lt;br /&gt;
The focus in November was still at metadata scalability, with various&lt;br /&gt;
patchsets that improves parallel creates and unlinks again, and also&lt;br /&gt;
improves 8-way dbench throughput by 30%.  In addition to that there&lt;br /&gt;
were patches to improve preallocation for NFS servers, to simplify&lt;br /&gt;
the writeback code, and to remove the XFS-internal percpu counters&lt;br /&gt;
for free space for the generic kernel percpu counters, which just needed&lt;br /&gt;
a small improvement.&lt;br /&gt;
&lt;br /&gt;
On the user space side we saw the release of xfsprogs 3.1.4, which&lt;br /&gt;
contains various accumulated bug fixes and Debian packaging updates.&lt;br /&gt;
The xfsdump tree saw a large update to speed up restore by using&lt;br /&gt;
mmap for an internal database and remove the limitation of ~ 214&lt;br /&gt;
million directory entries per dump file.  The xfstests test suite&lt;br /&gt;
saw three new testcases and various fixes, including support for the&lt;br /&gt;
hfsplus filesystem.&lt;br /&gt;
&lt;br /&gt;
== XFS status update for October 2010 ==&lt;br /&gt;
&lt;br /&gt;
Near the end of the month we finally saw the release of Linux 2.6.36.&lt;br /&gt;
Just a single fix made it into mainline in this month, showing that the&lt;br /&gt;
stabilization period before has worked very well.&lt;br /&gt;
&lt;br /&gt;
Linux 2.6.36 has been another impressive release for XFS, seeing&lt;br /&gt;
various performance improvements in the new delayed logging code,&lt;br /&gt;
for direct I/O and the sync system call, a few bug fixes, and lots&lt;br /&gt;
of cleanups, resulting in a net removal of over 2000 lines of code:&lt;br /&gt;
&lt;br /&gt;
        89 files changed, 1998 insertions(+), 4279 deletions(-)&lt;br /&gt;
&lt;br /&gt;
The merge window for Linux 2.6.37 opened just a few days after the&lt;br /&gt;
release of Linux 2.6.36 and already contains another large XFS update&lt;br /&gt;
at the end of October.  Highlights of the XFS tree merged into 2.6.37-rc1&lt;br /&gt;
are another large set of metadata scalability patches, support for 32-bit&lt;br /&gt;
wide project IDs, and support for the new XFS_IOC_ZERO_RANGE ioctl,&lt;br /&gt;
which allows to punch a whole and convert it to an unwritten extent&lt;br /&gt;
in a single atomic operation.&lt;br /&gt;
&lt;br /&gt;
The metadata scalability changes improve 8-way fs_mark of 50 million files&lt;br /&gt;
by over 15% and removal of those files by over 100%, with further&lt;br /&gt;
improvements expected by the next round of XFS metadata scalability&lt;br /&gt;
and VFS scalability improvements targeted at Linux 2.6.38.&lt;br /&gt;
&lt;br /&gt;
On the user space side October was a rather quit month for xfsprogs, which&lt;br /&gt;
only saw the addition of 32-bit project ID handling, and a fix for&lt;br /&gt;
parsing the mount table in fsr when used together with disk encryption&lt;br /&gt;
tools.  A few patches for xfsdump were posted on the list, but none&lt;br /&gt;
was applied, leaving the majority of the user space activity to&lt;br /&gt;
xfstests, which saw very active development.  Various patches went&lt;br /&gt;
into xfstests to improve portability to filesystems with a limited&lt;br /&gt;
feature set, and to move more filters to generic code.  In addition&lt;br /&gt;
various cleanups to test cases in test programs were applied.&lt;br /&gt;
&lt;br /&gt;
== XFS status update for September 2010 ==&lt;br /&gt;
&lt;br /&gt;
Mainline activity has been rather low in September while with only&lt;br /&gt;
two more fixes going into the 2.6.36 release candidates after the&lt;br /&gt;
large merge activity in August.  Development for the next merge&lt;br /&gt;
window has been more active.  The largest item was the inclusion&lt;br /&gt;
of the metadata scalability patch series, which provides very large&lt;br /&gt;
speedups for parallel metadata operations.  In addition a new&lt;br /&gt;
ioctl to punch holes and convert the whole to an unwritten extent&lt;br /&gt;
was added and a small number of cleanups also made it into the tree.&lt;br /&gt;
&lt;br /&gt;
Patches to add support for 32bit wide project ID identifiers and&lt;br /&gt;
using group and project quotas concurrently were posted to the list&lt;br /&gt;
and discussed but not yet included.&lt;br /&gt;
&lt;br /&gt;
Userspace development has been rather quiet again, with a single fix&lt;br /&gt;
committed to xfsprogs and xfsdump each.  The xfstests test suite grew&lt;br /&gt;
a new test case and received a few additional fixes.  Last but not least&lt;br /&gt;
the [http://xfs.org/docs/xfsdocs-xml-dev/XFS_User_Guide//tmp/en-US/html/index.html XFS Users Guide]&lt;br /&gt;
was updated with various factual corrections and spelling fixes.&lt;br /&gt;
&lt;br /&gt;
== XFS status update for August 2010 ==&lt;br /&gt;
&lt;br /&gt;
At the first of August we finally saw the release of Linux 2.6.35,&lt;br /&gt;
which includes a large XFS update.  The most prominent feature in&lt;br /&gt;
Linux 2.6.35 is the new delayed logging code which provides massive&lt;br /&gt;
speedups for metadata-intensive workloads, but there has been&lt;br /&gt;
a large amount of other fixes and cleanups, leading to the following&lt;br /&gt;
diffstat:&lt;br /&gt;
&lt;br /&gt;
         67 files changed, 4426 insertions(+), 3835 deletions(-)&lt;br /&gt;
&lt;br /&gt;
Given the early release of Linux 2.6.35 the merge window for the&lt;br /&gt;
next release fully fell into the month of August.  The XFS updates&lt;br /&gt;
for Linux 2.6.36 include various additional performance improvements&lt;br /&gt;
in the delayed logging code, for direct I/O writes and for avoiding&lt;br /&gt;
synchronous transactions, as well as various fixed and large amount&lt;br /&gt;
of cleanups, including the removal of the remaining dead DMAPI&lt;br /&gt;
code.&lt;br /&gt;
&lt;br /&gt;
On the userspace side we saw the 3.1.3 release of xfsprogs, which includes&lt;br /&gt;
various smaller fixes, support for the new XFS_IOC_ZERO_RANGE ioctl and&lt;br /&gt;
Debian packaging updates.  The xfstests package saw one new test case&lt;br /&gt;
and a couple of smaller patches, and xfsdump has not seen any updates at&lt;br /&gt;
all.&lt;br /&gt;
&lt;br /&gt;
The XMLified versions of the XFS users guide, training labs and filesystem&lt;br /&gt;
structure documentation are now available as on the fly generated html on&lt;br /&gt;
the xfs.org website and can be found at [[XFS_Papers_and_Documentation|Papers &amp;amp; Documentation]].&lt;br /&gt;
&lt;br /&gt;
== XFS status update for July 2010 ==&lt;br /&gt;
&lt;br /&gt;
July saw three more release candidates for the Linux 2.6.35 kernel, which&lt;br /&gt;
included a relatively large number of XFS updates.  There were two security&lt;br /&gt;
fixes, a small one to prevent swapext to operate on write-only file&lt;br /&gt;
descriptors, and a much larger one to properly validate inode numbers&lt;br /&gt;
coming from NFS clients or userspace applications using the bulkstat or&lt;br /&gt;
the open-by-handle interfaces.  In addition to that another relatively&lt;br /&gt;
large patch fixes the way inodes get reclaimed in the background, and&lt;br /&gt;
avoids inode caches growing out of bounds.&lt;br /&gt;
&lt;br /&gt;
In the meantime the code for the Linux 2.6.36 got the last touches before&lt;br /&gt;
the expected opening of the merge window, by merging a few more last&lt;br /&gt;
minute fixes and cleanups.  The most notable one is a patch series&lt;br /&gt;
that fixes in-memory corruption when concurrently accessing unwritten&lt;br /&gt;
extents using the in-kernel AIO code.&lt;br /&gt;
&lt;br /&gt;
The userspace side was still quite slow, but some a bit more activity&lt;br /&gt;
than June.  In xfsprogs the xfs_db code grew two bug fixes, as did&lt;br /&gt;
the xfs_io script.  The xfstests package saw one new test cases and&lt;br /&gt;
various fixes to existing code.  Last but not least a few patches&lt;br /&gt;
affecting the build system for all userspace tools were committed.&lt;br /&gt;
&lt;br /&gt;
== XFS status update for June 2010 ==&lt;br /&gt;
&lt;br /&gt;
The month of June saw a few important bug fixes for the Linux 2.6.35&lt;br /&gt;
release candidates.  That includes ensuring that files used for the&lt;br /&gt;
swapext ioctl are writable to the user, and doing proper validation&lt;br /&gt;
of inodes coming from untrusted sources, such as NFS exporting and&lt;br /&gt;
the open by handle system calls.  The main work however has been&lt;br /&gt;
focused on development for the Linux 2.6.36 merge window, including&lt;br /&gt;
merging various patches that have been out on the mainline list&lt;br /&gt;
for a long time.  Highlights include further performance improvements&lt;br /&gt;
for sync heavy metadata workloads, stack space reduction in the&lt;br /&gt;
writeback path and improvements of the XFS tracing infrastructure.&lt;br /&gt;
Also after some discussion the remaining hooks for DMAPI are going&lt;br /&gt;
to be dropped in mainline.   As a replacement a tree containing&lt;br /&gt;
full DMAPI support with a slightly cleaner XFS interaction will be&lt;br /&gt;
hosted by SGI.&lt;br /&gt;
&lt;br /&gt;
On the userspace side June was a rather slow month, with no updates&lt;br /&gt;
to xfsprogs and xfsdump at all, and just one new test case and a cleanup&lt;br /&gt;
applied to xfstests.&lt;br /&gt;
&lt;br /&gt;
== XFS status update for May 2010 ==&lt;br /&gt;
&lt;br /&gt;
In May 2010 we saw the long awaited release of Linux 2.6.34, which includes&lt;br /&gt;
a large XFS update.  The most important features appearing in 2.6.34 was the&lt;br /&gt;
new inode and quota flushing code, which leads to much better I/O patterns&lt;br /&gt;
for metadata-intensive workloads.  Additionally support for synchronous NFS&lt;br /&gt;
exports has been improved to give much better performance, and performance&lt;br /&gt;
for the fsync, fdatasync and sync system calls has been improved slightly.&lt;br /&gt;
A bug when resizing extremely busy filesystems has been fixed, which required&lt;br /&gt;
extensive modification to the data structure used for looking up the&lt;br /&gt;
per-allocation group data.  Last but not least there was a steady flow of&lt;br /&gt;
minor bug fixes and cleanups, leading to the following diffstat from&lt;br /&gt;
2.6.33 to 2.6.34:&lt;br /&gt;
&lt;br /&gt;
  86 files changed, 3209 insertions(+), 3178 deletions(-)&lt;br /&gt;
&lt;br /&gt;
Meanwhile active development aimed at 2.6.35 merge progressed.  The&lt;br /&gt;
major feature for this window is the merge of the delayed logging code,&lt;br /&gt;
which adds a new logging mode that dramatically reduces the bandwidth&lt;br /&gt;
required for log I/O.  See the &lt;br /&gt;
[http://git.kernel.org/?p=linux/kernel/git/torvalds/linux-2.6.git;a=blob;f=Documentation/filesystems/xfs-delayed-logging-design.txt;h=96d0df28bed323d5596fc051b0ffb96ed8e3c8df;hb=HEAD documentation] for details.  Testers&lt;br /&gt;
for this new code are welcome.&lt;br /&gt;
&lt;br /&gt;
In userland xfsprogs saw the long awaited 3.1.2 release, which can be&lt;br /&gt;
considered a bug fix release for xfs_repair, xfs_fsr and mkfs.xfs.  After&lt;br /&gt;
the release a few more fixes were merged into the development tree.&lt;br /&gt;
The xfstests package saw various new tests, including many tests to&lt;br /&gt;
exercise the quota code, and a few fixes to existing tests.&lt;br /&gt;
&lt;br /&gt;
== XFS status update for April 2010 ==&lt;br /&gt;
&lt;br /&gt;
In April 2.6.34 still was in the release candidate phase, with&lt;br /&gt;
a hand full of XFS fixes making it into mainline.  Development for&lt;br /&gt;
the 2.6.35 merge window went ahead full steam at the same time.&lt;br /&gt;
&lt;br /&gt;
While a fair amount of patches hit the development tree these were&lt;br /&gt;
largely cleanups, with the real development activity happening on&lt;br /&gt;
the mailing list.  There was another round of patches and following&lt;br /&gt;
discussion on the scalable busy extent tracking and delayed logging&lt;br /&gt;
features mentioned last month.  They are expected to be merged in&lt;br /&gt;
May and queue up for the Linux 2.6.35 window.  Last but not least&lt;br /&gt;
April saw a large number of XFS fixes backported to the 2.6.32 and&lt;br /&gt;
2.6.33 -stable series.&lt;br /&gt;
&lt;br /&gt;
In user land xfsprogs has seen few but important updates, preparing&lt;br /&gt;
for a new release next month.  The xfs_repair tool saw a fix to&lt;br /&gt;
correctly enable the lazy superblock counters on an existing&lt;br /&gt;
filesystem, and xfs_fsr saw updates to better deal with dynamic&lt;br /&gt;
attribute forks.  Last but not a least a port to Debian GNU/kFreeBSD&lt;br /&gt;
got merged. The xfstests test suite saw two new test cases and various&lt;br /&gt;
smaller fixes.&lt;br /&gt;
&lt;br /&gt;
== XFS status update for March 2010 ==&lt;br /&gt;
&lt;br /&gt;
The merge window for Linux 2.6.34 closed in the first week of March,&lt;br /&gt;
with the important XFS features already landing in February.  Not&lt;br /&gt;
surprisingly the XFS merge activity in March has been rather slow,&lt;br /&gt;
with only about a dozen bug fixes patches making it towards Linus&#039;&lt;br /&gt;
tree in that time.&lt;br /&gt;
&lt;br /&gt;
On the other hand active development for the 2.6.35 merge window has&lt;br /&gt;
been very active.  Most importantly there was a lot of work on the&lt;br /&gt;
transaction and log subsystems.  Starting with a large patchset to&lt;br /&gt;
clean up and refactor the transaction subsystem and introducing more&lt;br /&gt;
flexible I/O containers in the low-level logging code work is&lt;br /&gt;
progressing to a new, more efficient logging implementation.  While&lt;br /&gt;
this preparatory work has already been merged in the development tree,&lt;br /&gt;
the actual delayed logging implementation still needs more work after&lt;br /&gt;
the initial public posting.  The delayed logging implementation which&lt;br /&gt;
is very briefly modeled after the journaling mode in the ext3/4&lt;br /&gt;
and reiserfs filesystems allows to accumulated multiple asynchronous&lt;br /&gt;
transactions in memory instead of possibly writing them out&lt;br /&gt;
many times.  Using the new delayed logging mechanism I/O bandwidth&lt;br /&gt;
used for the log decreases by orders of magnitude and performance&lt;br /&gt;
on metadata intensive workloads increases massively.&lt;br /&gt;
&lt;br /&gt;
In addition to that a new version of the discard (aka TRIM) support&lt;br /&gt;
has been posted, this time entirely contained in kernel space&lt;br /&gt;
and without the need of a userspace utility to drive it.  Last but&lt;br /&gt;
not least the usual steady stream of cleanups and bug fixes has not&lt;br /&gt;
ceased this month either.&lt;br /&gt;
&lt;br /&gt;
Besides the usual flow of fixes and new test cases in the xfstests&lt;br /&gt;
test suite development on the userspace side has been rather slow.&lt;br /&gt;
Xfsprogs has only seen a single fix for SMP locking in xfs_repair&lt;br /&gt;
and support for building on Debian GNU/kFreeBSD, and xfsdump&lt;br /&gt;
has seen no commit at all.&lt;br /&gt;
&lt;br /&gt;
== XFS status update for February 2010 ==&lt;br /&gt;
&lt;br /&gt;
February saw the release of the Linux 2.6.33 kernel, which includes&lt;br /&gt;
a large XFS update.  The biggest user-visible change in Linux 2.6.33&lt;br /&gt;
is that XFS now support the generic Linux trace event infrastructure,&lt;br /&gt;
which allows tracing lots of XFS behavior with a normal production&lt;br /&gt;
built kernel.  Except for this Linux 2.6.33 has been mostly a bug-fix&lt;br /&gt;
release, fixing various user reported bugs in previous releases.&lt;br /&gt;
The total diffstat for XFS in Linux 2.6.33 looks like:&lt;br /&gt;
&lt;br /&gt;
  84 files changed, 3023 insertions(+), 3550 deletions(-)&lt;br /&gt;
&lt;br /&gt;
In addition to that the merge window for Linux 2.6.34 opened and the&lt;br /&gt;
first merge of the XFS tree made it into Linus tree.  Unlike Linux&lt;br /&gt;
2.6.33 this merge window includes major feature work.  The most&lt;br /&gt;
important change for users is a new algorithm for inode and quota&lt;br /&gt;
writeback that leads to better I/O locality and improved metadata&lt;br /&gt;
performance.  The second big change is a rewrite of the per-allocation&lt;br /&gt;
group data lookup which fixes a long-standing problem in the code&lt;br /&gt;
to grow a life filesystem and will also ease future filesystem&lt;br /&gt;
shrinking support.  Not merged through the XFS tree, but of great&lt;br /&gt;
importance for embedded users is a new API that allows XFS to properly&lt;br /&gt;
flush cache lines on it&#039;s log and large directory buffers, making&lt;br /&gt;
XFS work properly on architectures with virtually indexed caches,&lt;br /&gt;
such as parisc and various arm and mips variants.  Last but not&lt;br /&gt;
least there is an above average amount of cleanups that went into&lt;br /&gt;
Linus tree in this cycle.&lt;br /&gt;
&lt;br /&gt;
There have been more patches on the mailing list that haven&#039;t made&lt;br /&gt;
it to Linus tree yet, including an optimized implementation of&lt;br /&gt;
fdatasync(2) and massive speedups for metadata workloads on&lt;br /&gt;
NFS exported XFS filesystems.&lt;br /&gt;
&lt;br /&gt;
On the userspace side February has been a relatively quiet month.&lt;br /&gt;
Lead by xfstests only a moderate amount of fixes made it into&lt;br /&gt;
the respective trees.&lt;br /&gt;
&lt;br /&gt;
== XFS status update for January 2010 ==&lt;br /&gt;
&lt;br /&gt;
January saw additional release candidates of the Linux 2.6.33 kernel,&lt;br /&gt;
including a couple of bug fixes for XFS.  In the meantime the XFS tree&lt;br /&gt;
has been growing a large number of patches destined for the Linux 2.6.34&lt;br /&gt;
merge window: a large rework of the handling of per-AG data, support for&lt;br /&gt;
the quota netlink interface, and better power saving behavior of the&lt;br /&gt;
XFS kernel threads, and of course various cleanups.&lt;br /&gt;
&lt;br /&gt;
A large patch series to replace the current asynchronous inode writeback&lt;br /&gt;
with a new scheme that uses the delayed write buffers was posted to&lt;br /&gt;
the list.  The new scheme, which allows archive better I/O locality by&lt;br /&gt;
dispatching meta-data I/O from a single place has been discussed&lt;br /&gt;
extensively and is expected to be merged in February.&lt;br /&gt;
&lt;br /&gt;
On the userspace side January saw the 3.1.0 and 3.1.1 releases of xfsprogs,&lt;br /&gt;
as well as the 3.0.4 release of xfsdump.  The biggest changes in xfsprogs&lt;br /&gt;
3.1.0 were optimizations in xfs_repair that lead to a much lower memory&lt;br /&gt;
usage, and optional use of the blkid library for filesystem detection&lt;br /&gt;
and retrieving storage topology information.  The 3.1.1 release contained&lt;br /&gt;
various important bug fixes for these changes and a various improvements to&lt;br /&gt;
the build system.  The major feature of xfsdump 3.0.4 were fixes for&lt;br /&gt;
time stamp handling on 64-bit systems.&lt;br /&gt;
&lt;br /&gt;
The xfstests package also lots of activity including various new testcases&lt;br /&gt;
and an improved build system.&lt;br /&gt;
&lt;br /&gt;
== XFS status update for December 2009 ==&lt;br /&gt;
&lt;br /&gt;
December finally saw the long awaited release of Linux 2.6.32, which for&lt;br /&gt;
XFS is mostly a bug fix release, with the major changes being various&lt;br /&gt;
improvement to the sync path, including working around the expectation&lt;br /&gt;
from the grub boot loader where metadata is supposed to be after a sync()&lt;br /&gt;
system call.  Together with a refactoring of the inode allocator this&lt;br /&gt;
gives a nice diffstat for this kernel release:&lt;br /&gt;
&lt;br /&gt;
 46 files changed, 767 insertions(+), 1048 deletions(-)&lt;br /&gt;
&lt;br /&gt;
In the meantime development for the 2.6.33 has been going strong.  The&lt;br /&gt;
new event tracing code that allows to observe the inner workings of XFS&lt;br /&gt;
in production systems has finally been merged, with another patch to&lt;br /&gt;
reduce the size of the tracing code by using new upstream kernel features&lt;br /&gt;
posted for review.  Also a large patch series has been posted which&lt;br /&gt;
changes per-AG data to be looked up by a radix tree instead of the&lt;br /&gt;
existing array.  This works around possible deadlocks and user after&lt;br /&gt;
free issues during growfs, and prepares for removing a global (shared)&lt;br /&gt;
lock from the free space allocators.  In addition to that a wide range&lt;br /&gt;
of fixes has been posted and applied.&lt;br /&gt;
&lt;br /&gt;
Work on the userspace packages has been just as busy.  In mkfs.xfs the&lt;br /&gt;
lazy superblock counter feature has now been enabled by default for the&lt;br /&gt;
upcoming xfsprogs 3.1.0 release, which will require kernel 2.6.22 for&lt;br /&gt;
the default mkfs invocation.  Also for mkfs.xfs as patch was posted&lt;br /&gt;
to correct the automatic detection of 4 kilobyte sector drivers which&lt;br /&gt;
are expected to show up in large quantities the real work soon.  The&lt;br /&gt;
norepair mode in xfs_repair has been enhanced with additional freespace&lt;br /&gt;
btree correction checks from xfs_db and is now identical to xfs_check in&lt;br /&gt;
filesystem consistency checking coverage.  A temporary file permission&lt;br /&gt;
problems has been fixed in xfs_fsr, and the libhandle library has been&lt;br /&gt;
fixed to better deal with symbolic links.  In xfs_io a few commands&lt;br /&gt;
that were added years ago have finally been wired up to actually be&lt;br /&gt;
usable.  And last but not least xfsdump saw a fix to the time stamp&lt;br /&gt;
handling in the backup format and some usability and documentation&lt;br /&gt;
improvements to xfsinvutil.&lt;br /&gt;
&lt;br /&gt;
== XFS status update for November 2009 ==&lt;br /&gt;
&lt;br /&gt;
November was a relatively slow month for XFS development.  The XFS tree&lt;br /&gt;
that is destined for the Linux 2.6.33 merge window saw a few fixes and&lt;br /&gt;
cleanups applied to it, and few important fixes still made it into the&lt;br /&gt;
last Linux 2.6.32 release candidates.  A few more patches including a&lt;br /&gt;
final version of the event tracing support for XFS were posted but not&lt;br /&gt;
reviewed yet.&lt;br /&gt;
&lt;br /&gt;
On the userspace side there has been a fair amount of xfsprogs activity.&lt;br /&gt;
The repair speedup patches have finally been merged into the main development&lt;br /&gt;
branch and a couple of other fixes to the various utilities made it in, too.&lt;br /&gt;
The xfstests test suite saw another new regression test suite and a build&lt;br /&gt;
system fix up.&lt;br /&gt;
&lt;br /&gt;
== XFS status update for October 2009 ==&lt;br /&gt;
In October we saw the Linux 2.6.32 merge window with a major XFS update.&lt;br /&gt;
This update includes a refactoring of the inode allocator which also&lt;br /&gt;
allows for speedups for very large filesystems, major sync fixes, updates&lt;br /&gt;
to the fsync and O_SYNC handling which merge the two code paths into a single&lt;br /&gt;
and more efficient one, a workaround for the VFS time stamp behavior,&lt;br /&gt;
and of course various smaller fixes.  A couple of additional fixes have been&lt;br /&gt;
queued up for the next merge window.&lt;br /&gt;
&lt;br /&gt;
On the userspace side there has been a healthy activity on xfsprogs:  mkfs can&lt;br /&gt;
now discard unused sectors on SSDs and thinly provisioned storage devices and&lt;br /&gt;
use the more generic libblkid for topology information and filesystems detection&lt;br /&gt;
instead of the older libdisk, and the build system gained some updates to&lt;br /&gt;
make the source package generation simpler and shared for different package&lt;br /&gt;
types.  A patch has been out to the list but yet committed to add symbol&lt;br /&gt;
versioning to the libhandle library to make future ABI additions easier.&lt;br /&gt;
The xfstests package only saw some minor activity with a new test case&lt;br /&gt;
and small build system fixes.&lt;br /&gt;
&lt;br /&gt;
New minor releases of xfsprogs and xfsdump were tagged but not formally&lt;br /&gt;
released after additional discussion.  Instead a new major xfsprogs release&lt;br /&gt;
is planned for next month.&lt;br /&gt;
&lt;br /&gt;
== XFS status update for September 2009 ==&lt;br /&gt;
&lt;br /&gt;
In September the Linux 2.6.31 kernel was finally released, including another&lt;br /&gt;
last minute XFS fix for the swapext (defragmentation) compat ioctl handler.&lt;br /&gt;
The final patch from 2.6.30 to 2.6.31 shows the following impressive diffstat&lt;br /&gt;
for XFS:&lt;br /&gt;
&lt;br /&gt;
   55 files changed, 1476 insertions(+), 2269 deletions(-)&lt;br /&gt;
&lt;br /&gt;
The 2.6.32 merge window started with a large XFS merge that included changes&lt;br /&gt;
to the inode allocator, and a few smaller fixes.  New versions of the sync&lt;br /&gt;
and time stamp fixes as well as the event tracing support have been posted&lt;br /&gt;
in September but not yet merged into the XFS development tree and/or mainline.&lt;br /&gt;
&lt;br /&gt;
On the userspace side a large patch series to reduce the memory usage in&lt;br /&gt;
xfs_repair to acceptable levels was posted, but not yet merged.  A new xfs_df&lt;br /&gt;
shell script to measure use of the on disk space was posted but not yet&lt;br /&gt;
merged pending some minor review comments and a missing man page.  In addition&lt;br /&gt;
we saw the usual amount of smaller fixes and cleanups.&lt;br /&gt;
&lt;br /&gt;
Also this month Felix Blyakher resigned from his post as XFS maintainer and handed off to Alex Elder.&lt;br /&gt;
&lt;br /&gt;
== XFS status update for August 2009 ==&lt;br /&gt;
&lt;br /&gt;
In August the Linux 2.6.31 kernel has still been in the release candidate&lt;br /&gt;
stage, but a couple of important XFS fixes made it in time for the release,&lt;br /&gt;
including a fix for the inode cache races with NFS workloads that have&lt;br /&gt;
plagued us for a long time.&lt;br /&gt;
&lt;br /&gt;
The list saw various patches destined for the Linux 2.6.32 merge window,&lt;br /&gt;
including a merge of the fsync and O_SYNC handling code to address various&lt;br /&gt;
issues with the latter, a workaround for deficits in the timestamp handling&lt;br /&gt;
interface between the VFS and filesystems, a repost of the sync improvements&lt;br /&gt;
patch series and various smaller patches.&lt;br /&gt;
&lt;br /&gt;
August also saw the minor 3.0.3 release of xfsprogs which collects smaller&lt;br /&gt;
fixes to the various tools and most importantly a fix to allow xfsprogs to&lt;br /&gt;
work again on SPARC and other strict alignment handling which regressed a&lt;br /&gt;
few releases ago.  The xfstests repository saw a few new test cases and a&lt;br /&gt;
various small improvements.&lt;br /&gt;
&lt;br /&gt;
== XFS status update for July 2009 ==&lt;br /&gt;
&lt;br /&gt;
As a traditional summer vacation month July has not seen a lot of XFS&lt;br /&gt;
activity.  The mainline 2.6.31 kernel made it to the 5th release candidate&lt;br /&gt;
but besides a few kernel-wide patches touching XFS the only activity were&lt;br /&gt;
two small patches fixing a bug in FIEMAP and working around writeback&lt;br /&gt;
performance problems in the VM.&lt;br /&gt;
&lt;br /&gt;
A few more patches were posted to the list but haven&#039;t been merged yet.&lt;br /&gt;
Two big patch series deal with theoretically possible deadlocks due to&lt;br /&gt;
locks taken in reclaim contexts, which are now detected by lockdep.&lt;br /&gt;
&lt;br /&gt;
The pace on the userspace side has been slow.  There have been a couple&lt;br /&gt;
of fixes to xfs_repair and xfs_db, and xfstests grew a few more testcases.&lt;br /&gt;
&lt;br /&gt;
== XFS status update for June 2009 ==&lt;br /&gt;
&lt;br /&gt;
On June 9th we finally saw the release of Linux 2.6.30.  For XFS&lt;br /&gt;
this release mostly contains the improved ENOSPC handling, but also&lt;br /&gt;
various smaller bugfixes and lots of cleanups.  The code size of XFS&lt;br /&gt;
decreased again by 500 lines of code in this release.&lt;br /&gt;
&lt;br /&gt;
The Linux 2.6.31 merge opened in the mid of the month and some big XFS&lt;br /&gt;
changes have been pushed: A removal of the quotaops&lt;br /&gt;
infrastructure which simplifies the quota implementation, the switch&lt;br /&gt;
from XFS&#039;s own Posix ACL implementation to the generic one shared&lt;br /&gt;
by various other filesystems which also supports in-memory caching of&lt;br /&gt;
ACLs and another incremental refactoring of the sync code.&lt;br /&gt;
&lt;br /&gt;
A patch to better track dirty inodes and work around issues in the&lt;br /&gt;
way the VFS updates the access time stamp on inodes has been reposted&lt;br /&gt;
and discussed. Another patch to converting the existing XFS tracing&lt;br /&gt;
infrastructure to use the ftrace even tracer has been posted.&lt;br /&gt;
&lt;br /&gt;
On the userspace side there have been a few updates to xfsprogs, including&lt;br /&gt;
some repair fixes and a new fallocate command for xfs_io.  There were&lt;br /&gt;
major updates for xfstests:  The existing aio-dio-regress testsuite has&lt;br /&gt;
been merged into xfstests, and various changes went into the tree to make&lt;br /&gt;
xfstests better suitable for use with other filesystems.&lt;br /&gt;
&lt;br /&gt;
The attr and acl projects which have been traditionally been hosted&lt;br /&gt;
as part of the XFS userspace utilities have now been split into a separate&lt;br /&gt;
project maintained by Andreas Gruenbacher, who has been doing most of&lt;br /&gt;
the work on it, and moved to the Savannah hosting platform.&lt;br /&gt;
&lt;br /&gt;
== XFS status update for May 2009 ==&lt;br /&gt;
&lt;br /&gt;
In May Linux 2.6.30 was getting close to be released, and various&lt;br /&gt;
important XFS fixes made it during the latest release candidates.&lt;br /&gt;
In the meantime some big patch series to rework the sync code and&lt;br /&gt;
the inode allocator have been posted for the next merge window.&lt;br /&gt;
&lt;br /&gt;
On the userspace side xfsprogs and xfsdump 3.0.1 were finally released,&lt;br /&gt;
quickly followed by 3.0.2 releases with updated Debian packaging.&lt;br /&gt;
After that various small patches that were held back made it into xfsprogs.&lt;br /&gt;
A patch to add the xfs_reno tool which allows to move inodes around to&lt;br /&gt;
fit into 32 bit inode number space has been posted which is also one&lt;br /&gt;
central aspect of future online shrinking support.&lt;br /&gt;
&lt;br /&gt;
There has been major activity on xfstests including adding generic&lt;br /&gt;
filesystems support to allow running tests that aren&#039;t XFS-specific on&lt;br /&gt;
any Linux filesystems.&lt;br /&gt;
&lt;br /&gt;
== XFS status update for April 2009 ==&lt;br /&gt;
&lt;br /&gt;
In April development for Linux 2.6.30 was in full motion.  A patchset to correct flushing of delayed allocations with near full filesystems has been committed in early April, as well as various smaller fixes. A patch series to improve the behavior of sys_sync has been posted but is waiting for VFS changes queued for Linux 2.6.31.&lt;br /&gt;
&lt;br /&gt;
On the userspace side xfsprogs and xfsdump 3.0.1 have managed to split their release dates into May again after a lot of last-minute build system updates.&lt;br /&gt;
&lt;br /&gt;
== XFS status update for March 2009 ==&lt;br /&gt;
&lt;br /&gt;
Linux 2.6.29 has been released which includes major XFS updates like the&lt;br /&gt;
new generic btree code, a fully functional 32bit compat ioctl implementation&lt;br /&gt;
and the new combined XFS and Linux inode.  (See previous status reports&lt;br /&gt;
for more details). A patch series to improve correctness and performance&lt;br /&gt;
has been posted but not yet applied.  Various minor fixes and cleanups&lt;br /&gt;
have been sent to Linus for 2.6.30 which looks like it will be a minor&lt;br /&gt;
release for XFS after the big churn in 2.6.29.&lt;br /&gt;
&lt;br /&gt;
On userspace a lot of time has been spent on fixing and improving the&lt;br /&gt;
build system shared by the various XFS utilities as well as various smaller&lt;br /&gt;
improvements leading to the xfsprogs and xfsdump 3.0.1 releases which are&lt;br /&gt;
still outstanding.&lt;br /&gt;
&lt;br /&gt;
== XFS status update for February 2009 ==&lt;br /&gt;
&lt;br /&gt;
In February various smaller fixes have been sent to Linus for 2.6.29,&lt;br /&gt;
including a revert of the faster vmap APIs which don&#039;t seem to be quite&lt;br /&gt;
ready yet on the VM side.  At the same time various patches have been&lt;br /&gt;
queued up for 2.6.30, with another big batch pending.  There also has&lt;br /&gt;
been a repost of the CRC patch series, including support for a new,&lt;br /&gt;
larger inode core.&lt;br /&gt;
&lt;br /&gt;
SGI released various bits of work in progress from former employees&lt;br /&gt;
that will be extremely helpful for the future development of XFS,&lt;br /&gt;
thanks a lot to Mark Goodwin for making this happen.&lt;br /&gt;
&lt;br /&gt;
On the userspace side the long awaited 3.0.0 releases of xfsprogs and&lt;br /&gt;
xfsdump finally happened early in the month, accompanied by a 2.2.9&lt;br /&gt;
release of the dmapi userspace.  There have been some issues with packaging&lt;br /&gt;
so a new minor release might follow soon.&lt;br /&gt;
&lt;br /&gt;
The xfs_irecover tool has been relicensed so that it can be merged into&lt;br /&gt;
the GPLv2 codebase of xfsprogs, but the actual integration work hasn&#039;t&lt;br /&gt;
happened yet.&lt;br /&gt;
&lt;br /&gt;
Important bits of XFS documentation that have been available on the XFS&lt;br /&gt;
website in PDF form have been released in the document source form under&lt;br /&gt;
the Creative Commons license so that they can be updated as a community&lt;br /&gt;
effort, and checked into a public git tree.&lt;br /&gt;
&lt;br /&gt;
== XFS status update for January 2009 ==&lt;br /&gt;
&lt;br /&gt;
January has been an extremely busy month on the userspace front.  Many&lt;br /&gt;
smaller and medium updates went into xfsprogs, xfstests and to a lesser&lt;br /&gt;
extent xfsdump.  xfsprogs and xfsdump are ramping up for getting a 3.0.0&lt;br /&gt;
release out in early February which will include the first major re-sync&lt;br /&gt;
with the kernel code in libxfs, a cleanup of the exported library interfaces&lt;br /&gt;
and the move of two tools (xfs_fsr and xfs_estimate) from the xfsdump&lt;br /&gt;
package to xfsprogs.  After this the xfsprogs package will contain all&lt;br /&gt;
tools that use internal libxfs interfaces which fortunately equates to those&lt;br /&gt;
needed for normal administration.  The xfsdump package now only contains&lt;br /&gt;
the xfsdump/xfsrestore tools needed for backing up and restoring XFS&lt;br /&gt;
filesystems.  In addition it grew a fix to support dump/restore on systems&lt;br /&gt;
with a 64k page size.  A large number of acl/attr package patches was&lt;br /&gt;
posted to the list, but pending a possible split of these packages from the&lt;br /&gt;
XFS project these weren&#039;t processed yet.&lt;br /&gt;
&lt;br /&gt;
On the kernel side the big excitement in January was an in-memory corruption&lt;br /&gt;
introduced in the btree refactoring which hit people running 32bit platforms&lt;br /&gt;
without support for large block devices.  This issue was fixed and pushed&lt;br /&gt;
to the 2.6.29 development tree after a long collaborative debugging effort&lt;br /&gt;
at linux.conf.au.  Besides that about a dozen minor fixes were pushed to&lt;br /&gt;
2.6.29 and the first batch of misc patches for the 2.6.30 release cycle&lt;br /&gt;
was sent out.&lt;br /&gt;
&lt;br /&gt;
At the end of December the SGI group in Melbourne which the previous&lt;br /&gt;
XFS maintainer and some other developers worked for has been closed down&lt;br /&gt;
and they will be missed greatly.  As a result maintainership has been passed&lt;br /&gt;
on in a way that has been slightly controversial in the community, and the&lt;br /&gt;
first patchset of work in progress in Melbourne have been posted to the list&lt;br /&gt;
to be picked up by others.&lt;br /&gt;
&lt;br /&gt;
The xfs.org wiki has gotten a little facelift on it&#039;s front page making it&lt;br /&gt;
a lot easier to read.&lt;br /&gt;
&lt;br /&gt;
== XFS status update for December 2008 ==&lt;br /&gt;
&lt;br /&gt;
On Christmas Eve the 2.6.28 mainline kernel was release, with only minor XFS&lt;br /&gt;
bug fixes over 2.6.27.&lt;br /&gt;
&lt;br /&gt;
On the development side December has been busy but unspectacular month.&lt;br /&gt;
All lot of misc fixes and improvements have been sent out, tested and committed&lt;br /&gt;
especially on the user land side.&lt;br /&gt;
&lt;br /&gt;
== XFS status update for November 2008 ==&lt;br /&gt;
&lt;br /&gt;
The mainline kernel is now at 2.6.28-rc6 and includes a small number of&lt;br /&gt;
XFS fixes.  There have been no updates to the XFS development tree during&lt;br /&gt;
November.  Without new regressions that large number of changes that&lt;br /&gt;
missed 2.6.28 has thus stabilized to be ready for 2.6.29.  In the meantime&lt;br /&gt;
kernel-side development has been slow, with the only major patch set&lt;br /&gt;
being a wide number of fixes to the compatibility for 32 bit ioctls on&lt;br /&gt;
a 64 bit kernel.&lt;br /&gt;
&lt;br /&gt;
In the meantime there has been a large number of commits to the user space&lt;br /&gt;
tree, which mostly consist of smaller fixes.  xfsprogs is getting close&lt;br /&gt;
to have the 3.0.0 release which will be the first full resync with the&lt;br /&gt;
kernel sources since the year 2005.&lt;br /&gt;
&lt;br /&gt;
== XFS status update for October 2008 ==&lt;br /&gt;
&lt;br /&gt;
Linux 2.6.27 released with all the bits covered in last month&#039;s report.  It&lt;br /&gt;
did however miss two important fixes for regressions that a few people hit.&lt;br /&gt;
2.6.27.3 or later are recommended for use with XFS.&lt;br /&gt;
&lt;br /&gt;
In the meantime the generic btree implementation, the sync reorganization&lt;br /&gt;
and after a lot of merge pain the XFS and VFS inode unification hit the&lt;br /&gt;
development tree during the time allocated for the merge window.  No XFS&lt;br /&gt;
updates other than the two regression fixes also in 2.6.27.3 have made it&lt;br /&gt;
into mainline as of 2.6.28-rc3.&lt;br /&gt;
&lt;br /&gt;
The only new feature on the list in October is support for the fiemap&lt;br /&gt;
interface that has been added to the VFS during the 2.6.28 merge window.&lt;br /&gt;
However there was lot of patch traffic consisting of fixes and respun&lt;br /&gt;
versions of previously known patches.  There still is a large backlog of&lt;br /&gt;
patches on the list that is not applied to the development tree yet.&lt;br /&gt;
&lt;br /&gt;
== XFS status update for September 2008 ==&lt;br /&gt;
&lt;br /&gt;
With Linux 2.6.27 still not released but only making slow progress from 2.6.27-rc5 to 2.6.27-rc8 XFS changes in mainline have been minimal in September with only about half a dozen bug fixes patches.&lt;br /&gt;
&lt;br /&gt;
In the meantime the generic btree patch set has been committed to the development tree, but not many other updates yet. On the user space side xfsprogs 2.10.1 has been released on September 5th with a number of important bug fixes. Following the release of xfsprogs 2.10.1 open season for development of the user space code has started. The first full update of the shared kernel / user space code in libxfs since 2005 has been committed. In addition to that the number of headers installed for the regular devel package has been reduced to the required minimum and support for checking the source code for endianess errors using sparse has been added.&lt;br /&gt;
&lt;br /&gt;
The patch sets to unify the XFS and Linux inode structures, and rewrite various bits of the sync code have seen various iterations on the XFS list, but haven&#039;t been committed yet. A first set of patches implementing CRCs for various metadata structures has been posted to the list.&lt;br /&gt;
&lt;br /&gt;
== XFS status update for August 2008 ==&lt;br /&gt;
&lt;br /&gt;
With the 2.6.27-rc5 release the 2.6.27 cycle is nearing it&#039;s end. The major XFS feature in 2.6.27-rc5 is support for case-insensitive file names. At this point it is still limited to 7bit ASCII file names, with updates for utf8 file names expected to follow later. In addition to that 2.6.27-rc5 fixes a long-standing problem with non-EABI arm compiler which pack some XFS data structures wrongly. Besides this 2.6.27-rc5 also contains various cleanups, most notably the removal of the last bhv_vnode_t instances, and most uses of semaphores. As usual the diffstat for XFS from 2.6.26 to 2.6.26-rc5 is negative:&lt;br /&gt;
&lt;br /&gt;
       100 files changed, 3819 insertions(+), 4409 deletions(-)&lt;br /&gt;
&lt;br /&gt;
On the user space front a new minor xfsprogs version is about to be released containing various fixes including the user space part of arm packing fix.&lt;br /&gt;
&lt;br /&gt;
Work in progress on the XFS mailing list are a large patch set to unify the alloc, inobt and bmap btree implementation into a single that supports arbitrarily pluggable key and record formats. These btree changes are the first major preparation for adding CRC checks to all metadata structures in XFS, and an even larger patch set to unify the XFS and Linux inode structures, and perform all inode write back from the btree uses instead of an inode cache in XFS.&lt;br /&gt;
&lt;br /&gt;
== Updates before 2008 ==&lt;br /&gt;
&lt;br /&gt;
News up to 2007 can be found on a separate page: [[OLD_News]]&lt;/div&gt;</summary>
		<author><name>Hch</name></author>
	</entry>
	<entry>
		<id>https://xfs.org/index.php?title=XFS_Status_Updates&amp;diff=2371</id>
		<title>XFS Status Updates</title>
		<link rel="alternate" type="text/html" href="https://xfs.org/index.php?title=XFS_Status_Updates&amp;diff=2371"/>
		<updated>2011-10-14T13:10:55Z</updated>

		<summary type="html">&lt;p&gt;Hch: September update&lt;/p&gt;
&lt;hr /&gt;
&lt;div&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 quite&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&#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&#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&#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&#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&#039;t been committed yet were discussed on the mailing list.&lt;br /&gt;
&lt;br /&gt;
== XFS status update for December 2010 ==&lt;br /&gt;
&lt;br /&gt;
The release process of the Linux 2.6.37 kernel with it&#039;s large XFS updates&lt;br /&gt;
was in it&#039;s final days in December, which explains why we only saw a single&lt;br /&gt;
one-liner regression fix for XFS in Linus&#039; tree.  The XFS development tree&lt;br /&gt;
finally saw some updates when the writeback updates and some small cleanups&lt;br /&gt;
to the allocator and log recovery code were merged, but the large metadata&lt;br /&gt;
scalability updates that have been posted to the list multiple times are&lt;br /&gt;
still missing.  In addition to this on-going work the list also saw patches&lt;br /&gt;
that fix smaller issues, which are also still waiting to be merged.&lt;br /&gt;
&lt;br /&gt;
On the userspace side xfsprogs and xfsdump development has been quit, with&lt;br /&gt;
no commits to either repository in December, although a large series of&lt;br /&gt;
updates to the metadump command has been reposted near the end of the month.&lt;br /&gt;
The xfstests repository saw a new regression test for a btrfs problem,&lt;br /&gt;
and various updates to existing tests.&lt;br /&gt;
&lt;br /&gt;
== XFS status update for November 2010 ==&lt;br /&gt;
&lt;br /&gt;
From looking at the kernel git commits November looked like a pretty&lt;br /&gt;
slow month with just two hand full fixes going into the release candidates&lt;br /&gt;
for Linux 2.6.37, and none at all going into the development tree.&lt;br /&gt;
But in this case git statistics didn&#039;t tell the whole story - there&lt;br /&gt;
was a lot of activity on patches for the next merge window on the list.&lt;br /&gt;
The focus in November was still at metadata scalability, with various&lt;br /&gt;
patchsets that improves parallel creates and unlinks again, and also&lt;br /&gt;
improves 8-way dbench throughput by 30%.  In addition to that there&lt;br /&gt;
were patches to improve preallocation for NFS servers, to simplify&lt;br /&gt;
the writeback code, and to remove the XFS-internal percpu counters&lt;br /&gt;
for free space for the generic kernel percpu counters, which just needed&lt;br /&gt;
a small improvement.&lt;br /&gt;
&lt;br /&gt;
On the user space side we saw the release of xfsprogs 3.1.4, which&lt;br /&gt;
contains various accumulated bug fixes and Debian packaging updates.&lt;br /&gt;
The xfsdump tree saw a large update to speed up restore by using&lt;br /&gt;
mmap for an internal database and remove the limitation of ~ 214&lt;br /&gt;
million directory entries per dump file.  The xfstests test suite&lt;br /&gt;
saw three new testcases and various fixes, including support for the&lt;br /&gt;
hfsplus filesystem.&lt;br /&gt;
&lt;br /&gt;
== XFS status update for October 2010 ==&lt;br /&gt;
&lt;br /&gt;
Near the end of the month we finally saw the release of Linux 2.6.36.&lt;br /&gt;
Just a single fix made it into mainline in this month, showing that the&lt;br /&gt;
stabilization period before has worked very well.&lt;br /&gt;
&lt;br /&gt;
Linux 2.6.36 has been another impressive release for XFS, seeing&lt;br /&gt;
various performance improvements in the new delayed logging code,&lt;br /&gt;
for direct I/O and the sync system call, a few bug fixes, and lots&lt;br /&gt;
of cleanups, resulting in a net removal of over 2000 lines of code:&lt;br /&gt;
&lt;br /&gt;
        89 files changed, 1998 insertions(+), 4279 deletions(-)&lt;br /&gt;
&lt;br /&gt;
The merge window for Linux 2.6.37 opened just a few days after the&lt;br /&gt;
release of Linux 2.6.36 and already contains another large XFS update&lt;br /&gt;
at the end of October.  Highlights of the XFS tree merged into 2.6.37-rc1&lt;br /&gt;
are another large set of metadata scalability patches, support for 32-bit&lt;br /&gt;
wide project IDs, and support for the new XFS_IOC_ZERO_RANGE ioctl,&lt;br /&gt;
which allows to punch a whole and convert it to an unwritten extent&lt;br /&gt;
in a single atomic operation.&lt;br /&gt;
&lt;br /&gt;
The metadata scalability changes improve 8-way fs_mark of 50 million files&lt;br /&gt;
by over 15% and removal of those files by over 100%, with further&lt;br /&gt;
improvements expected by the next round of XFS metadata scalability&lt;br /&gt;
and VFS scalability improvements targeted at Linux 2.6.38.&lt;br /&gt;
&lt;br /&gt;
On the user space side October was a rather quit month for xfsprogs, which&lt;br /&gt;
only saw the addition of 32-bit project ID handling, and a fix for&lt;br /&gt;
parsing the mount table in fsr when used together with disk encryption&lt;br /&gt;
tools.  A few patches for xfsdump were posted on the list, but none&lt;br /&gt;
was applied, leaving the majority of the user space activity to&lt;br /&gt;
xfstests, which saw very active development.  Various patches went&lt;br /&gt;
into xfstests to improve portability to filesystems with a limited&lt;br /&gt;
feature set, and to move more filters to generic code.  In addition&lt;br /&gt;
various cleanups to test cases in test programs were applied.&lt;br /&gt;
&lt;br /&gt;
== XFS status update for September 2010 ==&lt;br /&gt;
&lt;br /&gt;
Mainline activity has been rather low in September while with only&lt;br /&gt;
two more fixes going into the 2.6.36 release candidates after the&lt;br /&gt;
large merge activity in August.  Development for the next merge&lt;br /&gt;
window has been more active.  The largest item was the inclusion&lt;br /&gt;
of the metadata scalability patch series, which provides very large&lt;br /&gt;
speedups for parallel metadata operations.  In addition a new&lt;br /&gt;
ioctl to punch holes and convert the whole to an unwritten extent&lt;br /&gt;
was added and a small number of cleanups also made it into the tree.&lt;br /&gt;
&lt;br /&gt;
Patches to add support for 32bit wide project ID identifiers and&lt;br /&gt;
using group and project quotas concurrently were posted to the list&lt;br /&gt;
and discussed but not yet included.&lt;br /&gt;
&lt;br /&gt;
Userspace development has been rather quiet again, with a single fix&lt;br /&gt;
committed to xfsprogs and xfsdump each.  The xfstests test suite grew&lt;br /&gt;
a new test case and received a few additional fixes.  Last but not least&lt;br /&gt;
the [http://xfs.org/docs/xfsdocs-xml-dev/XFS_User_Guide//tmp/en-US/html/index.html XFS Users Guide]&lt;br /&gt;
was updated with various factual corrections and spelling fixes.&lt;br /&gt;
&lt;br /&gt;
== XFS status update for August 2010 ==&lt;br /&gt;
&lt;br /&gt;
At the first of August we finally saw the release of Linux 2.6.35,&lt;br /&gt;
which includes a large XFS update.  The most prominent feature in&lt;br /&gt;
Linux 2.6.35 is the new delayed logging code which provides massive&lt;br /&gt;
speedups for metadata-intensive workloads, but there has been&lt;br /&gt;
a large amount of other fixes and cleanups, leading to the following&lt;br /&gt;
diffstat:&lt;br /&gt;
&lt;br /&gt;
         67 files changed, 4426 insertions(+), 3835 deletions(-)&lt;br /&gt;
&lt;br /&gt;
Given the early release of Linux 2.6.35 the merge window for the&lt;br /&gt;
next release fully fell into the month of August.  The XFS updates&lt;br /&gt;
for Linux 2.6.36 include various additional performance improvements&lt;br /&gt;
in the delayed logging code, for direct I/O writes and for avoiding&lt;br /&gt;
synchronous transactions, as well as various fixed and large amount&lt;br /&gt;
of cleanups, including the removal of the remaining dead DMAPI&lt;br /&gt;
code.&lt;br /&gt;
&lt;br /&gt;
On the userspace side we saw the 3.1.3 release of xfsprogs, which includes&lt;br /&gt;
various smaller fixes, support for the new XFS_IOC_ZERO_RANGE ioctl and&lt;br /&gt;
Debian packaging updates.  The xfstests package saw one new test case&lt;br /&gt;
and a couple of smaller patches, and xfsdump has not seen any updates at&lt;br /&gt;
all.&lt;br /&gt;
&lt;br /&gt;
The XMLified versions of the XFS users guide, training labs and filesystem&lt;br /&gt;
structure documentation are now available as on the fly generated html on&lt;br /&gt;
the xfs.org website and can be found at [[XFS_Papers_and_Documentation|Papers &amp;amp; Documentation]].&lt;br /&gt;
&lt;br /&gt;
== XFS status update for July 2010 ==&lt;br /&gt;
&lt;br /&gt;
July saw three more release candidates for the Linux 2.6.35 kernel, which&lt;br /&gt;
included a relatively large number of XFS updates.  There were two security&lt;br /&gt;
fixes, a small one to prevent swapext to operate on write-only file&lt;br /&gt;
descriptors, and a much larger one to properly validate inode numbers&lt;br /&gt;
coming from NFS clients or userspace applications using the bulkstat or&lt;br /&gt;
the open-by-handle interfaces.  In addition to that another relatively&lt;br /&gt;
large patch fixes the way inodes get reclaimed in the background, and&lt;br /&gt;
avoids inode caches growing out of bounds.&lt;br /&gt;
&lt;br /&gt;
In the meantime the code for the Linux 2.6.36 got the last touches before&lt;br /&gt;
the expected opening of the merge window, by merging a few more last&lt;br /&gt;
minute fixes and cleanups.  The most notable one is a patch series&lt;br /&gt;
that fixes in-memory corruption when concurrently accessing unwritten&lt;br /&gt;
extents using the in-kernel AIO code.&lt;br /&gt;
&lt;br /&gt;
The userspace side was still quite slow, but some a bit more activity&lt;br /&gt;
than June.  In xfsprogs the xfs_db code grew two bug fixes, as did&lt;br /&gt;
the xfs_io script.  The xfstests package saw one new test cases and&lt;br /&gt;
various fixes to existing code.  Last but not least a few patches&lt;br /&gt;
affecting the build system for all userspace tools were committed.&lt;br /&gt;
&lt;br /&gt;
== XFS status update for June 2010 ==&lt;br /&gt;
&lt;br /&gt;
The month of June saw a few important bug fixes for the Linux 2.6.35&lt;br /&gt;
release candidates.  That includes ensuring that files used for the&lt;br /&gt;
swapext ioctl are writable to the user, and doing proper validation&lt;br /&gt;
of inodes coming from untrusted sources, such as NFS exporting and&lt;br /&gt;
the open by handle system calls.  The main work however has been&lt;br /&gt;
focused on development for the Linux 2.6.36 merge window, including&lt;br /&gt;
merging various patches that have been out on the mainline list&lt;br /&gt;
for a long time.  Highlights include further performance improvements&lt;br /&gt;
for sync heavy metadata workloads, stack space reduction in the&lt;br /&gt;
writeback path and improvements of the XFS tracing infrastructure.&lt;br /&gt;
Also after some discussion the remaining hooks for DMAPI are going&lt;br /&gt;
to be dropped in mainline.   As a replacement a tree containing&lt;br /&gt;
full DMAPI support with a slightly cleaner XFS interaction will be&lt;br /&gt;
hosted by SGI.&lt;br /&gt;
&lt;br /&gt;
On the userspace side June was a rather slow month, with no updates&lt;br /&gt;
to xfsprogs and xfsdump at all, and just one new test case and a cleanup&lt;br /&gt;
applied to xfstests.&lt;br /&gt;
&lt;br /&gt;
== XFS status update for May 2010 ==&lt;br /&gt;
&lt;br /&gt;
In May 2010 we saw the long awaited release of Linux 2.6.34, which includes&lt;br /&gt;
a large XFS update.  The most important features appearing in 2.6.34 was the&lt;br /&gt;
new inode and quota flushing code, which leads to much better I/O patterns&lt;br /&gt;
for metadata-intensive workloads.  Additionally support for synchronous NFS&lt;br /&gt;
exports has been improved to give much better performance, and performance&lt;br /&gt;
for the fsync, fdatasync and sync system calls has been improved slightly.&lt;br /&gt;
A bug when resizing extremely busy filesystems has been fixed, which required&lt;br /&gt;
extensive modification to the data structure used for looking up the&lt;br /&gt;
per-allocation group data.  Last but not least there was a steady flow of&lt;br /&gt;
minor bug fixes and cleanups, leading to the following diffstat from&lt;br /&gt;
2.6.33 to 2.6.34:&lt;br /&gt;
&lt;br /&gt;
  86 files changed, 3209 insertions(+), 3178 deletions(-)&lt;br /&gt;
&lt;br /&gt;
Meanwhile active development aimed at 2.6.35 merge progressed.  The&lt;br /&gt;
major feature for this window is the merge of the delayed logging code,&lt;br /&gt;
which adds a new logging mode that dramatically reduces the bandwidth&lt;br /&gt;
required for log I/O.  See the &lt;br /&gt;
[http://git.kernel.org/?p=linux/kernel/git/torvalds/linux-2.6.git;a=blob;f=Documentation/filesystems/xfs-delayed-logging-design.txt;h=96d0df28bed323d5596fc051b0ffb96ed8e3c8df;hb=HEAD documentation] for details.  Testers&lt;br /&gt;
for this new code are welcome.&lt;br /&gt;
&lt;br /&gt;
In userland xfsprogs saw the long awaited 3.1.2 release, which can be&lt;br /&gt;
considered a bug fix release for xfs_repair, xfs_fsr and mkfs.xfs.  After&lt;br /&gt;
the release a few more fixes were merged into the development tree.&lt;br /&gt;
The xfstests package saw various new tests, including many tests to&lt;br /&gt;
exercise the quota code, and a few fixes to existing tests.&lt;br /&gt;
&lt;br /&gt;
== XFS status update for April 2010 ==&lt;br /&gt;
&lt;br /&gt;
In April 2.6.34 still was in the release candidate phase, with&lt;br /&gt;
a hand full of XFS fixes making it into mainline.  Development for&lt;br /&gt;
the 2.6.35 merge window went ahead full steam at the same time.&lt;br /&gt;
&lt;br /&gt;
While a fair amount of patches hit the development tree these were&lt;br /&gt;
largely cleanups, with the real development activity happening on&lt;br /&gt;
the mailing list.  There was another round of patches and following&lt;br /&gt;
discussion on the scalable busy extent tracking and delayed logging&lt;br /&gt;
features mentioned last month.  They are expected to be merged in&lt;br /&gt;
May and queue up for the Linux 2.6.35 window.  Last but not least&lt;br /&gt;
April saw a large number of XFS fixes backported to the 2.6.32 and&lt;br /&gt;
2.6.33 -stable series.&lt;br /&gt;
&lt;br /&gt;
In user land xfsprogs has seen few but important updates, preparing&lt;br /&gt;
for a new release next month.  The xfs_repair tool saw a fix to&lt;br /&gt;
correctly enable the lazy superblock counters on an existing&lt;br /&gt;
filesystem, and xfs_fsr saw updates to better deal with dynamic&lt;br /&gt;
attribute forks.  Last but not a least a port to Debian GNU/kFreeBSD&lt;br /&gt;
got merged. The xfstests test suite saw two new test cases and various&lt;br /&gt;
smaller fixes.&lt;br /&gt;
&lt;br /&gt;
== XFS status update for March 2010 ==&lt;br /&gt;
&lt;br /&gt;
The merge window for Linux 2.6.34 closed in the first week of March,&lt;br /&gt;
with the important XFS features already landing in February.  Not&lt;br /&gt;
surprisingly the XFS merge activity in March has been rather slow,&lt;br /&gt;
with only about a dozen bug fixes patches making it towards Linus&#039;&lt;br /&gt;
tree in that time.&lt;br /&gt;
&lt;br /&gt;
On the other hand active development for the 2.6.35 merge window has&lt;br /&gt;
been very active.  Most importantly there was a lot of work on the&lt;br /&gt;
transaction and log subsystems.  Starting with a large patchset to&lt;br /&gt;
clean up and refactor the transaction subsystem and introducing more&lt;br /&gt;
flexible I/O containers in the low-level logging code work is&lt;br /&gt;
progressing to a new, more efficient logging implementation.  While&lt;br /&gt;
this preparatory work has already been merged in the development tree,&lt;br /&gt;
the actual delayed logging implementation still needs more work after&lt;br /&gt;
the initial public posting.  The delayed logging implementation which&lt;br /&gt;
is very briefly modeled after the journaling mode in the ext3/4&lt;br /&gt;
and reiserfs filesystems allows to accumulated multiple asynchronous&lt;br /&gt;
transactions in memory instead of possibly writing them out&lt;br /&gt;
many times.  Using the new delayed logging mechanism I/O bandwidth&lt;br /&gt;
used for the log decreases by orders of magnitude and performance&lt;br /&gt;
on metadata intensive workloads increases massively.&lt;br /&gt;
&lt;br /&gt;
In addition to that a new version of the discard (aka TRIM) support&lt;br /&gt;
has been posted, this time entirely contained in kernel space&lt;br /&gt;
and without the need of a userspace utility to drive it.  Last but&lt;br /&gt;
not least the usual steady stream of cleanups and bug fixes has not&lt;br /&gt;
ceased this month either.&lt;br /&gt;
&lt;br /&gt;
Besides the usual flow of fixes and new test cases in the xfstests&lt;br /&gt;
test suite development on the userspace side has been rather slow.&lt;br /&gt;
Xfsprogs has only seen a single fix for SMP locking in xfs_repair&lt;br /&gt;
and support for building on Debian GNU/kFreeBSD, and xfsdump&lt;br /&gt;
has seen no commit at all.&lt;br /&gt;
&lt;br /&gt;
== XFS status update for February 2010 ==&lt;br /&gt;
&lt;br /&gt;
February saw the release of the Linux 2.6.33 kernel, which includes&lt;br /&gt;
a large XFS update.  The biggest user-visible change in Linux 2.6.33&lt;br /&gt;
is that XFS now support the generic Linux trace event infrastructure,&lt;br /&gt;
which allows tracing lots of XFS behavior with a normal production&lt;br /&gt;
built kernel.  Except for this Linux 2.6.33 has been mostly a bug-fix&lt;br /&gt;
release, fixing various user reported bugs in previous releases.&lt;br /&gt;
The total diffstat for XFS in Linux 2.6.33 looks like:&lt;br /&gt;
&lt;br /&gt;
  84 files changed, 3023 insertions(+), 3550 deletions(-)&lt;br /&gt;
&lt;br /&gt;
In addition to that the merge window for Linux 2.6.34 opened and the&lt;br /&gt;
first merge of the XFS tree made it into Linus tree.  Unlike Linux&lt;br /&gt;
2.6.33 this merge window includes major feature work.  The most&lt;br /&gt;
important change for users is a new algorithm for inode and quota&lt;br /&gt;
writeback that leads to better I/O locality and improved metadata&lt;br /&gt;
performance.  The second big change is a rewrite of the per-allocation&lt;br /&gt;
group data lookup which fixes a long-standing problem in the code&lt;br /&gt;
to grow a life filesystem and will also ease future filesystem&lt;br /&gt;
shrinking support.  Not merged through the XFS tree, but of great&lt;br /&gt;
importance for embedded users is a new API that allows XFS to properly&lt;br /&gt;
flush cache lines on it&#039;s log and large directory buffers, making&lt;br /&gt;
XFS work properly on architectures with virtually indexed caches,&lt;br /&gt;
such as parisc and various arm and mips variants.  Last but not&lt;br /&gt;
least there is an above average amount of cleanups that went into&lt;br /&gt;
Linus tree in this cycle.&lt;br /&gt;
&lt;br /&gt;
There have been more patches on the mailing list that haven&#039;t made&lt;br /&gt;
it to Linus tree yet, including an optimized implementation of&lt;br /&gt;
fdatasync(2) and massive speedups for metadata workloads on&lt;br /&gt;
NFS exported XFS filesystems.&lt;br /&gt;
&lt;br /&gt;
On the userspace side February has been a relatively quiet month.&lt;br /&gt;
Lead by xfstests only a moderate amount of fixes made it into&lt;br /&gt;
the respective trees.&lt;br /&gt;
&lt;br /&gt;
== XFS status update for January 2010 ==&lt;br /&gt;
&lt;br /&gt;
January saw additional release candidates of the Linux 2.6.33 kernel,&lt;br /&gt;
including a couple of bug fixes for XFS.  In the meantime the XFS tree&lt;br /&gt;
has been growing a large number of patches destined for the Linux 2.6.34&lt;br /&gt;
merge window: a large rework of the handling of per-AG data, support for&lt;br /&gt;
the quota netlink interface, and better power saving behavior of the&lt;br /&gt;
XFS kernel threads, and of course various cleanups.&lt;br /&gt;
&lt;br /&gt;
A large patch series to replace the current asynchronous inode writeback&lt;br /&gt;
with a new scheme that uses the delayed write buffers was posted to&lt;br /&gt;
the list.  The new scheme, which allows archive better I/O locality by&lt;br /&gt;
dispatching meta-data I/O from a single place has been discussed&lt;br /&gt;
extensively and is expected to be merged in February.&lt;br /&gt;
&lt;br /&gt;
On the userspace side January saw the 3.1.0 and 3.1.1 releases of xfsprogs,&lt;br /&gt;
as well as the 3.0.4 release of xfsdump.  The biggest changes in xfsprogs&lt;br /&gt;
3.1.0 were optimizations in xfs_repair that lead to a much lower memory&lt;br /&gt;
usage, and optional use of the blkid library for filesystem detection&lt;br /&gt;
and retrieving storage topology information.  The 3.1.1 release contained&lt;br /&gt;
various important bug fixes for these changes and a various improvements to&lt;br /&gt;
the build system.  The major feature of xfsdump 3.0.4 were fixes for&lt;br /&gt;
time stamp handling on 64-bit systems.&lt;br /&gt;
&lt;br /&gt;
The xfstests package also lots of activity including various new testcases&lt;br /&gt;
and an improved build system.&lt;br /&gt;
&lt;br /&gt;
== XFS status update for December 2009 ==&lt;br /&gt;
&lt;br /&gt;
December finally saw the long awaited release of Linux 2.6.32, which for&lt;br /&gt;
XFS is mostly a bug fix release, with the major changes being various&lt;br /&gt;
improvement to the sync path, including working around the expectation&lt;br /&gt;
from the grub boot loader where metadata is supposed to be after a sync()&lt;br /&gt;
system call.  Together with a refactoring of the inode allocator this&lt;br /&gt;
gives a nice diffstat for this kernel release:&lt;br /&gt;
&lt;br /&gt;
 46 files changed, 767 insertions(+), 1048 deletions(-)&lt;br /&gt;
&lt;br /&gt;
In the meantime development for the 2.6.33 has been going strong.  The&lt;br /&gt;
new event tracing code that allows to observe the inner workings of XFS&lt;br /&gt;
in production systems has finally been merged, with another patch to&lt;br /&gt;
reduce the size of the tracing code by using new upstream kernel features&lt;br /&gt;
posted for review.  Also a large patch series has been posted which&lt;br /&gt;
changes per-AG data to be looked up by a radix tree instead of the&lt;br /&gt;
existing array.  This works around possible deadlocks and user after&lt;br /&gt;
free issues during growfs, and prepares for removing a global (shared)&lt;br /&gt;
lock from the free space allocators.  In addition to that a wide range&lt;br /&gt;
of fixes has been posted and applied.&lt;br /&gt;
&lt;br /&gt;
Work on the userspace packages has been just as busy.  In mkfs.xfs the&lt;br /&gt;
lazy superblock counter feature has now been enabled by default for the&lt;br /&gt;
upcoming xfsprogs 3.1.0 release, which will require kernel 2.6.22 for&lt;br /&gt;
the default mkfs invocation.  Also for mkfs.xfs as patch was posted&lt;br /&gt;
to correct the automatic detection of 4 kilobyte sector drivers which&lt;br /&gt;
are expected to show up in large quantities the real work soon.  The&lt;br /&gt;
norepair mode in xfs_repair has been enhanced with additional freespace&lt;br /&gt;
btree correction checks from xfs_db and is now identical to xfs_check in&lt;br /&gt;
filesystem consistency checking coverage.  A temporary file permission&lt;br /&gt;
problems has been fixed in xfs_fsr, and the libhandle library has been&lt;br /&gt;
fixed to better deal with symbolic links.  In xfs_io a few commands&lt;br /&gt;
that were added years ago have finally been wired up to actually be&lt;br /&gt;
usable.  And last but not least xfsdump saw a fix to the time stamp&lt;br /&gt;
handling in the backup format and some usability and documentation&lt;br /&gt;
improvements to xfsinvutil.&lt;br /&gt;
&lt;br /&gt;
== XFS status update for November 2009 ==&lt;br /&gt;
&lt;br /&gt;
November was a relatively slow month for XFS development.  The XFS tree&lt;br /&gt;
that is destined for the Linux 2.6.33 merge window saw a few fixes and&lt;br /&gt;
cleanups applied to it, and few important fixes still made it into the&lt;br /&gt;
last Linux 2.6.32 release candidates.  A few more patches including a&lt;br /&gt;
final version of the event tracing support for XFS were posted but not&lt;br /&gt;
reviewed yet.&lt;br /&gt;
&lt;br /&gt;
On the userspace side there has been a fair amount of xfsprogs activity.&lt;br /&gt;
The repair speedup patches have finally been merged into the main development&lt;br /&gt;
branch and a couple of other fixes to the various utilities made it in, too.&lt;br /&gt;
The xfstests test suite saw another new regression test suite and a build&lt;br /&gt;
system fix up.&lt;br /&gt;
&lt;br /&gt;
== XFS status update for October 2009 ==&lt;br /&gt;
In October we saw the Linux 2.6.32 merge window with a major XFS update.&lt;br /&gt;
This update includes a refactoring of the inode allocator which also&lt;br /&gt;
allows for speedups for very large filesystems, major sync fixes, updates&lt;br /&gt;
to the fsync and O_SYNC handling which merge the two code paths into a single&lt;br /&gt;
and more efficient one, a workaround for the VFS time stamp behavior,&lt;br /&gt;
and of course various smaller fixes.  A couple of additional fixes have been&lt;br /&gt;
queued up for the next merge window.&lt;br /&gt;
&lt;br /&gt;
On the userspace side there has been a healthy activity on xfsprogs:  mkfs can&lt;br /&gt;
now discard unused sectors on SSDs and thinly provisioned storage devices and&lt;br /&gt;
use the more generic libblkid for topology information and filesystems detection&lt;br /&gt;
instead of the older libdisk, and the build system gained some updates to&lt;br /&gt;
make the source package generation simpler and shared for different package&lt;br /&gt;
types.  A patch has been out to the list but yet committed to add symbol&lt;br /&gt;
versioning to the libhandle library to make future ABI additions easier.&lt;br /&gt;
The xfstests package only saw some minor activity with a new test case&lt;br /&gt;
and small build system fixes.&lt;br /&gt;
&lt;br /&gt;
New minor releases of xfsprogs and xfsdump were tagged but not formally&lt;br /&gt;
released after additional discussion.  Instead a new major xfsprogs release&lt;br /&gt;
is planned for next month.&lt;br /&gt;
&lt;br /&gt;
== XFS status update for September 2009 ==&lt;br /&gt;
&lt;br /&gt;
In September the Linux 2.6.31 kernel was finally released, including another&lt;br /&gt;
last minute XFS fix for the swapext (defragmentation) compat ioctl handler.&lt;br /&gt;
The final patch from 2.6.30 to 2.6.31 shows the following impressive diffstat&lt;br /&gt;
for XFS:&lt;br /&gt;
&lt;br /&gt;
   55 files changed, 1476 insertions(+), 2269 deletions(-)&lt;br /&gt;
&lt;br /&gt;
The 2.6.32 merge window started with a large XFS merge that included changes&lt;br /&gt;
to the inode allocator, and a few smaller fixes.  New versions of the sync&lt;br /&gt;
and time stamp fixes as well as the event tracing support have been posted&lt;br /&gt;
in September but not yet merged into the XFS development tree and/or mainline.&lt;br /&gt;
&lt;br /&gt;
On the userspace side a large patch series to reduce the memory usage in&lt;br /&gt;
xfs_repair to acceptable levels was posted, but not yet merged.  A new xfs_df&lt;br /&gt;
shell script to measure use of the on disk space was posted but not yet&lt;br /&gt;
merged pending some minor review comments and a missing man page.  In addition&lt;br /&gt;
we saw the usual amount of smaller fixes and cleanups.&lt;br /&gt;
&lt;br /&gt;
Also this month Felix Blyakher resigned from his post as XFS maintainer and handed off to Alex Elder.&lt;br /&gt;
&lt;br /&gt;
== XFS status update for August 2009 ==&lt;br /&gt;
&lt;br /&gt;
In August the Linux 2.6.31 kernel has still been in the release candidate&lt;br /&gt;
stage, but a couple of important XFS fixes made it in time for the release,&lt;br /&gt;
including a fix for the inode cache races with NFS workloads that have&lt;br /&gt;
plagued us for a long time.&lt;br /&gt;
&lt;br /&gt;
The list saw various patches destined for the Linux 2.6.32 merge window,&lt;br /&gt;
including a merge of the fsync and O_SYNC handling code to address various&lt;br /&gt;
issues with the latter, a workaround for deficits in the timestamp handling&lt;br /&gt;
interface between the VFS and filesystems, a repost of the sync improvements&lt;br /&gt;
patch series and various smaller patches.&lt;br /&gt;
&lt;br /&gt;
August also saw the minor 3.0.3 release of xfsprogs which collects smaller&lt;br /&gt;
fixes to the various tools and most importantly a fix to allow xfsprogs to&lt;br /&gt;
work again on SPARC and other strict alignment handling which regressed a&lt;br /&gt;
few releases ago.  The xfstests repository saw a few new test cases and a&lt;br /&gt;
various small improvements.&lt;br /&gt;
&lt;br /&gt;
== XFS status update for July 2009 ==&lt;br /&gt;
&lt;br /&gt;
As a traditional summer vacation month July has not seen a lot of XFS&lt;br /&gt;
activity.  The mainline 2.6.31 kernel made it to the 5th release candidate&lt;br /&gt;
but besides a few kernel-wide patches touching XFS the only activity were&lt;br /&gt;
two small patches fixing a bug in FIEMAP and working around writeback&lt;br /&gt;
performance problems in the VM.&lt;br /&gt;
&lt;br /&gt;
A few more patches were posted to the list but haven&#039;t been merged yet.&lt;br /&gt;
Two big patch series deal with theoretically possible deadlocks due to&lt;br /&gt;
locks taken in reclaim contexts, which are now detected by lockdep.&lt;br /&gt;
&lt;br /&gt;
The pace on the userspace side has been slow.  There have been a couple&lt;br /&gt;
of fixes to xfs_repair and xfs_db, and xfstests grew a few more testcases.&lt;br /&gt;
&lt;br /&gt;
== XFS status update for June 2009 ==&lt;br /&gt;
&lt;br /&gt;
On June 9th we finally saw the release of Linux 2.6.30.  For XFS&lt;br /&gt;
this release mostly contains the improved ENOSPC handling, but also&lt;br /&gt;
various smaller bugfixes and lots of cleanups.  The code size of XFS&lt;br /&gt;
decreased again by 500 lines of code in this release.&lt;br /&gt;
&lt;br /&gt;
The Linux 2.6.31 merge opened in the mid of the month and some big XFS&lt;br /&gt;
changes have been pushed: A removal of the quotaops&lt;br /&gt;
infrastructure which simplifies the quota implementation, the switch&lt;br /&gt;
from XFS&#039;s own Posix ACL implementation to the generic one shared&lt;br /&gt;
by various other filesystems which also supports in-memory caching of&lt;br /&gt;
ACLs and another incremental refactoring of the sync code.&lt;br /&gt;
&lt;br /&gt;
A patch to better track dirty inodes and work around issues in the&lt;br /&gt;
way the VFS updates the access time stamp on inodes has been reposted&lt;br /&gt;
and discussed. Another patch to converting the existing XFS tracing&lt;br /&gt;
infrastructure to use the ftrace even tracer has been posted.&lt;br /&gt;
&lt;br /&gt;
On the userspace side there have been a few updates to xfsprogs, including&lt;br /&gt;
some repair fixes and a new fallocate command for xfs_io.  There were&lt;br /&gt;
major updates for xfstests:  The existing aio-dio-regress testsuite has&lt;br /&gt;
been merged into xfstests, and various changes went into the tree to make&lt;br /&gt;
xfstests better suitable for use with other filesystems.&lt;br /&gt;
&lt;br /&gt;
The attr and acl projects which have been traditionally been hosted&lt;br /&gt;
as part of the XFS userspace utilities have now been split into a separate&lt;br /&gt;
project maintained by Andreas Gruenbacher, who has been doing most of&lt;br /&gt;
the work on it, and moved to the Savannah hosting platform.&lt;br /&gt;
&lt;br /&gt;
== XFS status update for May 2009 ==&lt;br /&gt;
&lt;br /&gt;
In May Linux 2.6.30 was getting close to be released, and various&lt;br /&gt;
important XFS fixes made it during the latest release candidates.&lt;br /&gt;
In the meantime some big patch series to rework the sync code and&lt;br /&gt;
the inode allocator have been posted for the next merge window.&lt;br /&gt;
&lt;br /&gt;
On the userspace side xfsprogs and xfsdump 3.0.1 were finally released,&lt;br /&gt;
quickly followed by 3.0.2 releases with updated Debian packaging.&lt;br /&gt;
After that various small patches that were held back made it into xfsprogs.&lt;br /&gt;
A patch to add the xfs_reno tool which allows to move inodes around to&lt;br /&gt;
fit into 32 bit inode number space has been posted which is also one&lt;br /&gt;
central aspect of future online shrinking support.&lt;br /&gt;
&lt;br /&gt;
There has been major activity on xfstests including adding generic&lt;br /&gt;
filesystems support to allow running tests that aren&#039;t XFS-specific on&lt;br /&gt;
any Linux filesystems.&lt;br /&gt;
&lt;br /&gt;
== XFS status update for April 2009 ==&lt;br /&gt;
&lt;br /&gt;
In April development for Linux 2.6.30 was in full motion.  A patchset to correct flushing of delayed allocations with near full filesystems has been committed in early April, as well as various smaller fixes. A patch series to improve the behavior of sys_sync has been posted but is waiting for VFS changes queued for Linux 2.6.31.&lt;br /&gt;
&lt;br /&gt;
On the userspace side xfsprogs and xfsdump 3.0.1 have managed to split their release dates into May again after a lot of last-minute build system updates.&lt;br /&gt;
&lt;br /&gt;
== XFS status update for March 2009 ==&lt;br /&gt;
&lt;br /&gt;
Linux 2.6.29 has been released which includes major XFS updates like the&lt;br /&gt;
new generic btree code, a fully functional 32bit compat ioctl implementation&lt;br /&gt;
and the new combined XFS and Linux inode.  (See previous status reports&lt;br /&gt;
for more details). A patch series to improve correctness and performance&lt;br /&gt;
has been posted but not yet applied.  Various minor fixes and cleanups&lt;br /&gt;
have been sent to Linus for 2.6.30 which looks like it will be a minor&lt;br /&gt;
release for XFS after the big churn in 2.6.29.&lt;br /&gt;
&lt;br /&gt;
On userspace a lot of time has been spent on fixing and improving the&lt;br /&gt;
build system shared by the various XFS utilities as well as various smaller&lt;br /&gt;
improvements leading to the xfsprogs and xfsdump 3.0.1 releases which are&lt;br /&gt;
still outstanding.&lt;br /&gt;
&lt;br /&gt;
== XFS status update for February 2009 ==&lt;br /&gt;
&lt;br /&gt;
In February various smaller fixes have been sent to Linus for 2.6.29,&lt;br /&gt;
including a revert of the faster vmap APIs which don&#039;t seem to be quite&lt;br /&gt;
ready yet on the VM side.  At the same time various patches have been&lt;br /&gt;
queued up for 2.6.30, with another big batch pending.  There also has&lt;br /&gt;
been a repost of the CRC patch series, including support for a new,&lt;br /&gt;
larger inode core.&lt;br /&gt;
&lt;br /&gt;
SGI released various bits of work in progress from former employees&lt;br /&gt;
that will be extremely helpful for the future development of XFS,&lt;br /&gt;
thanks a lot to Mark Goodwin for making this happen.&lt;br /&gt;
&lt;br /&gt;
On the userspace side the long awaited 3.0.0 releases of xfsprogs and&lt;br /&gt;
xfsdump finally happened early in the month, accompanied by a 2.2.9&lt;br /&gt;
release of the dmapi userspace.  There have been some issues with packaging&lt;br /&gt;
so a new minor release might follow soon.&lt;br /&gt;
&lt;br /&gt;
The xfs_irecover tool has been relicensed so that it can be merged into&lt;br /&gt;
the GPLv2 codebase of xfsprogs, but the actual integration work hasn&#039;t&lt;br /&gt;
happened yet.&lt;br /&gt;
&lt;br /&gt;
Important bits of XFS documentation that have been available on the XFS&lt;br /&gt;
website in PDF form have been released in the document source form under&lt;br /&gt;
the Creative Commons license so that they can be updated as a community&lt;br /&gt;
effort, and checked into a public git tree.&lt;br /&gt;
&lt;br /&gt;
== XFS status update for January 2009 ==&lt;br /&gt;
&lt;br /&gt;
January has been an extremely busy month on the userspace front.  Many&lt;br /&gt;
smaller and medium updates went into xfsprogs, xfstests and to a lesser&lt;br /&gt;
extent xfsdump.  xfsprogs and xfsdump are ramping up for getting a 3.0.0&lt;br /&gt;
release out in early February which will include the first major re-sync&lt;br /&gt;
with the kernel code in libxfs, a cleanup of the exported library interfaces&lt;br /&gt;
and the move of two tools (xfs_fsr and xfs_estimate) from the xfsdump&lt;br /&gt;
package to xfsprogs.  After this the xfsprogs package will contain all&lt;br /&gt;
tools that use internal libxfs interfaces which fortunately equates to those&lt;br /&gt;
needed for normal administration.  The xfsdump package now only contains&lt;br /&gt;
the xfsdump/xfsrestore tools needed for backing up and restoring XFS&lt;br /&gt;
filesystems.  In addition it grew a fix to support dump/restore on systems&lt;br /&gt;
with a 64k page size.  A large number of acl/attr package patches was&lt;br /&gt;
posted to the list, but pending a possible split of these packages from the&lt;br /&gt;
XFS project these weren&#039;t processed yet.&lt;br /&gt;
&lt;br /&gt;
On the kernel side the big excitement in January was an in-memory corruption&lt;br /&gt;
introduced in the btree refactoring which hit people running 32bit platforms&lt;br /&gt;
without support for large block devices.  This issue was fixed and pushed&lt;br /&gt;
to the 2.6.29 development tree after a long collaborative debugging effort&lt;br /&gt;
at linux.conf.au.  Besides that about a dozen minor fixes were pushed to&lt;br /&gt;
2.6.29 and the first batch of misc patches for the 2.6.30 release cycle&lt;br /&gt;
was sent out.&lt;br /&gt;
&lt;br /&gt;
At the end of December the SGI group in Melbourne which the previous&lt;br /&gt;
XFS maintainer and some other developers worked for has been closed down&lt;br /&gt;
and they will be missed greatly.  As a result maintainership has been passed&lt;br /&gt;
on in a way that has been slightly controversial in the community, and the&lt;br /&gt;
first patchset of work in progress in Melbourne have been posted to the list&lt;br /&gt;
to be picked up by others.&lt;br /&gt;
&lt;br /&gt;
The xfs.org wiki has gotten a little facelift on it&#039;s front page making it&lt;br /&gt;
a lot easier to read.&lt;br /&gt;
&lt;br /&gt;
== XFS status update for December 2008 ==&lt;br /&gt;
&lt;br /&gt;
On Christmas Eve the 2.6.28 mainline kernel was release, with only minor XFS&lt;br /&gt;
bug fixes over 2.6.27.&lt;br /&gt;
&lt;br /&gt;
On the development side December has been busy but unspectacular month.&lt;br /&gt;
All lot of misc fixes and improvements have been sent out, tested and committed&lt;br /&gt;
especially on the user land side.&lt;br /&gt;
&lt;br /&gt;
== XFS status update for November 2008 ==&lt;br /&gt;
&lt;br /&gt;
The mainline kernel is now at 2.6.28-rc6 and includes a small number of&lt;br /&gt;
XFS fixes.  There have been no updates to the XFS development tree during&lt;br /&gt;
November.  Without new regressions that large number of changes that&lt;br /&gt;
missed 2.6.28 has thus stabilized to be ready for 2.6.29.  In the meantime&lt;br /&gt;
kernel-side development has been slow, with the only major patch set&lt;br /&gt;
being a wide number of fixes to the compatibility for 32 bit ioctls on&lt;br /&gt;
a 64 bit kernel.&lt;br /&gt;
&lt;br /&gt;
In the meantime there has been a large number of commits to the user space&lt;br /&gt;
tree, which mostly consist of smaller fixes.  xfsprogs is getting close&lt;br /&gt;
to have the 3.0.0 release which will be the first full resync with the&lt;br /&gt;
kernel sources since the year 2005.&lt;br /&gt;
&lt;br /&gt;
== XFS status update for October 2008 ==&lt;br /&gt;
&lt;br /&gt;
Linux 2.6.27 released with all the bits covered in last month&#039;s report.  It&lt;br /&gt;
did however miss two important fixes for regressions that a few people hit.&lt;br /&gt;
2.6.27.3 or later are recommended for use with XFS.&lt;br /&gt;
&lt;br /&gt;
In the meantime the generic btree implementation, the sync reorganization&lt;br /&gt;
and after a lot of merge pain the XFS and VFS inode unification hit the&lt;br /&gt;
development tree during the time allocated for the merge window.  No XFS&lt;br /&gt;
updates other than the two regression fixes also in 2.6.27.3 have made it&lt;br /&gt;
into mainline as of 2.6.28-rc3.&lt;br /&gt;
&lt;br /&gt;
The only new feature on the list in October is support for the fiemap&lt;br /&gt;
interface that has been added to the VFS during the 2.6.28 merge window.&lt;br /&gt;
However there was lot of patch traffic consisting of fixes and respun&lt;br /&gt;
versions of previously known patches.  There still is a large backlog of&lt;br /&gt;
patches on the list that is not applied to the development tree yet.&lt;br /&gt;
&lt;br /&gt;
== XFS status update for September 2008 ==&lt;br /&gt;
&lt;br /&gt;
With Linux 2.6.27 still not released but only making slow progress from 2.6.27-rc5 to 2.6.27-rc8 XFS changes in mainline have been minimal in September with only about half a dozen bug fixes patches.&lt;br /&gt;
&lt;br /&gt;
In the meantime the generic btree patch set has been committed to the development tree, but not many other updates yet. On the user space side xfsprogs 2.10.1 has been released on September 5th with a number of important bug fixes. Following the release of xfsprogs 2.10.1 open season for development of the user space code has started. The first full update of the shared kernel / user space code in libxfs since 2005 has been committed. In addition to that the number of headers installed for the regular devel package has been reduced to the required minimum and support for checking the source code for endianess errors using sparse has been added.&lt;br /&gt;
&lt;br /&gt;
The patch sets to unify the XFS and Linux inode structures, and rewrite various bits of the sync code have seen various iterations on the XFS list, but haven&#039;t been committed yet. A first set of patches implementing CRCs for various metadata structures has been posted to the list.&lt;br /&gt;
&lt;br /&gt;
== XFS status update for August 2008 ==&lt;br /&gt;
&lt;br /&gt;
With the 2.6.27-rc5 release the 2.6.27 cycle is nearing it&#039;s end. The major XFS feature in 2.6.27-rc5 is support for case-insensitive file names. At this point it is still limited to 7bit ASCII file names, with updates for utf8 file names expected to follow later. In addition to that 2.6.27-rc5 fixes a long-standing problem with non-EABI arm compiler which pack some XFS data structures wrongly. Besides this 2.6.27-rc5 also contains various cleanups, most notably the removal of the last bhv_vnode_t instances, and most uses of semaphores. As usual the diffstat for XFS from 2.6.26 to 2.6.26-rc5 is negative:&lt;br /&gt;
&lt;br /&gt;
       100 files changed, 3819 insertions(+), 4409 deletions(-)&lt;br /&gt;
&lt;br /&gt;
On the user space front a new minor xfsprogs version is about to be released containing various fixes including the user space part of arm packing fix.&lt;br /&gt;
&lt;br /&gt;
Work in progress on the XFS mailing list are a large patch set to unify the alloc, inobt and bmap btree implementation into a single that supports arbitrarily pluggable key and record formats. These btree changes are the first major preparation for adding CRC checks to all metadata structures in XFS, and an even larger patch set to unify the XFS and Linux inode structures, and perform all inode write back from the btree uses instead of an inode cache in XFS.&lt;br /&gt;
&lt;br /&gt;
== Updates before 2008 ==&lt;br /&gt;
&lt;br /&gt;
News up to 2007 can be found on a separate page: [[OLD_News]]&lt;/div&gt;</summary>
		<author><name>Hch</name></author>
	</entry>
	<entry>
		<id>https://xfs.org/index.php?title=User_talk:J3gum&amp;diff=2366</id>
		<title>User talk:J3gum</title>
		<link rel="alternate" type="text/html" href="https://xfs.org/index.php?title=User_talk:J3gum&amp;diff=2366"/>
		<updated>2011-10-13T10:42:51Z</updated>

		<summary type="html">&lt;p&gt;Hch: /* De-pretty/complicate the page? */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== De-pretty/complicate the page? ==&lt;br /&gt;
&lt;br /&gt;
Hi! I&#039;ve seen your [http://xfs.org/index.php?title=Main_Page&amp;amp;diff=2356&amp;amp;oldid=2256 edit] to &amp;quot;De-pretty/complicate the page&amp;quot; and I don&#039;t understand why you did that? Don&#039;t we want our wiki to be pretty too? I don&#039;t think the page was overly complicated, just a few boxes so that one does not have to scroll down, as the page gets longer and longer. -- [[User:Ckujau|Ckujau]] 06:02, 12 October 2011 (UTC)&lt;br /&gt;
&lt;br /&gt;
:First, I apologize if I&#039;ve overstepped.  That was not my intention.  I did try to add [http://xfs.org/index.php?title=Main_Page&amp;amp;diff=2357&amp;amp;oldid=2356 a link and header] before the edit to which you referred.  When added, the system generated table of contents overlapped the &amp;quot;custom box divisions&amp;quot;.  I added these two edits as two separate edits in case someone wanted to reimplement the &amp;quot;prettiness.&amp;quot;  I do believe these &amp;quot;prettiness&amp;quot; additions raise the bar for entry, that is not needed, for people trying to add content to the page. -- [[User:J3gum|J3gum]] 14:21, 12 October 2011 (UTC)&lt;br /&gt;
&lt;br /&gt;
::No apology needed. I appreciate your addition and I agree that every formatting syntax (Mediawiki-syntax or HTML) inbetween context can confuse people who just want to add context. But the [[Main_Page]] is somewhat special, IMHO. It&#039;s an overview of the most important pages and I think we need to keep it somewhat organized and not every page needs to be on the front page. Otherwise we could just redirect to [[Special:AllPages]] :-) Every other page on this wiki needs only little formatting (just bullet points (&amp;quot;*&amp;quot;) and paragraphs (&amp;quot;==&amp;quot;). I&#039;d like to re-pretty the [[Main_Page]] again and keep [{{SERVER}}/index.php?title=Main_Page&amp;amp;action=watch watching] the page so if another additon mangles the &amp;quot;prettyness&amp;quot; I&#039;ll gladly fix it. Thanks. -- [[User:Ckujau|Ckujau]] 20:59, 12 October 2011 (UTC)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Please do not randomly edit front pages.  If you think the format should be different please bring it up on the mailinglist.  I really dislike the new look,&lt;br /&gt;
but I&#039;ll give you the chance of getting more opinion on the mailinglist before simply reverting it.&lt;/div&gt;</summary>
		<author><name>Hch</name></author>
	</entry>
	<entry>
		<id>https://xfs.org/index.php?title=XFS_Status_Updates&amp;diff=2343</id>
		<title>XFS Status Updates</title>
		<link rel="alternate" type="text/html" href="https://xfs.org/index.php?title=XFS_Status_Updates&amp;diff=2343"/>
		<updated>2011-09-06T12:02:38Z</updated>

		<summary type="html">&lt;p&gt;Hch: August update&lt;/p&gt;
&lt;hr /&gt;
&lt;div&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 quite&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&#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&#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&#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&#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&#039;t been committed yet were discussed on the mailing list.&lt;br /&gt;
&lt;br /&gt;
== XFS status update for December 2010 ==&lt;br /&gt;
&lt;br /&gt;
The release process of the Linux 2.6.37 kernel with it&#039;s large XFS updates&lt;br /&gt;
was in it&#039;s final days in December, which explains why we only saw a single&lt;br /&gt;
one-liner regression fix for XFS in Linus&#039; tree.  The XFS development tree&lt;br /&gt;
finally saw some updates when the writeback updates and some small cleanups&lt;br /&gt;
to the allocator and log recovery code were merged, but the large metadata&lt;br /&gt;
scalability updates that have been posted to the list multiple times are&lt;br /&gt;
still missing.  In addition to this on-going work the list also saw patches&lt;br /&gt;
that fix smaller issues, which are also still waiting to be merged.&lt;br /&gt;
&lt;br /&gt;
On the userspace side xfsprogs and xfsdump development has been quit, with&lt;br /&gt;
no commits to either repository in December, although a large series of&lt;br /&gt;
updates to the metadump command has been reposted near the end of the month.&lt;br /&gt;
The xfstests repository saw a new regression test for a btrfs problem,&lt;br /&gt;
and various updates to existing tests.&lt;br /&gt;
&lt;br /&gt;
== XFS status update for November 2010 ==&lt;br /&gt;
&lt;br /&gt;
From looking at the kernel git commits November looked like a pretty&lt;br /&gt;
slow month with just two hand full fixes going into the release candidates&lt;br /&gt;
for Linux 2.6.37, and none at all going into the development tree.&lt;br /&gt;
But in this case git statistics didn&#039;t tell the whole story - there&lt;br /&gt;
was a lot of activity on patches for the next merge window on the list.&lt;br /&gt;
The focus in November was still at metadata scalability, with various&lt;br /&gt;
patchsets that improves parallel creates and unlinks again, and also&lt;br /&gt;
improves 8-way dbench throughput by 30%.  In addition to that there&lt;br /&gt;
were patches to improve preallocation for NFS servers, to simplify&lt;br /&gt;
the writeback code, and to remove the XFS-internal percpu counters&lt;br /&gt;
for free space for the generic kernel percpu counters, which just needed&lt;br /&gt;
a small improvement.&lt;br /&gt;
&lt;br /&gt;
On the user space side we saw the release of xfsprogs 3.1.4, which&lt;br /&gt;
contains various accumulated bug fixes and Debian packaging updates.&lt;br /&gt;
The xfsdump tree saw a large update to speed up restore by using&lt;br /&gt;
mmap for an internal database and remove the limitation of ~ 214&lt;br /&gt;
million directory entries per dump file.  The xfstests test suite&lt;br /&gt;
saw three new testcases and various fixes, including support for the&lt;br /&gt;
hfsplus filesystem.&lt;br /&gt;
&lt;br /&gt;
== XFS status update for October 2010 ==&lt;br /&gt;
&lt;br /&gt;
Near the end of the month we finally saw the release of Linux 2.6.36.&lt;br /&gt;
Just a single fix made it into mainline in this month, showing that the&lt;br /&gt;
stabilization period before has worked very well.&lt;br /&gt;
&lt;br /&gt;
Linux 2.6.36 has been another impressive release for XFS, seeing&lt;br /&gt;
various performance improvements in the new delayed logging code,&lt;br /&gt;
for direct I/O and the sync system call, a few bug fixes, and lots&lt;br /&gt;
of cleanups, resulting in a net removal of over 2000 lines of code:&lt;br /&gt;
&lt;br /&gt;
        89 files changed, 1998 insertions(+), 4279 deletions(-)&lt;br /&gt;
&lt;br /&gt;
The merge window for Linux 2.6.37 opened just a few days after the&lt;br /&gt;
release of Linux 2.6.36 and already contains another large XFS update&lt;br /&gt;
at the end of October.  Highlights of the XFS tree merged into 2.6.37-rc1&lt;br /&gt;
are another large set of metadata scalability patches, support for 32-bit&lt;br /&gt;
wide project IDs, and support for the new XFS_IOC_ZERO_RANGE ioctl,&lt;br /&gt;
which allows to punch a whole and convert it to an unwritten extent&lt;br /&gt;
in a single atomic operation.&lt;br /&gt;
&lt;br /&gt;
The metadata scalability changes improve 8-way fs_mark of 50 million files&lt;br /&gt;
by over 15% and removal of those files by over 100%, with further&lt;br /&gt;
improvements expected by the next round of XFS metadata scalability&lt;br /&gt;
and VFS scalability improvements targeted at Linux 2.6.38.&lt;br /&gt;
&lt;br /&gt;
On the user space side October was a rather quit month for xfsprogs, which&lt;br /&gt;
only saw the addition of 32-bit project ID handling, and a fix for&lt;br /&gt;
parsing the mount table in fsr when used together with disk encryption&lt;br /&gt;
tools.  A few patches for xfsdump were posted on the list, but none&lt;br /&gt;
was applied, leaving the majority of the user space activity to&lt;br /&gt;
xfstests, which saw very active development.  Various patches went&lt;br /&gt;
into xfstests to improve portability to filesystems with a limited&lt;br /&gt;
feature set, and to move more filters to generic code.  In addition&lt;br /&gt;
various cleanups to test cases in test programs were applied.&lt;br /&gt;
&lt;br /&gt;
== XFS status update for September 2010 ==&lt;br /&gt;
&lt;br /&gt;
Mainline activity has been rather low in September while with only&lt;br /&gt;
two more fixes going into the 2.6.36 release candidates after the&lt;br /&gt;
large merge activity in August.  Development for the next merge&lt;br /&gt;
window has been more active.  The largest item was the inclusion&lt;br /&gt;
of the metadata scalability patch series, which provides very large&lt;br /&gt;
speedups for parallel metadata operations.  In addition a new&lt;br /&gt;
ioctl to punch holes and convert the whole to an unwritten extent&lt;br /&gt;
was added and a small number of cleanups also made it into the tree.&lt;br /&gt;
&lt;br /&gt;
Patches to add support for 32bit wide project ID identifiers and&lt;br /&gt;
using group and project quotas concurrently were posted to the list&lt;br /&gt;
and discussed but not yet included.&lt;br /&gt;
&lt;br /&gt;
Userspace development has been rather quiet again, with a single fix&lt;br /&gt;
committed to xfsprogs and xfsdump each.  The xfstests test suite grew&lt;br /&gt;
a new test case and received a few additional fixes.  Last but not least&lt;br /&gt;
the [http://xfs.org/docs/xfsdocs-xml-dev/XFS_User_Guide//tmp/en-US/html/index.html XFS Users Guide]&lt;br /&gt;
was updated with various factual corrections and spelling fixes.&lt;br /&gt;
&lt;br /&gt;
== XFS status update for August 2010 ==&lt;br /&gt;
&lt;br /&gt;
At the first of August we finally saw the release of Linux 2.6.35,&lt;br /&gt;
which includes a large XFS update.  The most prominent feature in&lt;br /&gt;
Linux 2.6.35 is the new delayed logging code which provides massive&lt;br /&gt;
speedups for metadata-intensive workloads, but there has been&lt;br /&gt;
a large amount of other fixes and cleanups, leading to the following&lt;br /&gt;
diffstat:&lt;br /&gt;
&lt;br /&gt;
         67 files changed, 4426 insertions(+), 3835 deletions(-)&lt;br /&gt;
&lt;br /&gt;
Given the early release of Linux 2.6.35 the merge window for the&lt;br /&gt;
next release fully fell into the month of August.  The XFS updates&lt;br /&gt;
for Linux 2.6.36 include various additional performance improvements&lt;br /&gt;
in the delayed logging code, for direct I/O writes and for avoiding&lt;br /&gt;
synchronous transactions, as well as various fixed and large amount&lt;br /&gt;
of cleanups, including the removal of the remaining dead DMAPI&lt;br /&gt;
code.&lt;br /&gt;
&lt;br /&gt;
On the userspace side we saw the 3.1.3 release of xfsprogs, which includes&lt;br /&gt;
various smaller fixes, support for the new XFS_IOC_ZERO_RANGE ioctl and&lt;br /&gt;
Debian packaging updates.  The xfstests package saw one new test case&lt;br /&gt;
and a couple of smaller patches, and xfsdump has not seen any updates at&lt;br /&gt;
all.&lt;br /&gt;
&lt;br /&gt;
The XMLified versions of the XFS users guide, training labs and filesystem&lt;br /&gt;
structure documentation are now available as on the fly generated html on&lt;br /&gt;
the xfs.org website and can be found at [[XFS_Papers_and_Documentation|Papers &amp;amp; Documentation]].&lt;br /&gt;
&lt;br /&gt;
== XFS status update for July 2010 ==&lt;br /&gt;
&lt;br /&gt;
July saw three more release candidates for the Linux 2.6.35 kernel, which&lt;br /&gt;
included a relatively large number of XFS updates.  There were two security&lt;br /&gt;
fixes, a small one to prevent swapext to operate on write-only file&lt;br /&gt;
descriptors, and a much larger one to properly validate inode numbers&lt;br /&gt;
coming from NFS clients or userspace applications using the bulkstat or&lt;br /&gt;
the open-by-handle interfaces.  In addition to that another relatively&lt;br /&gt;
large patch fixes the way inodes get reclaimed in the background, and&lt;br /&gt;
avoids inode caches growing out of bounds.&lt;br /&gt;
&lt;br /&gt;
In the meantime the code for the Linux 2.6.36 got the last touches before&lt;br /&gt;
the expected opening of the merge window, by merging a few more last&lt;br /&gt;
minute fixes and cleanups.  The most notable one is a patch series&lt;br /&gt;
that fixes in-memory corruption when concurrently accessing unwritten&lt;br /&gt;
extents using the in-kernel AIO code.&lt;br /&gt;
&lt;br /&gt;
The userspace side was still quite slow, but some a bit more activity&lt;br /&gt;
than June.  In xfsprogs the xfs_db code grew two bug fixes, as did&lt;br /&gt;
the xfs_io script.  The xfstests package saw one new test cases and&lt;br /&gt;
various fixes to existing code.  Last but not least a few patches&lt;br /&gt;
affecting the build system for all userspace tools were committed.&lt;br /&gt;
&lt;br /&gt;
== XFS status update for June 2010 ==&lt;br /&gt;
&lt;br /&gt;
The month of June saw a few important bug fixes for the Linux 2.6.35&lt;br /&gt;
release candidates.  That includes ensuring that files used for the&lt;br /&gt;
swapext ioctl are writable to the user, and doing proper validation&lt;br /&gt;
of inodes coming from untrusted sources, such as NFS exporting and&lt;br /&gt;
the open by handle system calls.  The main work however has been&lt;br /&gt;
focused on development for the Linux 2.6.36 merge window, including&lt;br /&gt;
merging various patches that have been out on the mainline list&lt;br /&gt;
for a long time.  Highlights include further performance improvements&lt;br /&gt;
for sync heavy metadata workloads, stack space reduction in the&lt;br /&gt;
writeback path and improvements of the XFS tracing infrastructure.&lt;br /&gt;
Also after some discussion the remaining hooks for DMAPI are going&lt;br /&gt;
to be dropped in mainline.   As a replacement a tree containing&lt;br /&gt;
full DMAPI support with a slightly cleaner XFS interaction will be&lt;br /&gt;
hosted by SGI.&lt;br /&gt;
&lt;br /&gt;
On the userspace side June was a rather slow month, with no updates&lt;br /&gt;
to xfsprogs and xfsdump at all, and just one new test case and a cleanup&lt;br /&gt;
applied to xfstests.&lt;br /&gt;
&lt;br /&gt;
== XFS status update for May 2010 ==&lt;br /&gt;
&lt;br /&gt;
In May 2010 we saw the long awaited release of Linux 2.6.34, which includes&lt;br /&gt;
a large XFS update.  The most important features appearing in 2.6.34 was the&lt;br /&gt;
new inode and quota flushing code, which leads to much better I/O patterns&lt;br /&gt;
for metadata-intensive workloads.  Additionally support for synchronous NFS&lt;br /&gt;
exports has been improved to give much better performance, and performance&lt;br /&gt;
for the fsync, fdatasync and sync system calls has been improved slightly.&lt;br /&gt;
A bug when resizing extremely busy filesystems has been fixed, which required&lt;br /&gt;
extensive modification to the data structure used for looking up the&lt;br /&gt;
per-allocation group data.  Last but not least there was a steady flow of&lt;br /&gt;
minor bug fixes and cleanups, leading to the following diffstat from&lt;br /&gt;
2.6.33 to 2.6.34:&lt;br /&gt;
&lt;br /&gt;
  86 files changed, 3209 insertions(+), 3178 deletions(-)&lt;br /&gt;
&lt;br /&gt;
Meanwhile active development aimed at 2.6.35 merge progressed.  The&lt;br /&gt;
major feature for this window is the merge of the delayed logging code,&lt;br /&gt;
which adds a new logging mode that dramatically reduces the bandwidth&lt;br /&gt;
required for log I/O.  See the &lt;br /&gt;
[http://git.kernel.org/?p=linux/kernel/git/torvalds/linux-2.6.git;a=blob;f=Documentation/filesystems/xfs-delayed-logging-design.txt;h=96d0df28bed323d5596fc051b0ffb96ed8e3c8df;hb=HEAD documentation] for details.  Testers&lt;br /&gt;
for this new code are welcome.&lt;br /&gt;
&lt;br /&gt;
In userland xfsprogs saw the long awaited 3.1.2 release, which can be&lt;br /&gt;
considered a bug fix release for xfs_repair, xfs_fsr and mkfs.xfs.  After&lt;br /&gt;
the release a few more fixes were merged into the development tree.&lt;br /&gt;
The xfstests package saw various new tests, including many tests to&lt;br /&gt;
exercise the quota code, and a few fixes to existing tests.&lt;br /&gt;
&lt;br /&gt;
== XFS status update for April 2010 ==&lt;br /&gt;
&lt;br /&gt;
In April 2.6.34 still was in the release candidate phase, with&lt;br /&gt;
a hand full of XFS fixes making it into mainline.  Development for&lt;br /&gt;
the 2.6.35 merge window went ahead full steam at the same time.&lt;br /&gt;
&lt;br /&gt;
While a fair amount of patches hit the development tree these were&lt;br /&gt;
largely cleanups, with the real development activity happening on&lt;br /&gt;
the mailing list.  There was another round of patches and following&lt;br /&gt;
discussion on the scalable busy extent tracking and delayed logging&lt;br /&gt;
features mentioned last month.  They are expected to be merged in&lt;br /&gt;
May and queue up for the Linux 2.6.35 window.  Last but not least&lt;br /&gt;
April saw a large number of XFS fixes backported to the 2.6.32 and&lt;br /&gt;
2.6.33 -stable series.&lt;br /&gt;
&lt;br /&gt;
In user land xfsprogs has seen few but important updates, preparing&lt;br /&gt;
for a new release next month.  The xfs_repair tool saw a fix to&lt;br /&gt;
correctly enable the lazy superblock counters on an existing&lt;br /&gt;
filesystem, and xfs_fsr saw updates to better deal with dynamic&lt;br /&gt;
attribute forks.  Last but not a least a port to Debian GNU/kFreeBSD&lt;br /&gt;
got merged. The xfstests test suite saw two new test cases and various&lt;br /&gt;
smaller fixes.&lt;br /&gt;
&lt;br /&gt;
== XFS status update for March 2010 ==&lt;br /&gt;
&lt;br /&gt;
The merge window for Linux 2.6.34 closed in the first week of March,&lt;br /&gt;
with the important XFS features already landing in February.  Not&lt;br /&gt;
surprisingly the XFS merge activity in March has been rather slow,&lt;br /&gt;
with only about a dozen bug fixes patches making it towards Linus&#039;&lt;br /&gt;
tree in that time.&lt;br /&gt;
&lt;br /&gt;
On the other hand active development for the 2.6.35 merge window has&lt;br /&gt;
been very active.  Most importantly there was a lot of work on the&lt;br /&gt;
transaction and log subsystems.  Starting with a large patchset to&lt;br /&gt;
clean up and refactor the transaction subsystem and introducing more&lt;br /&gt;
flexible I/O containers in the low-level logging code work is&lt;br /&gt;
progressing to a new, more efficient logging implementation.  While&lt;br /&gt;
this preparatory work has already been merged in the development tree,&lt;br /&gt;
the actual delayed logging implementation still needs more work after&lt;br /&gt;
the initial public posting.  The delayed logging implementation which&lt;br /&gt;
is very briefly modeled after the journaling mode in the ext3/4&lt;br /&gt;
and reiserfs filesystems allows to accumulated multiple asynchronous&lt;br /&gt;
transactions in memory instead of possibly writing them out&lt;br /&gt;
many times.  Using the new delayed logging mechanism I/O bandwidth&lt;br /&gt;
used for the log decreases by orders of magnitude and performance&lt;br /&gt;
on metadata intensive workloads increases massively.&lt;br /&gt;
&lt;br /&gt;
In addition to that a new version of the discard (aka TRIM) support&lt;br /&gt;
has been posted, this time entirely contained in kernel space&lt;br /&gt;
and without the need of a userspace utility to drive it.  Last but&lt;br /&gt;
not least the usual steady stream of cleanups and bug fixes has not&lt;br /&gt;
ceased this month either.&lt;br /&gt;
&lt;br /&gt;
Besides the usual flow of fixes and new test cases in the xfstests&lt;br /&gt;
test suite development on the userspace side has been rather slow.&lt;br /&gt;
Xfsprogs has only seen a single fix for SMP locking in xfs_repair&lt;br /&gt;
and support for building on Debian GNU/kFreeBSD, and xfsdump&lt;br /&gt;
has seen no commit at all.&lt;br /&gt;
&lt;br /&gt;
== XFS status update for February 2010 ==&lt;br /&gt;
&lt;br /&gt;
February saw the release of the Linux 2.6.33 kernel, which includes&lt;br /&gt;
a large XFS update.  The biggest user-visible change in Linux 2.6.33&lt;br /&gt;
is that XFS now support the generic Linux trace event infrastructure,&lt;br /&gt;
which allows tracing lots of XFS behavior with a normal production&lt;br /&gt;
built kernel.  Except for this Linux 2.6.33 has been mostly a bug-fix&lt;br /&gt;
release, fixing various user reported bugs in previous releases.&lt;br /&gt;
The total diffstat for XFS in Linux 2.6.33 looks like:&lt;br /&gt;
&lt;br /&gt;
  84 files changed, 3023 insertions(+), 3550 deletions(-)&lt;br /&gt;
&lt;br /&gt;
In addition to that the merge window for Linux 2.6.34 opened and the&lt;br /&gt;
first merge of the XFS tree made it into Linus tree.  Unlike Linux&lt;br /&gt;
2.6.33 this merge window includes major feature work.  The most&lt;br /&gt;
important change for users is a new algorithm for inode and quota&lt;br /&gt;
writeback that leads to better I/O locality and improved metadata&lt;br /&gt;
performance.  The second big change is a rewrite of the per-allocation&lt;br /&gt;
group data lookup which fixes a long-standing problem in the code&lt;br /&gt;
to grow a life filesystem and will also ease future filesystem&lt;br /&gt;
shrinking support.  Not merged through the XFS tree, but of great&lt;br /&gt;
importance for embedded users is a new API that allows XFS to properly&lt;br /&gt;
flush cache lines on it&#039;s log and large directory buffers, making&lt;br /&gt;
XFS work properly on architectures with virtually indexed caches,&lt;br /&gt;
such as parisc and various arm and mips variants.  Last but not&lt;br /&gt;
least there is an above average amount of cleanups that went into&lt;br /&gt;
Linus tree in this cycle.&lt;br /&gt;
&lt;br /&gt;
There have been more patches on the mailing list that haven&#039;t made&lt;br /&gt;
it to Linus tree yet, including an optimized implementation of&lt;br /&gt;
fdatasync(2) and massive speedups for metadata workloads on&lt;br /&gt;
NFS exported XFS filesystems.&lt;br /&gt;
&lt;br /&gt;
On the userspace side February has been a relatively quiet month.&lt;br /&gt;
Lead by xfstests only a moderate amount of fixes made it into&lt;br /&gt;
the respective trees.&lt;br /&gt;
&lt;br /&gt;
== XFS status update for January 2010 ==&lt;br /&gt;
&lt;br /&gt;
January saw additional release candidates of the Linux 2.6.33 kernel,&lt;br /&gt;
including a couple of bug fixes for XFS.  In the meantime the XFS tree&lt;br /&gt;
has been growing a large number of patches destined for the Linux 2.6.34&lt;br /&gt;
merge window: a large rework of the handling of per-AG data, support for&lt;br /&gt;
the quota netlink interface, and better power saving behavior of the&lt;br /&gt;
XFS kernel threads, and of course various cleanups.&lt;br /&gt;
&lt;br /&gt;
A large patch series to replace the current asynchronous inode writeback&lt;br /&gt;
with a new scheme that uses the delayed write buffers was posted to&lt;br /&gt;
the list.  The new scheme, which allows archive better I/O locality by&lt;br /&gt;
dispatching meta-data I/O from a single place has been discussed&lt;br /&gt;
extensively and is expected to be merged in February.&lt;br /&gt;
&lt;br /&gt;
On the userspace side January saw the 3.1.0 and 3.1.1 releases of xfsprogs,&lt;br /&gt;
as well as the 3.0.4 release of xfsdump.  The biggest changes in xfsprogs&lt;br /&gt;
3.1.0 were optimizations in xfs_repair that lead to a much lower memory&lt;br /&gt;
usage, and optional use of the blkid library for filesystem detection&lt;br /&gt;
and retrieving storage topology information.  The 3.1.1 release contained&lt;br /&gt;
various important bug fixes for these changes and a various improvements to&lt;br /&gt;
the build system.  The major feature of xfsdump 3.0.4 were fixes for&lt;br /&gt;
time stamp handling on 64-bit systems.&lt;br /&gt;
&lt;br /&gt;
The xfstests package also lots of activity including various new testcases&lt;br /&gt;
and an improved build system.&lt;br /&gt;
&lt;br /&gt;
== XFS status update for December 2009 ==&lt;br /&gt;
&lt;br /&gt;
December finally saw the long awaited release of Linux 2.6.32, which for&lt;br /&gt;
XFS is mostly a bug fix release, with the major changes being various&lt;br /&gt;
improvement to the sync path, including working around the expectation&lt;br /&gt;
from the grub boot loader where metadata is supposed to be after a sync()&lt;br /&gt;
system call.  Together with a refactoring of the inode allocator this&lt;br /&gt;
gives a nice diffstat for this kernel release:&lt;br /&gt;
&lt;br /&gt;
 46 files changed, 767 insertions(+), 1048 deletions(-)&lt;br /&gt;
&lt;br /&gt;
In the meantime development for the 2.6.33 has been going strong.  The&lt;br /&gt;
new event tracing code that allows to observe the inner workings of XFS&lt;br /&gt;
in production systems has finally been merged, with another patch to&lt;br /&gt;
reduce the size of the tracing code by using new upstream kernel features&lt;br /&gt;
posted for review.  Also a large patch series has been posted which&lt;br /&gt;
changes per-AG data to be looked up by a radix tree instead of the&lt;br /&gt;
existing array.  This works around possible deadlocks and user after&lt;br /&gt;
free issues during growfs, and prepares for removing a global (shared)&lt;br /&gt;
lock from the free space allocators.  In addition to that a wide range&lt;br /&gt;
of fixes has been posted and applied.&lt;br /&gt;
&lt;br /&gt;
Work on the userspace packages has been just as busy.  In mkfs.xfs the&lt;br /&gt;
lazy superblock counter feature has now been enabled by default for the&lt;br /&gt;
upcoming xfsprogs 3.1.0 release, which will require kernel 2.6.22 for&lt;br /&gt;
the default mkfs invocation.  Also for mkfs.xfs as patch was posted&lt;br /&gt;
to correct the automatic detection of 4 kilobyte sector drivers which&lt;br /&gt;
are expected to show up in large quantities the real work soon.  The&lt;br /&gt;
norepair mode in xfs_repair has been enhanced with additional freespace&lt;br /&gt;
btree correction checks from xfs_db and is now identical to xfs_check in&lt;br /&gt;
filesystem consistency checking coverage.  A temporary file permission&lt;br /&gt;
problems has been fixed in xfs_fsr, and the libhandle library has been&lt;br /&gt;
fixed to better deal with symbolic links.  In xfs_io a few commands&lt;br /&gt;
that were added years ago have finally been wired up to actually be&lt;br /&gt;
usable.  And last but not least xfsdump saw a fix to the time stamp&lt;br /&gt;
handling in the backup format and some usability and documentation&lt;br /&gt;
improvements to xfsinvutil.&lt;br /&gt;
&lt;br /&gt;
== XFS status update for November 2009 ==&lt;br /&gt;
&lt;br /&gt;
November was a relatively slow month for XFS development.  The XFS tree&lt;br /&gt;
that is destined for the Linux 2.6.33 merge window saw a few fixes and&lt;br /&gt;
cleanups applied to it, and few important fixes still made it into the&lt;br /&gt;
last Linux 2.6.32 release candidates.  A few more patches including a&lt;br /&gt;
final version of the event tracing support for XFS were posted but not&lt;br /&gt;
reviewed yet.&lt;br /&gt;
&lt;br /&gt;
On the userspace side there has been a fair amount of xfsprogs activity.&lt;br /&gt;
The repair speedup patches have finally been merged into the main development&lt;br /&gt;
branch and a couple of other fixes to the various utilities made it in, too.&lt;br /&gt;
The xfstests test suite saw another new regression test suite and a build&lt;br /&gt;
system fix up.&lt;br /&gt;
&lt;br /&gt;
== XFS status update for October 2009 ==&lt;br /&gt;
In October we saw the Linux 2.6.32 merge window with a major XFS update.&lt;br /&gt;
This update includes a refactoring of the inode allocator which also&lt;br /&gt;
allows for speedups for very large filesystems, major sync fixes, updates&lt;br /&gt;
to the fsync and O_SYNC handling which merge the two code paths into a single&lt;br /&gt;
and more efficient one, a workaround for the VFS time stamp behavior,&lt;br /&gt;
and of course various smaller fixes.  A couple of additional fixes have been&lt;br /&gt;
queued up for the next merge window.&lt;br /&gt;
&lt;br /&gt;
On the userspace side there has been a healthy activity on xfsprogs:  mkfs can&lt;br /&gt;
now discard unused sectors on SSDs and thinly provisioned storage devices and&lt;br /&gt;
use the more generic libblkid for topology information and filesystems detection&lt;br /&gt;
instead of the older libdisk, and the build system gained some updates to&lt;br /&gt;
make the source package generation simpler and shared for different package&lt;br /&gt;
types.  A patch has been out to the list but yet committed to add symbol&lt;br /&gt;
versioning to the libhandle library to make future ABI additions easier.&lt;br /&gt;
The xfstests package only saw some minor activity with a new test case&lt;br /&gt;
and small build system fixes.&lt;br /&gt;
&lt;br /&gt;
New minor releases of xfsprogs and xfsdump were tagged but not formally&lt;br /&gt;
released after additional discussion.  Instead a new major xfsprogs release&lt;br /&gt;
is planned for next month.&lt;br /&gt;
&lt;br /&gt;
== XFS status update for September 2009 ==&lt;br /&gt;
&lt;br /&gt;
In September the Linux 2.6.31 kernel was finally released, including another&lt;br /&gt;
last minute XFS fix for the swapext (defragmentation) compat ioctl handler.&lt;br /&gt;
The final patch from 2.6.30 to 2.6.31 shows the following impressive diffstat&lt;br /&gt;
for XFS:&lt;br /&gt;
&lt;br /&gt;
   55 files changed, 1476 insertions(+), 2269 deletions(-)&lt;br /&gt;
&lt;br /&gt;
The 2.6.32 merge window started with a large XFS merge that included changes&lt;br /&gt;
to the inode allocator, and a few smaller fixes.  New versions of the sync&lt;br /&gt;
and time stamp fixes as well as the event tracing support have been posted&lt;br /&gt;
in September but not yet merged into the XFS development tree and/or mainline.&lt;br /&gt;
&lt;br /&gt;
On the userspace side a large patch series to reduce the memory usage in&lt;br /&gt;
xfs_repair to acceptable levels was posted, but not yet merged.  A new xfs_df&lt;br /&gt;
shell script to measure use of the on disk space was posted but not yet&lt;br /&gt;
merged pending some minor review comments and a missing man page.  In addition&lt;br /&gt;
we saw the usual amount of smaller fixes and cleanups.&lt;br /&gt;
&lt;br /&gt;
Also this month Felix Blyakher resigned from his post as XFS maintainer and handed off to Alex Elder.&lt;br /&gt;
&lt;br /&gt;
== XFS status update for August 2009 ==&lt;br /&gt;
&lt;br /&gt;
In August the Linux 2.6.31 kernel has still been in the release candidate&lt;br /&gt;
stage, but a couple of important XFS fixes made it in time for the release,&lt;br /&gt;
including a fix for the inode cache races with NFS workloads that have&lt;br /&gt;
plagued us for a long time.&lt;br /&gt;
&lt;br /&gt;
The list saw various patches destined for the Linux 2.6.32 merge window,&lt;br /&gt;
including a merge of the fsync and O_SYNC handling code to address various&lt;br /&gt;
issues with the latter, a workaround for deficits in the timestamp handling&lt;br /&gt;
interface between the VFS and filesystems, a repost of the sync improvements&lt;br /&gt;
patch series and various smaller patches.&lt;br /&gt;
&lt;br /&gt;
August also saw the minor 3.0.3 release of xfsprogs which collects smaller&lt;br /&gt;
fixes to the various tools and most importantly a fix to allow xfsprogs to&lt;br /&gt;
work again on SPARC and other strict alignment handling which regressed a&lt;br /&gt;
few releases ago.  The xfstests repository saw a few new test cases and a&lt;br /&gt;
various small improvements.&lt;br /&gt;
&lt;br /&gt;
== XFS status update for July 2009 ==&lt;br /&gt;
&lt;br /&gt;
As a traditional summer vacation month July has not seen a lot of XFS&lt;br /&gt;
activity.  The mainline 2.6.31 kernel made it to the 5th release candidate&lt;br /&gt;
but besides a few kernel-wide patches touching XFS the only activity were&lt;br /&gt;
two small patches fixing a bug in FIEMAP and working around writeback&lt;br /&gt;
performance problems in the VM.&lt;br /&gt;
&lt;br /&gt;
A few more patches were posted to the list but haven&#039;t been merged yet.&lt;br /&gt;
Two big patch series deal with theoretically possible deadlocks due to&lt;br /&gt;
locks taken in reclaim contexts, which are now detected by lockdep.&lt;br /&gt;
&lt;br /&gt;
The pace on the userspace side has been slow.  There have been a couple&lt;br /&gt;
of fixes to xfs_repair and xfs_db, and xfstests grew a few more testcases.&lt;br /&gt;
&lt;br /&gt;
== XFS status update for June 2009 ==&lt;br /&gt;
&lt;br /&gt;
On June 9th we finally saw the release of Linux 2.6.30.  For XFS&lt;br /&gt;
this release mostly contains the improved ENOSPC handling, but also&lt;br /&gt;
various smaller bugfixes and lots of cleanups.  The code size of XFS&lt;br /&gt;
decreased again by 500 lines of code in this release.&lt;br /&gt;
&lt;br /&gt;
The Linux 2.6.31 merge opened in the mid of the month and some big XFS&lt;br /&gt;
changes have been pushed: A removal of the quotaops&lt;br /&gt;
infrastructure which simplifies the quota implementation, the switch&lt;br /&gt;
from XFS&#039;s own Posix ACL implementation to the generic one shared&lt;br /&gt;
by various other filesystems which also supports in-memory caching of&lt;br /&gt;
ACLs and another incremental refactoring of the sync code.&lt;br /&gt;
&lt;br /&gt;
A patch to better track dirty inodes and work around issues in the&lt;br /&gt;
way the VFS updates the access time stamp on inodes has been reposted&lt;br /&gt;
and discussed. Another patch to converting the existing XFS tracing&lt;br /&gt;
infrastructure to use the ftrace even tracer has been posted.&lt;br /&gt;
&lt;br /&gt;
On the userspace side there have been a few updates to xfsprogs, including&lt;br /&gt;
some repair fixes and a new fallocate command for xfs_io.  There were&lt;br /&gt;
major updates for xfstests:  The existing aio-dio-regress testsuite has&lt;br /&gt;
been merged into xfstests, and various changes went into the tree to make&lt;br /&gt;
xfstests better suitable for use with other filesystems.&lt;br /&gt;
&lt;br /&gt;
The attr and acl projects which have been traditionally been hosted&lt;br /&gt;
as part of the XFS userspace utilities have now been split into a separate&lt;br /&gt;
project maintained by Andreas Gruenbacher, who has been doing most of&lt;br /&gt;
the work on it, and moved to the Savannah hosting platform.&lt;br /&gt;
&lt;br /&gt;
== XFS status update for May 2009 ==&lt;br /&gt;
&lt;br /&gt;
In May Linux 2.6.30 was getting close to be released, and various&lt;br /&gt;
important XFS fixes made it during the latest release candidates.&lt;br /&gt;
In the meantime some big patch series to rework the sync code and&lt;br /&gt;
the inode allocator have been posted for the next merge window.&lt;br /&gt;
&lt;br /&gt;
On the userspace side xfsprogs and xfsdump 3.0.1 were finally released,&lt;br /&gt;
quickly followed by 3.0.2 releases with updated Debian packaging.&lt;br /&gt;
After that various small patches that were held back made it into xfsprogs.&lt;br /&gt;
A patch to add the xfs_reno tool which allows to move inodes around to&lt;br /&gt;
fit into 32 bit inode number space has been posted which is also one&lt;br /&gt;
central aspect of future online shrinking support.&lt;br /&gt;
&lt;br /&gt;
There has been major activity on xfstests including adding generic&lt;br /&gt;
filesystems support to allow running tests that aren&#039;t XFS-specific on&lt;br /&gt;
any Linux filesystems.&lt;br /&gt;
&lt;br /&gt;
== XFS status update for April 2009 ==&lt;br /&gt;
&lt;br /&gt;
In April development for Linux 2.6.30 was in full motion.  A patchset to correct flushing of delayed allocations with near full filesystems has been committed in early April, as well as various smaller fixes. A patch series to improve the behavior of sys_sync has been posted but is waiting for VFS changes queued for Linux 2.6.31.&lt;br /&gt;
&lt;br /&gt;
On the userspace side xfsprogs and xfsdump 3.0.1 have managed to split their release dates into May again after a lot of last-minute build system updates.&lt;br /&gt;
&lt;br /&gt;
== XFS status update for March 2009 ==&lt;br /&gt;
&lt;br /&gt;
Linux 2.6.29 has been released which includes major XFS updates like the&lt;br /&gt;
new generic btree code, a fully functional 32bit compat ioctl implementation&lt;br /&gt;
and the new combined XFS and Linux inode.  (See previous status reports&lt;br /&gt;
for more details). A patch series to improve correctness and performance&lt;br /&gt;
has been posted but not yet applied.  Various minor fixes and cleanups&lt;br /&gt;
have been sent to Linus for 2.6.30 which looks like it will be a minor&lt;br /&gt;
release for XFS after the big churn in 2.6.29.&lt;br /&gt;
&lt;br /&gt;
On userspace a lot of time has been spent on fixing and improving the&lt;br /&gt;
build system shared by the various XFS utilities as well as various smaller&lt;br /&gt;
improvements leading to the xfsprogs and xfsdump 3.0.1 releases which are&lt;br /&gt;
still outstanding.&lt;br /&gt;
&lt;br /&gt;
== XFS status update for February 2009 ==&lt;br /&gt;
&lt;br /&gt;
In February various smaller fixes have been sent to Linus for 2.6.29,&lt;br /&gt;
including a revert of the faster vmap APIs which don&#039;t seem to be quite&lt;br /&gt;
ready yet on the VM side.  At the same time various patches have been&lt;br /&gt;
queued up for 2.6.30, with another big batch pending.  There also has&lt;br /&gt;
been a repost of the CRC patch series, including support for a new,&lt;br /&gt;
larger inode core.&lt;br /&gt;
&lt;br /&gt;
SGI released various bits of work in progress from former employees&lt;br /&gt;
that will be extremely helpful for the future development of XFS,&lt;br /&gt;
thanks a lot to Mark Goodwin for making this happen.&lt;br /&gt;
&lt;br /&gt;
On the userspace side the long awaited 3.0.0 releases of xfsprogs and&lt;br /&gt;
xfsdump finally happened early in the month, accompanied by a 2.2.9&lt;br /&gt;
release of the dmapi userspace.  There have been some issues with packaging&lt;br /&gt;
so a new minor release might follow soon.&lt;br /&gt;
&lt;br /&gt;
The xfs_irecover tool has been relicensed so that it can be merged into&lt;br /&gt;
the GPLv2 codebase of xfsprogs, but the actual integration work hasn&#039;t&lt;br /&gt;
happened yet.&lt;br /&gt;
&lt;br /&gt;
Important bits of XFS documentation that have been available on the XFS&lt;br /&gt;
website in PDF form have been released in the document source form under&lt;br /&gt;
the Creative Commons license so that they can be updated as a community&lt;br /&gt;
effort, and checked into a public git tree.&lt;br /&gt;
&lt;br /&gt;
== XFS status update for January 2009 ==&lt;br /&gt;
&lt;br /&gt;
January has been an extremely busy month on the userspace front.  Many&lt;br /&gt;
smaller and medium updates went into xfsprogs, xfstests and to a lesser&lt;br /&gt;
extent xfsdump.  xfsprogs and xfsdump are ramping up for getting a 3.0.0&lt;br /&gt;
release out in early February which will include the first major re-sync&lt;br /&gt;
with the kernel code in libxfs, a cleanup of the exported library interfaces&lt;br /&gt;
and the move of two tools (xfs_fsr and xfs_estimate) from the xfsdump&lt;br /&gt;
package to xfsprogs.  After this the xfsprogs package will contain all&lt;br /&gt;
tools that use internal libxfs interfaces which fortunately equates to those&lt;br /&gt;
needed for normal administration.  The xfsdump package now only contains&lt;br /&gt;
the xfsdump/xfsrestore tools needed for backing up and restoring XFS&lt;br /&gt;
filesystems.  In addition it grew a fix to support dump/restore on systems&lt;br /&gt;
with a 64k page size.  A large number of acl/attr package patches was&lt;br /&gt;
posted to the list, but pending a possible split of these packages from the&lt;br /&gt;
XFS project these weren&#039;t processed yet.&lt;br /&gt;
&lt;br /&gt;
On the kernel side the big excitement in January was an in-memory corruption&lt;br /&gt;
introduced in the btree refactoring which hit people running 32bit platforms&lt;br /&gt;
without support for large block devices.  This issue was fixed and pushed&lt;br /&gt;
to the 2.6.29 development tree after a long collaborative debugging effort&lt;br /&gt;
at linux.conf.au.  Besides that about a dozen minor fixes were pushed to&lt;br /&gt;
2.6.29 and the first batch of misc patches for the 2.6.30 release cycle&lt;br /&gt;
was sent out.&lt;br /&gt;
&lt;br /&gt;
At the end of December the SGI group in Melbourne which the previous&lt;br /&gt;
XFS maintainer and some other developers worked for has been closed down&lt;br /&gt;
and they will be missed greatly.  As a result maintainership has been passed&lt;br /&gt;
on in a way that has been slightly controversial in the community, and the&lt;br /&gt;
first patchset of work in progress in Melbourne have been posted to the list&lt;br /&gt;
to be picked up by others.&lt;br /&gt;
&lt;br /&gt;
The xfs.org wiki has gotten a little facelift on it&#039;s front page making it&lt;br /&gt;
a lot easier to read.&lt;br /&gt;
&lt;br /&gt;
== XFS status update for December 2008 ==&lt;br /&gt;
&lt;br /&gt;
On Christmas Eve the 2.6.28 mainline kernel was release, with only minor XFS&lt;br /&gt;
bug fixes over 2.6.27.&lt;br /&gt;
&lt;br /&gt;
On the development side December has been busy but unspectacular month.&lt;br /&gt;
All lot of misc fixes and improvements have been sent out, tested and committed&lt;br /&gt;
especially on the user land side.&lt;br /&gt;
&lt;br /&gt;
== XFS status update for November 2008 ==&lt;br /&gt;
&lt;br /&gt;
The mainline kernel is now at 2.6.28-rc6 and includes a small number of&lt;br /&gt;
XFS fixes.  There have been no updates to the XFS development tree during&lt;br /&gt;
November.  Without new regressions that large number of changes that&lt;br /&gt;
missed 2.6.28 has thus stabilized to be ready for 2.6.29.  In the meantime&lt;br /&gt;
kernel-side development has been slow, with the only major patch set&lt;br /&gt;
being a wide number of fixes to the compatibility for 32 bit ioctls on&lt;br /&gt;
a 64 bit kernel.&lt;br /&gt;
&lt;br /&gt;
In the meantime there has been a large number of commits to the user space&lt;br /&gt;
tree, which mostly consist of smaller fixes.  xfsprogs is getting close&lt;br /&gt;
to have the 3.0.0 release which will be the first full resync with the&lt;br /&gt;
kernel sources since the year 2005.&lt;br /&gt;
&lt;br /&gt;
== XFS status update for October 2008 ==&lt;br /&gt;
&lt;br /&gt;
Linux 2.6.27 released with all the bits covered in last month&#039;s report.  It&lt;br /&gt;
did however miss two important fixes for regressions that a few people hit.&lt;br /&gt;
2.6.27.3 or later are recommended for use with XFS.&lt;br /&gt;
&lt;br /&gt;
In the meantime the generic btree implementation, the sync reorganization&lt;br /&gt;
and after a lot of merge pain the XFS and VFS inode unification hit the&lt;br /&gt;
development tree during the time allocated for the merge window.  No XFS&lt;br /&gt;
updates other than the two regression fixes also in 2.6.27.3 have made it&lt;br /&gt;
into mainline as of 2.6.28-rc3.&lt;br /&gt;
&lt;br /&gt;
The only new feature on the list in October is support for the fiemap&lt;br /&gt;
interface that has been added to the VFS during the 2.6.28 merge window.&lt;br /&gt;
However there was lot of patch traffic consisting of fixes and respun&lt;br /&gt;
versions of previously known patches.  There still is a large backlog of&lt;br /&gt;
patches on the list that is not applied to the development tree yet.&lt;br /&gt;
&lt;br /&gt;
== XFS status update for September 2008 ==&lt;br /&gt;
&lt;br /&gt;
With Linux 2.6.27 still not released but only making slow progress from 2.6.27-rc5 to 2.6.27-rc8 XFS changes in mainline have been minimal in September with only about half a dozen bug fixes patches.&lt;br /&gt;
&lt;br /&gt;
In the meantime the generic btree patch set has been committed to the development tree, but not many other updates yet. On the user space side xfsprogs 2.10.1 has been released on September 5th with a number of important bug fixes. Following the release of xfsprogs 2.10.1 open season for development of the user space code has started. The first full update of the shared kernel / user space code in libxfs since 2005 has been committed. In addition to that the number of headers installed for the regular devel package has been reduced to the required minimum and support for checking the source code for endianess errors using sparse has been added.&lt;br /&gt;
&lt;br /&gt;
The patch sets to unify the XFS and Linux inode structures, and rewrite various bits of the sync code have seen various iterations on the XFS list, but haven&#039;t been committed yet. A first set of patches implementing CRCs for various metadata structures has been posted to the list.&lt;br /&gt;
&lt;br /&gt;
== XFS status update for August 2008 ==&lt;br /&gt;
&lt;br /&gt;
With the 2.6.27-rc5 release the 2.6.27 cycle is nearing it&#039;s end. The major XFS feature in 2.6.27-rc5 is support for case-insensitive file names. At this point it is still limited to 7bit ASCII file names, with updates for utf8 file names expected to follow later. In addition to that 2.6.27-rc5 fixes a long-standing problem with non-EABI arm compiler which pack some XFS data structures wrongly. Besides this 2.6.27-rc5 also contains various cleanups, most notably the removal of the last bhv_vnode_t instances, and most uses of semaphores. As usual the diffstat for XFS from 2.6.26 to 2.6.26-rc5 is negative:&lt;br /&gt;
&lt;br /&gt;
       100 files changed, 3819 insertions(+), 4409 deletions(-)&lt;br /&gt;
&lt;br /&gt;
On the user space front a new minor xfsprogs version is about to be released containing various fixes including the user space part of arm packing fix.&lt;br /&gt;
&lt;br /&gt;
Work in progress on the XFS mailing list are a large patch set to unify the alloc, inobt and bmap btree implementation into a single that supports arbitrarily pluggable key and record formats. These btree changes are the first major preparation for adding CRC checks to all metadata structures in XFS, and an even larger patch set to unify the XFS and Linux inode structures, and perform all inode write back from the btree uses instead of an inode cache in XFS.&lt;br /&gt;
&lt;br /&gt;
== Updates before 2008 ==&lt;br /&gt;
&lt;br /&gt;
News up to 2007 can be found on a separate page: [[OLD_News]]&lt;/div&gt;</summary>
		<author><name>Hch</name></author>
	</entry>
	<entry>
		<id>https://xfs.org/index.php?title=XFS_Status_Updates&amp;diff=2342</id>
		<title>XFS Status Updates</title>
		<link rel="alternate" type="text/html" href="https://xfs.org/index.php?title=XFS_Status_Updates&amp;diff=2342"/>
		<updated>2011-08-14T23:11:35Z</updated>

		<summary type="html">&lt;p&gt;Hch: July update&lt;/p&gt;
&lt;hr /&gt;
&lt;div&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&#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&#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&#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&#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&#039;t been committed yet were discussed on the mailing list.&lt;br /&gt;
&lt;br /&gt;
== XFS status update for December 2010 ==&lt;br /&gt;
&lt;br /&gt;
The release process of the Linux 2.6.37 kernel with it&#039;s large XFS updates&lt;br /&gt;
was in it&#039;s final days in December, which explains why we only saw a single&lt;br /&gt;
one-liner regression fix for XFS in Linus&#039; tree.  The XFS development tree&lt;br /&gt;
finally saw some updates when the writeback updates and some small cleanups&lt;br /&gt;
to the allocator and log recovery code were merged, but the large metadata&lt;br /&gt;
scalability updates that have been posted to the list multiple times are&lt;br /&gt;
still missing.  In addition to this on-going work the list also saw patches&lt;br /&gt;
that fix smaller issues, which are also still waiting to be merged.&lt;br /&gt;
&lt;br /&gt;
On the userspace side xfsprogs and xfsdump development has been quit, with&lt;br /&gt;
no commits to either repository in December, although a large series of&lt;br /&gt;
updates to the metadump command has been reposted near the end of the month.&lt;br /&gt;
The xfstests repository saw a new regression test for a btrfs problem,&lt;br /&gt;
and various updates to existing tests.&lt;br /&gt;
&lt;br /&gt;
== XFS status update for November 2010 ==&lt;br /&gt;
&lt;br /&gt;
From looking at the kernel git commits November looked like a pretty&lt;br /&gt;
slow month with just two hand full fixes going into the release candidates&lt;br /&gt;
for Linux 2.6.37, and none at all going into the development tree.&lt;br /&gt;
But in this case git statistics didn&#039;t tell the whole story - there&lt;br /&gt;
was a lot of activity on patches for the next merge window on the list.&lt;br /&gt;
The focus in November was still at metadata scalability, with various&lt;br /&gt;
patchsets that improves parallel creates and unlinks again, and also&lt;br /&gt;
improves 8-way dbench throughput by 30%.  In addition to that there&lt;br /&gt;
were patches to improve preallocation for NFS servers, to simplify&lt;br /&gt;
the writeback code, and to remove the XFS-internal percpu counters&lt;br /&gt;
for free space for the generic kernel percpu counters, which just needed&lt;br /&gt;
a small improvement.&lt;br /&gt;
&lt;br /&gt;
On the user space side we saw the release of xfsprogs 3.1.4, which&lt;br /&gt;
contains various accumulated bug fixes and Debian packaging updates.&lt;br /&gt;
The xfsdump tree saw a large update to speed up restore by using&lt;br /&gt;
mmap for an internal database and remove the limitation of ~ 214&lt;br /&gt;
million directory entries per dump file.  The xfstests test suite&lt;br /&gt;
saw three new testcases and various fixes, including support for the&lt;br /&gt;
hfsplus filesystem.&lt;br /&gt;
&lt;br /&gt;
== XFS status update for October 2010 ==&lt;br /&gt;
&lt;br /&gt;
Near the end of the month we finally saw the release of Linux 2.6.36.&lt;br /&gt;
Just a single fix made it into mainline in this month, showing that the&lt;br /&gt;
stabilization period before has worked very well.&lt;br /&gt;
&lt;br /&gt;
Linux 2.6.36 has been another impressive release for XFS, seeing&lt;br /&gt;
various performance improvements in the new delayed logging code,&lt;br /&gt;
for direct I/O and the sync system call, a few bug fixes, and lots&lt;br /&gt;
of cleanups, resulting in a net removal of over 2000 lines of code:&lt;br /&gt;
&lt;br /&gt;
        89 files changed, 1998 insertions(+), 4279 deletions(-)&lt;br /&gt;
&lt;br /&gt;
The merge window for Linux 2.6.37 opened just a few days after the&lt;br /&gt;
release of Linux 2.6.36 and already contains another large XFS update&lt;br /&gt;
at the end of October.  Highlights of the XFS tree merged into 2.6.37-rc1&lt;br /&gt;
are another large set of metadata scalability patches, support for 32-bit&lt;br /&gt;
wide project IDs, and support for the new XFS_IOC_ZERO_RANGE ioctl,&lt;br /&gt;
which allows to punch a whole and convert it to an unwritten extent&lt;br /&gt;
in a single atomic operation.&lt;br /&gt;
&lt;br /&gt;
The metadata scalability changes improve 8-way fs_mark of 50 million files&lt;br /&gt;
by over 15% and removal of those files by over 100%, with further&lt;br /&gt;
improvements expected by the next round of XFS metadata scalability&lt;br /&gt;
and VFS scalability improvements targeted at Linux 2.6.38.&lt;br /&gt;
&lt;br /&gt;
On the user space side October was a rather quit month for xfsprogs, which&lt;br /&gt;
only saw the addition of 32-bit project ID handling, and a fix for&lt;br /&gt;
parsing the mount table in fsr when used together with disk encryption&lt;br /&gt;
tools.  A few patches for xfsdump were posted on the list, but none&lt;br /&gt;
was applied, leaving the majority of the user space activity to&lt;br /&gt;
xfstests, which saw very active development.  Various patches went&lt;br /&gt;
into xfstests to improve portability to filesystems with a limited&lt;br /&gt;
feature set, and to move more filters to generic code.  In addition&lt;br /&gt;
various cleanups to test cases in test programs were applied.&lt;br /&gt;
&lt;br /&gt;
== XFS status update for September 2010 ==&lt;br /&gt;
&lt;br /&gt;
Mainline activity has been rather low in September while with only&lt;br /&gt;
two more fixes going into the 2.6.36 release candidates after the&lt;br /&gt;
large merge activity in August.  Development for the next merge&lt;br /&gt;
window has been more active.  The largest item was the inclusion&lt;br /&gt;
of the metadata scalability patch series, which provides very large&lt;br /&gt;
speedups for parallel metadata operations.  In addition a new&lt;br /&gt;
ioctl to punch holes and convert the whole to an unwritten extent&lt;br /&gt;
was added and a small number of cleanups also made it into the tree.&lt;br /&gt;
&lt;br /&gt;
Patches to add support for 32bit wide project ID identifiers and&lt;br /&gt;
using group and project quotas concurrently were posted to the list&lt;br /&gt;
and discussed but not yet included.&lt;br /&gt;
&lt;br /&gt;
Userspace development has been rather quiet again, with a single fix&lt;br /&gt;
committed to xfsprogs and xfsdump each.  The xfstests test suite grew&lt;br /&gt;
a new test case and received a few additional fixes.  Last but not least&lt;br /&gt;
the [http://xfs.org/docs/xfsdocs-xml-dev/XFS_User_Guide//tmp/en-US/html/index.html XFS Users Guide]&lt;br /&gt;
was updated with various factual corrections and spelling fixes.&lt;br /&gt;
&lt;br /&gt;
== XFS status update for August 2010 ==&lt;br /&gt;
&lt;br /&gt;
At the first of August we finally saw the release of Linux 2.6.35,&lt;br /&gt;
which includes a large XFS update.  The most prominent feature in&lt;br /&gt;
Linux 2.6.35 is the new delayed logging code which provides massive&lt;br /&gt;
speedups for metadata-intensive workloads, but there has been&lt;br /&gt;
a large amount of other fixes and cleanups, leading to the following&lt;br /&gt;
diffstat:&lt;br /&gt;
&lt;br /&gt;
         67 files changed, 4426 insertions(+), 3835 deletions(-)&lt;br /&gt;
&lt;br /&gt;
Given the early release of Linux 2.6.35 the merge window for the&lt;br /&gt;
next release fully fell into the month of August.  The XFS updates&lt;br /&gt;
for Linux 2.6.36 include various additional performance improvements&lt;br /&gt;
in the delayed logging code, for direct I/O writes and for avoiding&lt;br /&gt;
synchronous transactions, as well as various fixed and large amount&lt;br /&gt;
of cleanups, including the removal of the remaining dead DMAPI&lt;br /&gt;
code.&lt;br /&gt;
&lt;br /&gt;
On the userspace side we saw the 3.1.3 release of xfsprogs, which includes&lt;br /&gt;
various smaller fixes, support for the new XFS_IOC_ZERO_RANGE ioctl and&lt;br /&gt;
Debian packaging updates.  The xfstests package saw one new test case&lt;br /&gt;
and a couple of smaller patches, and xfsdump has not seen any updates at&lt;br /&gt;
all.&lt;br /&gt;
&lt;br /&gt;
The XMLified versions of the XFS users guide, training labs and filesystem&lt;br /&gt;
structure documentation are now available as on the fly generated html on&lt;br /&gt;
the xfs.org website and can be found at [[XFS_Papers_and_Documentation|Papers &amp;amp; Documentation]].&lt;br /&gt;
&lt;br /&gt;
== XFS status update for July 2010 ==&lt;br /&gt;
&lt;br /&gt;
July saw three more release candidates for the Linux 2.6.35 kernel, which&lt;br /&gt;
included a relatively large number of XFS updates.  There were two security&lt;br /&gt;
fixes, a small one to prevent swapext to operate on write-only file&lt;br /&gt;
descriptors, and a much larger one to properly validate inode numbers&lt;br /&gt;
coming from NFS clients or userspace applications using the bulkstat or&lt;br /&gt;
the open-by-handle interfaces.  In addition to that another relatively&lt;br /&gt;
large patch fixes the way inodes get reclaimed in the background, and&lt;br /&gt;
avoids inode caches growing out of bounds.&lt;br /&gt;
&lt;br /&gt;
In the meantime the code for the Linux 2.6.36 got the last touches before&lt;br /&gt;
the expected opening of the merge window, by merging a few more last&lt;br /&gt;
minute fixes and cleanups.  The most notable one is a patch series&lt;br /&gt;
that fixes in-memory corruption when concurrently accessing unwritten&lt;br /&gt;
extents using the in-kernel AIO code.&lt;br /&gt;
&lt;br /&gt;
The userspace side was still quite slow, but some a bit more activity&lt;br /&gt;
than June.  In xfsprogs the xfs_db code grew two bug fixes, as did&lt;br /&gt;
the xfs_io script.  The xfstests package saw one new test cases and&lt;br /&gt;
various fixes to existing code.  Last but not least a few patches&lt;br /&gt;
affecting the build system for all userspace tools were committed.&lt;br /&gt;
&lt;br /&gt;
== XFS status update for June 2010 ==&lt;br /&gt;
&lt;br /&gt;
The month of June saw a few important bug fixes for the Linux 2.6.35&lt;br /&gt;
release candidates.  That includes ensuring that files used for the&lt;br /&gt;
swapext ioctl are writable to the user, and doing proper validation&lt;br /&gt;
of inodes coming from untrusted sources, such as NFS exporting and&lt;br /&gt;
the open by handle system calls.  The main work however has been&lt;br /&gt;
focused on development for the Linux 2.6.36 merge window, including&lt;br /&gt;
merging various patches that have been out on the mainline list&lt;br /&gt;
for a long time.  Highlights include further performance improvements&lt;br /&gt;
for sync heavy metadata workloads, stack space reduction in the&lt;br /&gt;
writeback path and improvements of the XFS tracing infrastructure.&lt;br /&gt;
Also after some discussion the remaining hooks for DMAPI are going&lt;br /&gt;
to be dropped in mainline.   As a replacement a tree containing&lt;br /&gt;
full DMAPI support with a slightly cleaner XFS interaction will be&lt;br /&gt;
hosted by SGI.&lt;br /&gt;
&lt;br /&gt;
On the userspace side June was a rather slow month, with no updates&lt;br /&gt;
to xfsprogs and xfsdump at all, and just one new test case and a cleanup&lt;br /&gt;
applied to xfstests.&lt;br /&gt;
&lt;br /&gt;
== XFS status update for May 2010 ==&lt;br /&gt;
&lt;br /&gt;
In May 2010 we saw the long awaited release of Linux 2.6.34, which includes&lt;br /&gt;
a large XFS update.  The most important features appearing in 2.6.34 was the&lt;br /&gt;
new inode and quota flushing code, which leads to much better I/O patterns&lt;br /&gt;
for metadata-intensive workloads.  Additionally support for synchronous NFS&lt;br /&gt;
exports has been improved to give much better performance, and performance&lt;br /&gt;
for the fsync, fdatasync and sync system calls has been improved slightly.&lt;br /&gt;
A bug when resizing extremely busy filesystems has been fixed, which required&lt;br /&gt;
extensive modification to the data structure used for looking up the&lt;br /&gt;
per-allocation group data.  Last but not least there was a steady flow of&lt;br /&gt;
minor bug fixes and cleanups, leading to the following diffstat from&lt;br /&gt;
2.6.33 to 2.6.34:&lt;br /&gt;
&lt;br /&gt;
  86 files changed, 3209 insertions(+), 3178 deletions(-)&lt;br /&gt;
&lt;br /&gt;
Meanwhile active development aimed at 2.6.35 merge progressed.  The&lt;br /&gt;
major feature for this window is the merge of the delayed logging code,&lt;br /&gt;
which adds a new logging mode that dramatically reduces the bandwidth&lt;br /&gt;
required for log I/O.  See the &lt;br /&gt;
[http://git.kernel.org/?p=linux/kernel/git/torvalds/linux-2.6.git;a=blob;f=Documentation/filesystems/xfs-delayed-logging-design.txt;h=96d0df28bed323d5596fc051b0ffb96ed8e3c8df;hb=HEAD documentation] for details.  Testers&lt;br /&gt;
for this new code are welcome.&lt;br /&gt;
&lt;br /&gt;
In userland xfsprogs saw the long awaited 3.1.2 release, which can be&lt;br /&gt;
considered a bug fix release for xfs_repair, xfs_fsr and mkfs.xfs.  After&lt;br /&gt;
the release a few more fixes were merged into the development tree.&lt;br /&gt;
The xfstests package saw various new tests, including many tests to&lt;br /&gt;
exercise the quota code, and a few fixes to existing tests.&lt;br /&gt;
&lt;br /&gt;
== XFS status update for April 2010 ==&lt;br /&gt;
&lt;br /&gt;
In April 2.6.34 still was in the release candidate phase, with&lt;br /&gt;
a hand full of XFS fixes making it into mainline.  Development for&lt;br /&gt;
the 2.6.35 merge window went ahead full steam at the same time.&lt;br /&gt;
&lt;br /&gt;
While a fair amount of patches hit the development tree these were&lt;br /&gt;
largely cleanups, with the real development activity happening on&lt;br /&gt;
the mailing list.  There was another round of patches and following&lt;br /&gt;
discussion on the scalable busy extent tracking and delayed logging&lt;br /&gt;
features mentioned last month.  They are expected to be merged in&lt;br /&gt;
May and queue up for the Linux 2.6.35 window.  Last but not least&lt;br /&gt;
April saw a large number of XFS fixes backported to the 2.6.32 and&lt;br /&gt;
2.6.33 -stable series.&lt;br /&gt;
&lt;br /&gt;
In user land xfsprogs has seen few but important updates, preparing&lt;br /&gt;
for a new release next month.  The xfs_repair tool saw a fix to&lt;br /&gt;
correctly enable the lazy superblock counters on an existing&lt;br /&gt;
filesystem, and xfs_fsr saw updates to better deal with dynamic&lt;br /&gt;
attribute forks.  Last but not a least a port to Debian GNU/kFreeBSD&lt;br /&gt;
got merged. The xfstests test suite saw two new test cases and various&lt;br /&gt;
smaller fixes.&lt;br /&gt;
&lt;br /&gt;
== XFS status update for March 2010 ==&lt;br /&gt;
&lt;br /&gt;
The merge window for Linux 2.6.34 closed in the first week of March,&lt;br /&gt;
with the important XFS features already landing in February.  Not&lt;br /&gt;
surprisingly the XFS merge activity in March has been rather slow,&lt;br /&gt;
with only about a dozen bug fixes patches making it towards Linus&#039;&lt;br /&gt;
tree in that time.&lt;br /&gt;
&lt;br /&gt;
On the other hand active development for the 2.6.35 merge window has&lt;br /&gt;
been very active.  Most importantly there was a lot of work on the&lt;br /&gt;
transaction and log subsystems.  Starting with a large patchset to&lt;br /&gt;
clean up and refactor the transaction subsystem and introducing more&lt;br /&gt;
flexible I/O containers in the low-level logging code work is&lt;br /&gt;
progressing to a new, more efficient logging implementation.  While&lt;br /&gt;
this preparatory work has already been merged in the development tree,&lt;br /&gt;
the actual delayed logging implementation still needs more work after&lt;br /&gt;
the initial public posting.  The delayed logging implementation which&lt;br /&gt;
is very briefly modeled after the journaling mode in the ext3/4&lt;br /&gt;
and reiserfs filesystems allows to accumulated multiple asynchronous&lt;br /&gt;
transactions in memory instead of possibly writing them out&lt;br /&gt;
many times.  Using the new delayed logging mechanism I/O bandwidth&lt;br /&gt;
used for the log decreases by orders of magnitude and performance&lt;br /&gt;
on metadata intensive workloads increases massively.&lt;br /&gt;
&lt;br /&gt;
In addition to that a new version of the discard (aka TRIM) support&lt;br /&gt;
has been posted, this time entirely contained in kernel space&lt;br /&gt;
and without the need of a userspace utility to drive it.  Last but&lt;br /&gt;
not least the usual steady stream of cleanups and bug fixes has not&lt;br /&gt;
ceased this month either.&lt;br /&gt;
&lt;br /&gt;
Besides the usual flow of fixes and new test cases in the xfstests&lt;br /&gt;
test suite development on the userspace side has been rather slow.&lt;br /&gt;
Xfsprogs has only seen a single fix for SMP locking in xfs_repair&lt;br /&gt;
and support for building on Debian GNU/kFreeBSD, and xfsdump&lt;br /&gt;
has seen no commit at all.&lt;br /&gt;
&lt;br /&gt;
== XFS status update for February 2010 ==&lt;br /&gt;
&lt;br /&gt;
February saw the release of the Linux 2.6.33 kernel, which includes&lt;br /&gt;
a large XFS update.  The biggest user-visible change in Linux 2.6.33&lt;br /&gt;
is that XFS now support the generic Linux trace event infrastructure,&lt;br /&gt;
which allows tracing lots of XFS behavior with a normal production&lt;br /&gt;
built kernel.  Except for this Linux 2.6.33 has been mostly a bug-fix&lt;br /&gt;
release, fixing various user reported bugs in previous releases.&lt;br /&gt;
The total diffstat for XFS in Linux 2.6.33 looks like:&lt;br /&gt;
&lt;br /&gt;
  84 files changed, 3023 insertions(+), 3550 deletions(-)&lt;br /&gt;
&lt;br /&gt;
In addition to that the merge window for Linux 2.6.34 opened and the&lt;br /&gt;
first merge of the XFS tree made it into Linus tree.  Unlike Linux&lt;br /&gt;
2.6.33 this merge window includes major feature work.  The most&lt;br /&gt;
important change for users is a new algorithm for inode and quota&lt;br /&gt;
writeback that leads to better I/O locality and improved metadata&lt;br /&gt;
performance.  The second big change is a rewrite of the per-allocation&lt;br /&gt;
group data lookup which fixes a long-standing problem in the code&lt;br /&gt;
to grow a life filesystem and will also ease future filesystem&lt;br /&gt;
shrinking support.  Not merged through the XFS tree, but of great&lt;br /&gt;
importance for embedded users is a new API that allows XFS to properly&lt;br /&gt;
flush cache lines on it&#039;s log and large directory buffers, making&lt;br /&gt;
XFS work properly on architectures with virtually indexed caches,&lt;br /&gt;
such as parisc and various arm and mips variants.  Last but not&lt;br /&gt;
least there is an above average amount of cleanups that went into&lt;br /&gt;
Linus tree in this cycle.&lt;br /&gt;
&lt;br /&gt;
There have been more patches on the mailing list that haven&#039;t made&lt;br /&gt;
it to Linus tree yet, including an optimized implementation of&lt;br /&gt;
fdatasync(2) and massive speedups for metadata workloads on&lt;br /&gt;
NFS exported XFS filesystems.&lt;br /&gt;
&lt;br /&gt;
On the userspace side February has been a relatively quiet month.&lt;br /&gt;
Lead by xfstests only a moderate amount of fixes made it into&lt;br /&gt;
the respective trees.&lt;br /&gt;
&lt;br /&gt;
== XFS status update for January 2010 ==&lt;br /&gt;
&lt;br /&gt;
January saw additional release candidates of the Linux 2.6.33 kernel,&lt;br /&gt;
including a couple of bug fixes for XFS.  In the meantime the XFS tree&lt;br /&gt;
has been growing a large number of patches destined for the Linux 2.6.34&lt;br /&gt;
merge window: a large rework of the handling of per-AG data, support for&lt;br /&gt;
the quota netlink interface, and better power saving behavior of the&lt;br /&gt;
XFS kernel threads, and of course various cleanups.&lt;br /&gt;
&lt;br /&gt;
A large patch series to replace the current asynchronous inode writeback&lt;br /&gt;
with a new scheme that uses the delayed write buffers was posted to&lt;br /&gt;
the list.  The new scheme, which allows archive better I/O locality by&lt;br /&gt;
dispatching meta-data I/O from a single place has been discussed&lt;br /&gt;
extensively and is expected to be merged in February.&lt;br /&gt;
&lt;br /&gt;
On the userspace side January saw the 3.1.0 and 3.1.1 releases of xfsprogs,&lt;br /&gt;
as well as the 3.0.4 release of xfsdump.  The biggest changes in xfsprogs&lt;br /&gt;
3.1.0 were optimizations in xfs_repair that lead to a much lower memory&lt;br /&gt;
usage, and optional use of the blkid library for filesystem detection&lt;br /&gt;
and retrieving storage topology information.  The 3.1.1 release contained&lt;br /&gt;
various important bug fixes for these changes and a various improvements to&lt;br /&gt;
the build system.  The major feature of xfsdump 3.0.4 were fixes for&lt;br /&gt;
time stamp handling on 64-bit systems.&lt;br /&gt;
&lt;br /&gt;
The xfstests package also lots of activity including various new testcases&lt;br /&gt;
and an improved build system.&lt;br /&gt;
&lt;br /&gt;
== XFS status update for December 2009 ==&lt;br /&gt;
&lt;br /&gt;
December finally saw the long awaited release of Linux 2.6.32, which for&lt;br /&gt;
XFS is mostly a bug fix release, with the major changes being various&lt;br /&gt;
improvement to the sync path, including working around the expectation&lt;br /&gt;
from the grub boot loader where metadata is supposed to be after a sync()&lt;br /&gt;
system call.  Together with a refactoring of the inode allocator this&lt;br /&gt;
gives a nice diffstat for this kernel release:&lt;br /&gt;
&lt;br /&gt;
 46 files changed, 767 insertions(+), 1048 deletions(-)&lt;br /&gt;
&lt;br /&gt;
In the meantime development for the 2.6.33 has been going strong.  The&lt;br /&gt;
new event tracing code that allows to observe the inner workings of XFS&lt;br /&gt;
in production systems has finally been merged, with another patch to&lt;br /&gt;
reduce the size of the tracing code by using new upstream kernel features&lt;br /&gt;
posted for review.  Also a large patch series has been posted which&lt;br /&gt;
changes per-AG data to be looked up by a radix tree instead of the&lt;br /&gt;
existing array.  This works around possible deadlocks and user after&lt;br /&gt;
free issues during growfs, and prepares for removing a global (shared)&lt;br /&gt;
lock from the free space allocators.  In addition to that a wide range&lt;br /&gt;
of fixes has been posted and applied.&lt;br /&gt;
&lt;br /&gt;
Work on the userspace packages has been just as busy.  In mkfs.xfs the&lt;br /&gt;
lazy superblock counter feature has now been enabled by default for the&lt;br /&gt;
upcoming xfsprogs 3.1.0 release, which will require kernel 2.6.22 for&lt;br /&gt;
the default mkfs invocation.  Also for mkfs.xfs as patch was posted&lt;br /&gt;
to correct the automatic detection of 4 kilobyte sector drivers which&lt;br /&gt;
are expected to show up in large quantities the real work soon.  The&lt;br /&gt;
norepair mode in xfs_repair has been enhanced with additional freespace&lt;br /&gt;
btree correction checks from xfs_db and is now identical to xfs_check in&lt;br /&gt;
filesystem consistency checking coverage.  A temporary file permission&lt;br /&gt;
problems has been fixed in xfs_fsr, and the libhandle library has been&lt;br /&gt;
fixed to better deal with symbolic links.  In xfs_io a few commands&lt;br /&gt;
that were added years ago have finally been wired up to actually be&lt;br /&gt;
usable.  And last but not least xfsdump saw a fix to the time stamp&lt;br /&gt;
handling in the backup format and some usability and documentation&lt;br /&gt;
improvements to xfsinvutil.&lt;br /&gt;
&lt;br /&gt;
== XFS status update for November 2009 ==&lt;br /&gt;
&lt;br /&gt;
November was a relatively slow month for XFS development.  The XFS tree&lt;br /&gt;
that is destined for the Linux 2.6.33 merge window saw a few fixes and&lt;br /&gt;
cleanups applied to it, and few important fixes still made it into the&lt;br /&gt;
last Linux 2.6.32 release candidates.  A few more patches including a&lt;br /&gt;
final version of the event tracing support for XFS were posted but not&lt;br /&gt;
reviewed yet.&lt;br /&gt;
&lt;br /&gt;
On the userspace side there has been a fair amount of xfsprogs activity.&lt;br /&gt;
The repair speedup patches have finally been merged into the main development&lt;br /&gt;
branch and a couple of other fixes to the various utilities made it in, too.&lt;br /&gt;
The xfstests test suite saw another new regression test suite and a build&lt;br /&gt;
system fix up.&lt;br /&gt;
&lt;br /&gt;
== XFS status update for October 2009 ==&lt;br /&gt;
In October we saw the Linux 2.6.32 merge window with a major XFS update.&lt;br /&gt;
This update includes a refactoring of the inode allocator which also&lt;br /&gt;
allows for speedups for very large filesystems, major sync fixes, updates&lt;br /&gt;
to the fsync and O_SYNC handling which merge the two code paths into a single&lt;br /&gt;
and more efficient one, a workaround for the VFS time stamp behavior,&lt;br /&gt;
and of course various smaller fixes.  A couple of additional fixes have been&lt;br /&gt;
queued up for the next merge window.&lt;br /&gt;
&lt;br /&gt;
On the userspace side there has been a healthy activity on xfsprogs:  mkfs can&lt;br /&gt;
now discard unused sectors on SSDs and thinly provisioned storage devices and&lt;br /&gt;
use the more generic libblkid for topology information and filesystems detection&lt;br /&gt;
instead of the older libdisk, and the build system gained some updates to&lt;br /&gt;
make the source package generation simpler and shared for different package&lt;br /&gt;
types.  A patch has been out to the list but yet committed to add symbol&lt;br /&gt;
versioning to the libhandle library to make future ABI additions easier.&lt;br /&gt;
The xfstests package only saw some minor activity with a new test case&lt;br /&gt;
and small build system fixes.&lt;br /&gt;
&lt;br /&gt;
New minor releases of xfsprogs and xfsdump were tagged but not formally&lt;br /&gt;
released after additional discussion.  Instead a new major xfsprogs release&lt;br /&gt;
is planned for next month.&lt;br /&gt;
&lt;br /&gt;
== XFS status update for September 2009 ==&lt;br /&gt;
&lt;br /&gt;
In September the Linux 2.6.31 kernel was finally released, including another&lt;br /&gt;
last minute XFS fix for the swapext (defragmentation) compat ioctl handler.&lt;br /&gt;
The final patch from 2.6.30 to 2.6.31 shows the following impressive diffstat&lt;br /&gt;
for XFS:&lt;br /&gt;
&lt;br /&gt;
   55 files changed, 1476 insertions(+), 2269 deletions(-)&lt;br /&gt;
&lt;br /&gt;
The 2.6.32 merge window started with a large XFS merge that included changes&lt;br /&gt;
to the inode allocator, and a few smaller fixes.  New versions of the sync&lt;br /&gt;
and time stamp fixes as well as the event tracing support have been posted&lt;br /&gt;
in September but not yet merged into the XFS development tree and/or mainline.&lt;br /&gt;
&lt;br /&gt;
On the userspace side a large patch series to reduce the memory usage in&lt;br /&gt;
xfs_repair to acceptable levels was posted, but not yet merged.  A new xfs_df&lt;br /&gt;
shell script to measure use of the on disk space was posted but not yet&lt;br /&gt;
merged pending some minor review comments and a missing man page.  In addition&lt;br /&gt;
we saw the usual amount of smaller fixes and cleanups.&lt;br /&gt;
&lt;br /&gt;
Also this month Felix Blyakher resigned from his post as XFS maintainer and handed off to Alex Elder.&lt;br /&gt;
&lt;br /&gt;
== XFS status update for August 2009 ==&lt;br /&gt;
&lt;br /&gt;
In August the Linux 2.6.31 kernel has still been in the release candidate&lt;br /&gt;
stage, but a couple of important XFS fixes made it in time for the release,&lt;br /&gt;
including a fix for the inode cache races with NFS workloads that have&lt;br /&gt;
plagued us for a long time.&lt;br /&gt;
&lt;br /&gt;
The list saw various patches destined for the Linux 2.6.32 merge window,&lt;br /&gt;
including a merge of the fsync and O_SYNC handling code to address various&lt;br /&gt;
issues with the latter, a workaround for deficits in the timestamp handling&lt;br /&gt;
interface between the VFS and filesystems, a repost of the sync improvements&lt;br /&gt;
patch series and various smaller patches.&lt;br /&gt;
&lt;br /&gt;
August also saw the minor 3.0.3 release of xfsprogs which collects smaller&lt;br /&gt;
fixes to the various tools and most importantly a fix to allow xfsprogs to&lt;br /&gt;
work again on SPARC and other strict alignment handling which regressed a&lt;br /&gt;
few releases ago.  The xfstests repository saw a few new test cases and a&lt;br /&gt;
various small improvements.&lt;br /&gt;
&lt;br /&gt;
== XFS status update for July 2009 ==&lt;br /&gt;
&lt;br /&gt;
As a traditional summer vacation month July has not seen a lot of XFS&lt;br /&gt;
activity.  The mainline 2.6.31 kernel made it to the 5th release candidate&lt;br /&gt;
but besides a few kernel-wide patches touching XFS the only activity were&lt;br /&gt;
two small patches fixing a bug in FIEMAP and working around writeback&lt;br /&gt;
performance problems in the VM.&lt;br /&gt;
&lt;br /&gt;
A few more patches were posted to the list but haven&#039;t been merged yet.&lt;br /&gt;
Two big patch series deal with theoretically possible deadlocks due to&lt;br /&gt;
locks taken in reclaim contexts, which are now detected by lockdep.&lt;br /&gt;
&lt;br /&gt;
The pace on the userspace side has been slow.  There have been a couple&lt;br /&gt;
of fixes to xfs_repair and xfs_db, and xfstests grew a few more testcases.&lt;br /&gt;
&lt;br /&gt;
== XFS status update for June 2009 ==&lt;br /&gt;
&lt;br /&gt;
On June 9th we finally saw the release of Linux 2.6.30.  For XFS&lt;br /&gt;
this release mostly contains the improved ENOSPC handling, but also&lt;br /&gt;
various smaller bugfixes and lots of cleanups.  The code size of XFS&lt;br /&gt;
decreased again by 500 lines of code in this release.&lt;br /&gt;
&lt;br /&gt;
The Linux 2.6.31 merge opened in the mid of the month and some big XFS&lt;br /&gt;
changes have been pushed: A removal of the quotaops&lt;br /&gt;
infrastructure which simplifies the quota implementation, the switch&lt;br /&gt;
from XFS&#039;s own Posix ACL implementation to the generic one shared&lt;br /&gt;
by various other filesystems which also supports in-memory caching of&lt;br /&gt;
ACLs and another incremental refactoring of the sync code.&lt;br /&gt;
&lt;br /&gt;
A patch to better track dirty inodes and work around issues in the&lt;br /&gt;
way the VFS updates the access time stamp on inodes has been reposted&lt;br /&gt;
and discussed. Another patch to converting the existing XFS tracing&lt;br /&gt;
infrastructure to use the ftrace even tracer has been posted.&lt;br /&gt;
&lt;br /&gt;
On the userspace side there have been a few updates to xfsprogs, including&lt;br /&gt;
some repair fixes and a new fallocate command for xfs_io.  There were&lt;br /&gt;
major updates for xfstests:  The existing aio-dio-regress testsuite has&lt;br /&gt;
been merged into xfstests, and various changes went into the tree to make&lt;br /&gt;
xfstests better suitable for use with other filesystems.&lt;br /&gt;
&lt;br /&gt;
The attr and acl projects which have been traditionally been hosted&lt;br /&gt;
as part of the XFS userspace utilities have now been split into a separate&lt;br /&gt;
project maintained by Andreas Gruenbacher, who has been doing most of&lt;br /&gt;
the work on it, and moved to the Savannah hosting platform.&lt;br /&gt;
&lt;br /&gt;
== XFS status update for May 2009 ==&lt;br /&gt;
&lt;br /&gt;
In May Linux 2.6.30 was getting close to be released, and various&lt;br /&gt;
important XFS fixes made it during the latest release candidates.&lt;br /&gt;
In the meantime some big patch series to rework the sync code and&lt;br /&gt;
the inode allocator have been posted for the next merge window.&lt;br /&gt;
&lt;br /&gt;
On the userspace side xfsprogs and xfsdump 3.0.1 were finally released,&lt;br /&gt;
quickly followed by 3.0.2 releases with updated Debian packaging.&lt;br /&gt;
After that various small patches that were held back made it into xfsprogs.&lt;br /&gt;
A patch to add the xfs_reno tool which allows to move inodes around to&lt;br /&gt;
fit into 32 bit inode number space has been posted which is also one&lt;br /&gt;
central aspect of future online shrinking support.&lt;br /&gt;
&lt;br /&gt;
There has been major activity on xfstests including adding generic&lt;br /&gt;
filesystems support to allow running tests that aren&#039;t XFS-specific on&lt;br /&gt;
any Linux filesystems.&lt;br /&gt;
&lt;br /&gt;
== XFS status update for April 2009 ==&lt;br /&gt;
&lt;br /&gt;
In April development for Linux 2.6.30 was in full motion.  A patchset to correct flushing of delayed allocations with near full filesystems has been committed in early April, as well as various smaller fixes. A patch series to improve the behavior of sys_sync has been posted but is waiting for VFS changes queued for Linux 2.6.31.&lt;br /&gt;
&lt;br /&gt;
On the userspace side xfsprogs and xfsdump 3.0.1 have managed to split their release dates into May again after a lot of last-minute build system updates.&lt;br /&gt;
&lt;br /&gt;
== XFS status update for March 2009 ==&lt;br /&gt;
&lt;br /&gt;
Linux 2.6.29 has been released which includes major XFS updates like the&lt;br /&gt;
new generic btree code, a fully functional 32bit compat ioctl implementation&lt;br /&gt;
and the new combined XFS and Linux inode.  (See previous status reports&lt;br /&gt;
for more details). A patch series to improve correctness and performance&lt;br /&gt;
has been posted but not yet applied.  Various minor fixes and cleanups&lt;br /&gt;
have been sent to Linus for 2.6.30 which looks like it will be a minor&lt;br /&gt;
release for XFS after the big churn in 2.6.29.&lt;br /&gt;
&lt;br /&gt;
On userspace a lot of time has been spent on fixing and improving the&lt;br /&gt;
build system shared by the various XFS utilities as well as various smaller&lt;br /&gt;
improvements leading to the xfsprogs and xfsdump 3.0.1 releases which are&lt;br /&gt;
still outstanding.&lt;br /&gt;
&lt;br /&gt;
== XFS status update for February 2009 ==&lt;br /&gt;
&lt;br /&gt;
In February various smaller fixes have been sent to Linus for 2.6.29,&lt;br /&gt;
including a revert of the faster vmap APIs which don&#039;t seem to be quite&lt;br /&gt;
ready yet on the VM side.  At the same time various patches have been&lt;br /&gt;
queued up for 2.6.30, with another big batch pending.  There also has&lt;br /&gt;
been a repost of the CRC patch series, including support for a new,&lt;br /&gt;
larger inode core.&lt;br /&gt;
&lt;br /&gt;
SGI released various bits of work in progress from former employees&lt;br /&gt;
that will be extremely helpful for the future development of XFS,&lt;br /&gt;
thanks a lot to Mark Goodwin for making this happen.&lt;br /&gt;
&lt;br /&gt;
On the userspace side the long awaited 3.0.0 releases of xfsprogs and&lt;br /&gt;
xfsdump finally happened early in the month, accompanied by a 2.2.9&lt;br /&gt;
release of the dmapi userspace.  There have been some issues with packaging&lt;br /&gt;
so a new minor release might follow soon.&lt;br /&gt;
&lt;br /&gt;
The xfs_irecover tool has been relicensed so that it can be merged into&lt;br /&gt;
the GPLv2 codebase of xfsprogs, but the actual integration work hasn&#039;t&lt;br /&gt;
happened yet.&lt;br /&gt;
&lt;br /&gt;
Important bits of XFS documentation that have been available on the XFS&lt;br /&gt;
website in PDF form have been released in the document source form under&lt;br /&gt;
the Creative Commons license so that they can be updated as a community&lt;br /&gt;
effort, and checked into a public git tree.&lt;br /&gt;
&lt;br /&gt;
== XFS status update for January 2009 ==&lt;br /&gt;
&lt;br /&gt;
January has been an extremely busy month on the userspace front.  Many&lt;br /&gt;
smaller and medium updates went into xfsprogs, xfstests and to a lesser&lt;br /&gt;
extent xfsdump.  xfsprogs and xfsdump are ramping up for getting a 3.0.0&lt;br /&gt;
release out in early February which will include the first major re-sync&lt;br /&gt;
with the kernel code in libxfs, a cleanup of the exported library interfaces&lt;br /&gt;
and the move of two tools (xfs_fsr and xfs_estimate) from the xfsdump&lt;br /&gt;
package to xfsprogs.  After this the xfsprogs package will contain all&lt;br /&gt;
tools that use internal libxfs interfaces which fortunately equates to those&lt;br /&gt;
needed for normal administration.  The xfsdump package now only contains&lt;br /&gt;
the xfsdump/xfsrestore tools needed for backing up and restoring XFS&lt;br /&gt;
filesystems.  In addition it grew a fix to support dump/restore on systems&lt;br /&gt;
with a 64k page size.  A large number of acl/attr package patches was&lt;br /&gt;
posted to the list, but pending a possible split of these packages from the&lt;br /&gt;
XFS project these weren&#039;t processed yet.&lt;br /&gt;
&lt;br /&gt;
On the kernel side the big excitement in January was an in-memory corruption&lt;br /&gt;
introduced in the btree refactoring which hit people running 32bit platforms&lt;br /&gt;
without support for large block devices.  This issue was fixed and pushed&lt;br /&gt;
to the 2.6.29 development tree after a long collaborative debugging effort&lt;br /&gt;
at linux.conf.au.  Besides that about a dozen minor fixes were pushed to&lt;br /&gt;
2.6.29 and the first batch of misc patches for the 2.6.30 release cycle&lt;br /&gt;
was sent out.&lt;br /&gt;
&lt;br /&gt;
At the end of December the SGI group in Melbourne which the previous&lt;br /&gt;
XFS maintainer and some other developers worked for has been closed down&lt;br /&gt;
and they will be missed greatly.  As a result maintainership has been passed&lt;br /&gt;
on in a way that has been slightly controversial in the community, and the&lt;br /&gt;
first patchset of work in progress in Melbourne have been posted to the list&lt;br /&gt;
to be picked up by others.&lt;br /&gt;
&lt;br /&gt;
The xfs.org wiki has gotten a little facelift on it&#039;s front page making it&lt;br /&gt;
a lot easier to read.&lt;br /&gt;
&lt;br /&gt;
== XFS status update for December 2008 ==&lt;br /&gt;
&lt;br /&gt;
On Christmas Eve the 2.6.28 mainline kernel was release, with only minor XFS&lt;br /&gt;
bug fixes over 2.6.27.&lt;br /&gt;
&lt;br /&gt;
On the development side December has been busy but unspectacular month.&lt;br /&gt;
All lot of misc fixes and improvements have been sent out, tested and committed&lt;br /&gt;
especially on the user land side.&lt;br /&gt;
&lt;br /&gt;
== XFS status update for November 2008 ==&lt;br /&gt;
&lt;br /&gt;
The mainline kernel is now at 2.6.28-rc6 and includes a small number of&lt;br /&gt;
XFS fixes.  There have been no updates to the XFS development tree during&lt;br /&gt;
November.  Without new regressions that large number of changes that&lt;br /&gt;
missed 2.6.28 has thus stabilized to be ready for 2.6.29.  In the meantime&lt;br /&gt;
kernel-side development has been slow, with the only major patch set&lt;br /&gt;
being a wide number of fixes to the compatibility for 32 bit ioctls on&lt;br /&gt;
a 64 bit kernel.&lt;br /&gt;
&lt;br /&gt;
In the meantime there has been a large number of commits to the user space&lt;br /&gt;
tree, which mostly consist of smaller fixes.  xfsprogs is getting close&lt;br /&gt;
to have the 3.0.0 release which will be the first full resync with the&lt;br /&gt;
kernel sources since the year 2005.&lt;br /&gt;
&lt;br /&gt;
== XFS status update for October 2008 ==&lt;br /&gt;
&lt;br /&gt;
Linux 2.6.27 released with all the bits covered in last month&#039;s report.  It&lt;br /&gt;
did however miss two important fixes for regressions that a few people hit.&lt;br /&gt;
2.6.27.3 or later are recommended for use with XFS.&lt;br /&gt;
&lt;br /&gt;
In the meantime the generic btree implementation, the sync reorganization&lt;br /&gt;
and after a lot of merge pain the XFS and VFS inode unification hit the&lt;br /&gt;
development tree during the time allocated for the merge window.  No XFS&lt;br /&gt;
updates other than the two regression fixes also in 2.6.27.3 have made it&lt;br /&gt;
into mainline as of 2.6.28-rc3.&lt;br /&gt;
&lt;br /&gt;
The only new feature on the list in October is support for the fiemap&lt;br /&gt;
interface that has been added to the VFS during the 2.6.28 merge window.&lt;br /&gt;
However there was lot of patch traffic consisting of fixes and respun&lt;br /&gt;
versions of previously known patches.  There still is a large backlog of&lt;br /&gt;
patches on the list that is not applied to the development tree yet.&lt;br /&gt;
&lt;br /&gt;
== XFS status update for September 2008 ==&lt;br /&gt;
&lt;br /&gt;
With Linux 2.6.27 still not released but only making slow progress from 2.6.27-rc5 to 2.6.27-rc8 XFS changes in mainline have been minimal in September with only about half a dozen bug fixes patches.&lt;br /&gt;
&lt;br /&gt;
In the meantime the generic btree patch set has been committed to the development tree, but not many other updates yet. On the user space side xfsprogs 2.10.1 has been released on September 5th with a number of important bug fixes. Following the release of xfsprogs 2.10.1 open season for development of the user space code has started. The first full update of the shared kernel / user space code in libxfs since 2005 has been committed. In addition to that the number of headers installed for the regular devel package has been reduced to the required minimum and support for checking the source code for endianess errors using sparse has been added.&lt;br /&gt;
&lt;br /&gt;
The patch sets to unify the XFS and Linux inode structures, and rewrite various bits of the sync code have seen various iterations on the XFS list, but haven&#039;t been committed yet. A first set of patches implementing CRCs for various metadata structures has been posted to the list.&lt;br /&gt;
&lt;br /&gt;
== XFS status update for August 2008 ==&lt;br /&gt;
&lt;br /&gt;
With the 2.6.27-rc5 release the 2.6.27 cycle is nearing it&#039;s end. The major XFS feature in 2.6.27-rc5 is support for case-insensitive file names. At this point it is still limited to 7bit ASCII file names, with updates for utf8 file names expected to follow later. In addition to that 2.6.27-rc5 fixes a long-standing problem with non-EABI arm compiler which pack some XFS data structures wrongly. Besides this 2.6.27-rc5 also contains various cleanups, most notably the removal of the last bhv_vnode_t instances, and most uses of semaphores. As usual the diffstat for XFS from 2.6.26 to 2.6.26-rc5 is negative:&lt;br /&gt;
&lt;br /&gt;
       100 files changed, 3819 insertions(+), 4409 deletions(-)&lt;br /&gt;
&lt;br /&gt;
On the user space front a new minor xfsprogs version is about to be released containing various fixes including the user space part of arm packing fix.&lt;br /&gt;
&lt;br /&gt;
Work in progress on the XFS mailing list are a large patch set to unify the alloc, inobt and bmap btree implementation into a single that supports arbitrarily pluggable key and record formats. These btree changes are the first major preparation for adding CRC checks to all metadata structures in XFS, and an even larger patch set to unify the XFS and Linux inode structures, and perform all inode write back from the btree uses instead of an inode cache in XFS.&lt;br /&gt;
&lt;br /&gt;
== Updates before 2008 ==&lt;br /&gt;
&lt;br /&gt;
News up to 2007 can be found on a separate page: [[OLD_News]]&lt;/div&gt;</summary>
		<author><name>Hch</name></author>
	</entry>
	<entry>
		<id>https://xfs.org/index.php?title=XFS_Status_Updates&amp;diff=2341</id>
		<title>XFS Status Updates</title>
		<link rel="alternate" type="text/html" href="https://xfs.org/index.php?title=XFS_Status_Updates&amp;diff=2341"/>
		<updated>2011-07-13T12:51:35Z</updated>

		<summary type="html">&lt;p&gt;Hch: june update&lt;/p&gt;
&lt;hr /&gt;
&lt;div&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&#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&#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&#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&#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&#039;t been committed yet were discussed on the mailing list.&lt;br /&gt;
&lt;br /&gt;
== XFS status update for December 2010 ==&lt;br /&gt;
&lt;br /&gt;
The release process of the Linux 2.6.37 kernel with it&#039;s large XFS updates&lt;br /&gt;
was in it&#039;s final days in December, which explains why we only saw a single&lt;br /&gt;
one-liner regression fix for XFS in Linus&#039; tree.  The XFS development tree&lt;br /&gt;
finally saw some updates when the writeback updates and some small cleanups&lt;br /&gt;
to the allocator and log recovery code were merged, but the large metadata&lt;br /&gt;
scalability updates that have been posted to the list multiple times are&lt;br /&gt;
still missing.  In addition to this on-going work the list also saw patches&lt;br /&gt;
that fix smaller issues, which are also still waiting to be merged.&lt;br /&gt;
&lt;br /&gt;
On the userspace side xfsprogs and xfsdump development has been quit, with&lt;br /&gt;
no commits to either repository in December, although a large series of&lt;br /&gt;
updates to the metadump command has been reposted near the end of the month.&lt;br /&gt;
The xfstests repository saw a new regression test for a btrfs problem,&lt;br /&gt;
and various updates to existing tests.&lt;br /&gt;
&lt;br /&gt;
== XFS status update for November 2010 ==&lt;br /&gt;
&lt;br /&gt;
From looking at the kernel git commits November looked like a pretty&lt;br /&gt;
slow month with just two hand full fixes going into the release candidates&lt;br /&gt;
for Linux 2.6.37, and none at all going into the development tree.&lt;br /&gt;
But in this case git statistics didn&#039;t tell the whole story - there&lt;br /&gt;
was a lot of activity on patches for the next merge window on the list.&lt;br /&gt;
The focus in November was still at metadata scalability, with various&lt;br /&gt;
patchsets that improves parallel creates and unlinks again, and also&lt;br /&gt;
improves 8-way dbench throughput by 30%.  In addition to that there&lt;br /&gt;
were patches to improve preallocation for NFS servers, to simplify&lt;br /&gt;
the writeback code, and to remove the XFS-internal percpu counters&lt;br /&gt;
for free space for the generic kernel percpu counters, which just needed&lt;br /&gt;
a small improvement.&lt;br /&gt;
&lt;br /&gt;
On the user space side we saw the release of xfsprogs 3.1.4, which&lt;br /&gt;
contains various accumulated bug fixes and Debian packaging updates.&lt;br /&gt;
The xfsdump tree saw a large update to speed up restore by using&lt;br /&gt;
mmap for an internal database and remove the limitation of ~ 214&lt;br /&gt;
million directory entries per dump file.  The xfstests test suite&lt;br /&gt;
saw three new testcases and various fixes, including support for the&lt;br /&gt;
hfsplus filesystem.&lt;br /&gt;
&lt;br /&gt;
== XFS status update for October 2010 ==&lt;br /&gt;
&lt;br /&gt;
Near the end of the month we finally saw the release of Linux 2.6.36.&lt;br /&gt;
Just a single fix made it into mainline in this month, showing that the&lt;br /&gt;
stabilization period before has worked very well.&lt;br /&gt;
&lt;br /&gt;
Linux 2.6.36 has been another impressive release for XFS, seeing&lt;br /&gt;
various performance improvements in the new delayed logging code,&lt;br /&gt;
for direct I/O and the sync system call, a few bug fixes, and lots&lt;br /&gt;
of cleanups, resulting in a net removal of over 2000 lines of code:&lt;br /&gt;
&lt;br /&gt;
        89 files changed, 1998 insertions(+), 4279 deletions(-)&lt;br /&gt;
&lt;br /&gt;
The merge window for Linux 2.6.37 opened just a few days after the&lt;br /&gt;
release of Linux 2.6.36 and already contains another large XFS update&lt;br /&gt;
at the end of October.  Highlights of the XFS tree merged into 2.6.37-rc1&lt;br /&gt;
are another large set of metadata scalability patches, support for 32-bit&lt;br /&gt;
wide project IDs, and support for the new XFS_IOC_ZERO_RANGE ioctl,&lt;br /&gt;
which allows to punch a whole and convert it to an unwritten extent&lt;br /&gt;
in a single atomic operation.&lt;br /&gt;
&lt;br /&gt;
The metadata scalability changes improve 8-way fs_mark of 50 million files&lt;br /&gt;
by over 15% and removal of those files by over 100%, with further&lt;br /&gt;
improvements expected by the next round of XFS metadata scalability&lt;br /&gt;
and VFS scalability improvements targeted at Linux 2.6.38.&lt;br /&gt;
&lt;br /&gt;
On the user space side October was a rather quit month for xfsprogs, which&lt;br /&gt;
only saw the addition of 32-bit project ID handling, and a fix for&lt;br /&gt;
parsing the mount table in fsr when used together with disk encryption&lt;br /&gt;
tools.  A few patches for xfsdump were posted on the list, but none&lt;br /&gt;
was applied, leaving the majority of the user space activity to&lt;br /&gt;
xfstests, which saw very active development.  Various patches went&lt;br /&gt;
into xfstests to improve portability to filesystems with a limited&lt;br /&gt;
feature set, and to move more filters to generic code.  In addition&lt;br /&gt;
various cleanups to test cases in test programs were applied.&lt;br /&gt;
&lt;br /&gt;
== XFS status update for September 2010 ==&lt;br /&gt;
&lt;br /&gt;
Mainline activity has been rather low in September while with only&lt;br /&gt;
two more fixes going into the 2.6.36 release candidates after the&lt;br /&gt;
large merge activity in August.  Development for the next merge&lt;br /&gt;
window has been more active.  The largest item was the inclusion&lt;br /&gt;
of the metadata scalability patch series, which provides very large&lt;br /&gt;
speedups for parallel metadata operations.  In addition a new&lt;br /&gt;
ioctl to punch holes and convert the whole to an unwritten extent&lt;br /&gt;
was added and a small number of cleanups also made it into the tree.&lt;br /&gt;
&lt;br /&gt;
Patches to add support for 32bit wide project ID identifiers and&lt;br /&gt;
using group and project quotas concurrently were posted to the list&lt;br /&gt;
and discussed but not yet included.&lt;br /&gt;
&lt;br /&gt;
Userspace development has been rather quiet again, with a single fix&lt;br /&gt;
committed to xfsprogs and xfsdump each.  The xfstests test suite grew&lt;br /&gt;
a new test case and received a few additional fixes.  Last but not least&lt;br /&gt;
the [http://xfs.org/docs/xfsdocs-xml-dev/XFS_User_Guide//tmp/en-US/html/index.html XFS Users Guide]&lt;br /&gt;
was updated with various factual corrections and spelling fixes.&lt;br /&gt;
&lt;br /&gt;
== XFS status update for August 2010 ==&lt;br /&gt;
&lt;br /&gt;
At the first of August we finally saw the release of Linux 2.6.35,&lt;br /&gt;
which includes a large XFS update.  The most prominent feature in&lt;br /&gt;
Linux 2.6.35 is the new delayed logging code which provides massive&lt;br /&gt;
speedups for metadata-intensive workloads, but there has been&lt;br /&gt;
a large amount of other fixes and cleanups, leading to the following&lt;br /&gt;
diffstat:&lt;br /&gt;
&lt;br /&gt;
         67 files changed, 4426 insertions(+), 3835 deletions(-)&lt;br /&gt;
&lt;br /&gt;
Given the early release of Linux 2.6.35 the merge window for the&lt;br /&gt;
next release fully fell into the month of August.  The XFS updates&lt;br /&gt;
for Linux 2.6.36 include various additional performance improvements&lt;br /&gt;
in the delayed logging code, for direct I/O writes and for avoiding&lt;br /&gt;
synchronous transactions, as well as various fixed and large amount&lt;br /&gt;
of cleanups, including the removal of the remaining dead DMAPI&lt;br /&gt;
code.&lt;br /&gt;
&lt;br /&gt;
On the userspace side we saw the 3.1.3 release of xfsprogs, which includes&lt;br /&gt;
various smaller fixes, support for the new XFS_IOC_ZERO_RANGE ioctl and&lt;br /&gt;
Debian packaging updates.  The xfstests package saw one new test case&lt;br /&gt;
and a couple of smaller patches, and xfsdump has not seen any updates at&lt;br /&gt;
all.&lt;br /&gt;
&lt;br /&gt;
The XMLified versions of the XFS users guide, training labs and filesystem&lt;br /&gt;
structure documentation are now available as on the fly generated html on&lt;br /&gt;
the xfs.org website and can be found at [[XFS_Papers_and_Documentation|Papers &amp;amp; Documentation]].&lt;br /&gt;
&lt;br /&gt;
== XFS status update for July 2010 ==&lt;br /&gt;
&lt;br /&gt;
July saw three more release candidates for the Linux 2.6.35 kernel, which&lt;br /&gt;
included a relatively large number of XFS updates.  There were two security&lt;br /&gt;
fixes, a small one to prevent swapext to operate on write-only file&lt;br /&gt;
descriptors, and a much larger one to properly validate inode numbers&lt;br /&gt;
coming from NFS clients or userspace applications using the bulkstat or&lt;br /&gt;
the open-by-handle interfaces.  In addition to that another relatively&lt;br /&gt;
large patch fixes the way inodes get reclaimed in the background, and&lt;br /&gt;
avoids inode caches growing out of bounds.&lt;br /&gt;
&lt;br /&gt;
In the meantime the code for the Linux 2.6.36 got the last touches before&lt;br /&gt;
the expected opening of the merge window, by merging a few more last&lt;br /&gt;
minute fixes and cleanups.  The most notable one is a patch series&lt;br /&gt;
that fixes in-memory corruption when concurrently accessing unwritten&lt;br /&gt;
extents using the in-kernel AIO code.&lt;br /&gt;
&lt;br /&gt;
The userspace side was still quite slow, but some a bit more activity&lt;br /&gt;
than June.  In xfsprogs the xfs_db code grew two bug fixes, as did&lt;br /&gt;
the xfs_io script.  The xfstests package saw one new test cases and&lt;br /&gt;
various fixes to existing code.  Last but not least a few patches&lt;br /&gt;
affecting the build system for all userspace tools were committed.&lt;br /&gt;
&lt;br /&gt;
== XFS status update for June 2010 ==&lt;br /&gt;
&lt;br /&gt;
The month of June saw a few important bug fixes for the Linux 2.6.35&lt;br /&gt;
release candidates.  That includes ensuring that files used for the&lt;br /&gt;
swapext ioctl are writable to the user, and doing proper validation&lt;br /&gt;
of inodes coming from untrusted sources, such as NFS exporting and&lt;br /&gt;
the open by handle system calls.  The main work however has been&lt;br /&gt;
focused on development for the Linux 2.6.36 merge window, including&lt;br /&gt;
merging various patches that have been out on the mainline list&lt;br /&gt;
for a long time.  Highlights include further performance improvements&lt;br /&gt;
for sync heavy metadata workloads, stack space reduction in the&lt;br /&gt;
writeback path and improvements of the XFS tracing infrastructure.&lt;br /&gt;
Also after some discussion the remaining hooks for DMAPI are going&lt;br /&gt;
to be dropped in mainline.   As a replacement a tree containing&lt;br /&gt;
full DMAPI support with a slightly cleaner XFS interaction will be&lt;br /&gt;
hosted by SGI.&lt;br /&gt;
&lt;br /&gt;
On the userspace side June was a rather slow month, with no updates&lt;br /&gt;
to xfsprogs and xfsdump at all, and just one new test case and a cleanup&lt;br /&gt;
applied to xfstests.&lt;br /&gt;
&lt;br /&gt;
== XFS status update for May 2010 ==&lt;br /&gt;
&lt;br /&gt;
In May 2010 we saw the long awaited release of Linux 2.6.34, which includes&lt;br /&gt;
a large XFS update.  The most important features appearing in 2.6.34 was the&lt;br /&gt;
new inode and quota flushing code, which leads to much better I/O patterns&lt;br /&gt;
for metadata-intensive workloads.  Additionally support for synchronous NFS&lt;br /&gt;
exports has been improved to give much better performance, and performance&lt;br /&gt;
for the fsync, fdatasync and sync system calls has been improved slightly.&lt;br /&gt;
A bug when resizing extremely busy filesystems has been fixed, which required&lt;br /&gt;
extensive modification to the data structure used for looking up the&lt;br /&gt;
per-allocation group data.  Last but not least there was a steady flow of&lt;br /&gt;
minor bug fixes and cleanups, leading to the following diffstat from&lt;br /&gt;
2.6.33 to 2.6.34:&lt;br /&gt;
&lt;br /&gt;
  86 files changed, 3209 insertions(+), 3178 deletions(-)&lt;br /&gt;
&lt;br /&gt;
Meanwhile active development aimed at 2.6.35 merge progressed.  The&lt;br /&gt;
major feature for this window is the merge of the delayed logging code,&lt;br /&gt;
which adds a new logging mode that dramatically reduces the bandwidth&lt;br /&gt;
required for log I/O.  See the &lt;br /&gt;
[http://git.kernel.org/?p=linux/kernel/git/torvalds/linux-2.6.git;a=blob;f=Documentation/filesystems/xfs-delayed-logging-design.txt;h=96d0df28bed323d5596fc051b0ffb96ed8e3c8df;hb=HEAD documentation] for details.  Testers&lt;br /&gt;
for this new code are welcome.&lt;br /&gt;
&lt;br /&gt;
In userland xfsprogs saw the long awaited 3.1.2 release, which can be&lt;br /&gt;
considered a bug fix release for xfs_repair, xfs_fsr and mkfs.xfs.  After&lt;br /&gt;
the release a few more fixes were merged into the development tree.&lt;br /&gt;
The xfstests package saw various new tests, including many tests to&lt;br /&gt;
exercise the quota code, and a few fixes to existing tests.&lt;br /&gt;
&lt;br /&gt;
== XFS status update for April 2010 ==&lt;br /&gt;
&lt;br /&gt;
In April 2.6.34 still was in the release candidate phase, with&lt;br /&gt;
a hand full of XFS fixes making it into mainline.  Development for&lt;br /&gt;
the 2.6.35 merge window went ahead full steam at the same time.&lt;br /&gt;
&lt;br /&gt;
While a fair amount of patches hit the development tree these were&lt;br /&gt;
largely cleanups, with the real development activity happening on&lt;br /&gt;
the mailing list.  There was another round of patches and following&lt;br /&gt;
discussion on the scalable busy extent tracking and delayed logging&lt;br /&gt;
features mentioned last month.  They are expected to be merged in&lt;br /&gt;
May and queue up for the Linux 2.6.35 window.  Last but not least&lt;br /&gt;
April saw a large number of XFS fixes backported to the 2.6.32 and&lt;br /&gt;
2.6.33 -stable series.&lt;br /&gt;
&lt;br /&gt;
In user land xfsprogs has seen few but important updates, preparing&lt;br /&gt;
for a new release next month.  The xfs_repair tool saw a fix to&lt;br /&gt;
correctly enable the lazy superblock counters on an existing&lt;br /&gt;
filesystem, and xfs_fsr saw updates to better deal with dynamic&lt;br /&gt;
attribute forks.  Last but not a least a port to Debian GNU/kFreeBSD&lt;br /&gt;
got merged. The xfstests test suite saw two new test cases and various&lt;br /&gt;
smaller fixes.&lt;br /&gt;
&lt;br /&gt;
== XFS status update for March 2010 ==&lt;br /&gt;
&lt;br /&gt;
The merge window for Linux 2.6.34 closed in the first week of March,&lt;br /&gt;
with the important XFS features already landing in February.  Not&lt;br /&gt;
surprisingly the XFS merge activity in March has been rather slow,&lt;br /&gt;
with only about a dozen bug fixes patches making it towards Linus&#039;&lt;br /&gt;
tree in that time.&lt;br /&gt;
&lt;br /&gt;
On the other hand active development for the 2.6.35 merge window has&lt;br /&gt;
been very active.  Most importantly there was a lot of work on the&lt;br /&gt;
transaction and log subsystems.  Starting with a large patchset to&lt;br /&gt;
clean up and refactor the transaction subsystem and introducing more&lt;br /&gt;
flexible I/O containers in the low-level logging code work is&lt;br /&gt;
progressing to a new, more efficient logging implementation.  While&lt;br /&gt;
this preparatory work has already been merged in the development tree,&lt;br /&gt;
the actual delayed logging implementation still needs more work after&lt;br /&gt;
the initial public posting.  The delayed logging implementation which&lt;br /&gt;
is very briefly modeled after the journaling mode in the ext3/4&lt;br /&gt;
and reiserfs filesystems allows to accumulated multiple asynchronous&lt;br /&gt;
transactions in memory instead of possibly writing them out&lt;br /&gt;
many times.  Using the new delayed logging mechanism I/O bandwidth&lt;br /&gt;
used for the log decreases by orders of magnitude and performance&lt;br /&gt;
on metadata intensive workloads increases massively.&lt;br /&gt;
&lt;br /&gt;
In addition to that a new version of the discard (aka TRIM) support&lt;br /&gt;
has been posted, this time entirely contained in kernel space&lt;br /&gt;
and without the need of a userspace utility to drive it.  Last but&lt;br /&gt;
not least the usual steady stream of cleanups and bug fixes has not&lt;br /&gt;
ceased this month either.&lt;br /&gt;
&lt;br /&gt;
Besides the usual flow of fixes and new test cases in the xfstests&lt;br /&gt;
test suite development on the userspace side has been rather slow.&lt;br /&gt;
Xfsprogs has only seen a single fix for SMP locking in xfs_repair&lt;br /&gt;
and support for building on Debian GNU/kFreeBSD, and xfsdump&lt;br /&gt;
has seen no commit at all.&lt;br /&gt;
&lt;br /&gt;
== XFS status update for February 2010 ==&lt;br /&gt;
&lt;br /&gt;
February saw the release of the Linux 2.6.33 kernel, which includes&lt;br /&gt;
a large XFS update.  The biggest user-visible change in Linux 2.6.33&lt;br /&gt;
is that XFS now support the generic Linux trace event infrastructure,&lt;br /&gt;
which allows tracing lots of XFS behavior with a normal production&lt;br /&gt;
built kernel.  Except for this Linux 2.6.33 has been mostly a bug-fix&lt;br /&gt;
release, fixing various user reported bugs in previous releases.&lt;br /&gt;
The total diffstat for XFS in Linux 2.6.33 looks like:&lt;br /&gt;
&lt;br /&gt;
  84 files changed, 3023 insertions(+), 3550 deletions(-)&lt;br /&gt;
&lt;br /&gt;
In addition to that the merge window for Linux 2.6.34 opened and the&lt;br /&gt;
first merge of the XFS tree made it into Linus tree.  Unlike Linux&lt;br /&gt;
2.6.33 this merge window includes major feature work.  The most&lt;br /&gt;
important change for users is a new algorithm for inode and quota&lt;br /&gt;
writeback that leads to better I/O locality and improved metadata&lt;br /&gt;
performance.  The second big change is a rewrite of the per-allocation&lt;br /&gt;
group data lookup which fixes a long-standing problem in the code&lt;br /&gt;
to grow a life filesystem and will also ease future filesystem&lt;br /&gt;
shrinking support.  Not merged through the XFS tree, but of great&lt;br /&gt;
importance for embedded users is a new API that allows XFS to properly&lt;br /&gt;
flush cache lines on it&#039;s log and large directory buffers, making&lt;br /&gt;
XFS work properly on architectures with virtually indexed caches,&lt;br /&gt;
such as parisc and various arm and mips variants.  Last but not&lt;br /&gt;
least there is an above average amount of cleanups that went into&lt;br /&gt;
Linus tree in this cycle.&lt;br /&gt;
&lt;br /&gt;
There have been more patches on the mailing list that haven&#039;t made&lt;br /&gt;
it to Linus tree yet, including an optimized implementation of&lt;br /&gt;
fdatasync(2) and massive speedups for metadata workloads on&lt;br /&gt;
NFS exported XFS filesystems.&lt;br /&gt;
&lt;br /&gt;
On the userspace side February has been a relatively quiet month.&lt;br /&gt;
Lead by xfstests only a moderate amount of fixes made it into&lt;br /&gt;
the respective trees.&lt;br /&gt;
&lt;br /&gt;
== XFS status update for January 2010 ==&lt;br /&gt;
&lt;br /&gt;
January saw additional release candidates of the Linux 2.6.33 kernel,&lt;br /&gt;
including a couple of bug fixes for XFS.  In the meantime the XFS tree&lt;br /&gt;
has been growing a large number of patches destined for the Linux 2.6.34&lt;br /&gt;
merge window: a large rework of the handling of per-AG data, support for&lt;br /&gt;
the quota netlink interface, and better power saving behavior of the&lt;br /&gt;
XFS kernel threads, and of course various cleanups.&lt;br /&gt;
&lt;br /&gt;
A large patch series to replace the current asynchronous inode writeback&lt;br /&gt;
with a new scheme that uses the delayed write buffers was posted to&lt;br /&gt;
the list.  The new scheme, which allows archive better I/O locality by&lt;br /&gt;
dispatching meta-data I/O from a single place has been discussed&lt;br /&gt;
extensively and is expected to be merged in February.&lt;br /&gt;
&lt;br /&gt;
On the userspace side January saw the 3.1.0 and 3.1.1 releases of xfsprogs,&lt;br /&gt;
as well as the 3.0.4 release of xfsdump.  The biggest changes in xfsprogs&lt;br /&gt;
3.1.0 were optimizations in xfs_repair that lead to a much lower memory&lt;br /&gt;
usage, and optional use of the blkid library for filesystem detection&lt;br /&gt;
and retrieving storage topology information.  The 3.1.1 release contained&lt;br /&gt;
various important bug fixes for these changes and a various improvements to&lt;br /&gt;
the build system.  The major feature of xfsdump 3.0.4 were fixes for&lt;br /&gt;
time stamp handling on 64-bit systems.&lt;br /&gt;
&lt;br /&gt;
The xfstests package also lots of activity including various new testcases&lt;br /&gt;
and an improved build system.&lt;br /&gt;
&lt;br /&gt;
== XFS status update for December 2009 ==&lt;br /&gt;
&lt;br /&gt;
December finally saw the long awaited release of Linux 2.6.32, which for&lt;br /&gt;
XFS is mostly a bug fix release, with the major changes being various&lt;br /&gt;
improvement to the sync path, including working around the expectation&lt;br /&gt;
from the grub boot loader where metadata is supposed to be after a sync()&lt;br /&gt;
system call.  Together with a refactoring of the inode allocator this&lt;br /&gt;
gives a nice diffstat for this kernel release:&lt;br /&gt;
&lt;br /&gt;
 46 files changed, 767 insertions(+), 1048 deletions(-)&lt;br /&gt;
&lt;br /&gt;
In the meantime development for the 2.6.33 has been going strong.  The&lt;br /&gt;
new event tracing code that allows to observe the inner workings of XFS&lt;br /&gt;
in production systems has finally been merged, with another patch to&lt;br /&gt;
reduce the size of the tracing code by using new upstream kernel features&lt;br /&gt;
posted for review.  Also a large patch series has been posted which&lt;br /&gt;
changes per-AG data to be looked up by a radix tree instead of the&lt;br /&gt;
existing array.  This works around possible deadlocks and user after&lt;br /&gt;
free issues during growfs, and prepares for removing a global (shared)&lt;br /&gt;
lock from the free space allocators.  In addition to that a wide range&lt;br /&gt;
of fixes has been posted and applied.&lt;br /&gt;
&lt;br /&gt;
Work on the userspace packages has been just as busy.  In mkfs.xfs the&lt;br /&gt;
lazy superblock counter feature has now been enabled by default for the&lt;br /&gt;
upcoming xfsprogs 3.1.0 release, which will require kernel 2.6.22 for&lt;br /&gt;
the default mkfs invocation.  Also for mkfs.xfs as patch was posted&lt;br /&gt;
to correct the automatic detection of 4 kilobyte sector drivers which&lt;br /&gt;
are expected to show up in large quantities the real work soon.  The&lt;br /&gt;
norepair mode in xfs_repair has been enhanced with additional freespace&lt;br /&gt;
btree correction checks from xfs_db and is now identical to xfs_check in&lt;br /&gt;
filesystem consistency checking coverage.  A temporary file permission&lt;br /&gt;
problems has been fixed in xfs_fsr, and the libhandle library has been&lt;br /&gt;
fixed to better deal with symbolic links.  In xfs_io a few commands&lt;br /&gt;
that were added years ago have finally been wired up to actually be&lt;br /&gt;
usable.  And last but not least xfsdump saw a fix to the time stamp&lt;br /&gt;
handling in the backup format and some usability and documentation&lt;br /&gt;
improvements to xfsinvutil.&lt;br /&gt;
&lt;br /&gt;
== XFS status update for November 2009 ==&lt;br /&gt;
&lt;br /&gt;
November was a relatively slow month for XFS development.  The XFS tree&lt;br /&gt;
that is destined for the Linux 2.6.33 merge window saw a few fixes and&lt;br /&gt;
cleanups applied to it, and few important fixes still made it into the&lt;br /&gt;
last Linux 2.6.32 release candidates.  A few more patches including a&lt;br /&gt;
final version of the event tracing support for XFS were posted but not&lt;br /&gt;
reviewed yet.&lt;br /&gt;
&lt;br /&gt;
On the userspace side there has been a fair amount of xfsprogs activity.&lt;br /&gt;
The repair speedup patches have finally been merged into the main development&lt;br /&gt;
branch and a couple of other fixes to the various utilities made it in, too.&lt;br /&gt;
The xfstests test suite saw another new regression test suite and a build&lt;br /&gt;
system fix up.&lt;br /&gt;
&lt;br /&gt;
== XFS status update for October 2009 ==&lt;br /&gt;
In October we saw the Linux 2.6.32 merge window with a major XFS update.&lt;br /&gt;
This update includes a refactoring of the inode allocator which also&lt;br /&gt;
allows for speedups for very large filesystems, major sync fixes, updates&lt;br /&gt;
to the fsync and O_SYNC handling which merge the two code paths into a single&lt;br /&gt;
and more efficient one, a workaround for the VFS time stamp behavior,&lt;br /&gt;
and of course various smaller fixes.  A couple of additional fixes have been&lt;br /&gt;
queued up for the next merge window.&lt;br /&gt;
&lt;br /&gt;
On the userspace side there has been a healthy activity on xfsprogs:  mkfs can&lt;br /&gt;
now discard unused sectors on SSDs and thinly provisioned storage devices and&lt;br /&gt;
use the more generic libblkid for topology information and filesystems detection&lt;br /&gt;
instead of the older libdisk, and the build system gained some updates to&lt;br /&gt;
make the source package generation simpler and shared for different package&lt;br /&gt;
types.  A patch has been out to the list but yet committed to add symbol&lt;br /&gt;
versioning to the libhandle library to make future ABI additions easier.&lt;br /&gt;
The xfstests package only saw some minor activity with a new test case&lt;br /&gt;
and small build system fixes.&lt;br /&gt;
&lt;br /&gt;
New minor releases of xfsprogs and xfsdump were tagged but not formally&lt;br /&gt;
released after additional discussion.  Instead a new major xfsprogs release&lt;br /&gt;
is planned for next month.&lt;br /&gt;
&lt;br /&gt;
== XFS status update for September 2009 ==&lt;br /&gt;
&lt;br /&gt;
In September the Linux 2.6.31 kernel was finally released, including another&lt;br /&gt;
last minute XFS fix for the swapext (defragmentation) compat ioctl handler.&lt;br /&gt;
The final patch from 2.6.30 to 2.6.31 shows the following impressive diffstat&lt;br /&gt;
for XFS:&lt;br /&gt;
&lt;br /&gt;
   55 files changed, 1476 insertions(+), 2269 deletions(-)&lt;br /&gt;
&lt;br /&gt;
The 2.6.32 merge window started with a large XFS merge that included changes&lt;br /&gt;
to the inode allocator, and a few smaller fixes.  New versions of the sync&lt;br /&gt;
and time stamp fixes as well as the event tracing support have been posted&lt;br /&gt;
in September but not yet merged into the XFS development tree and/or mainline.&lt;br /&gt;
&lt;br /&gt;
On the userspace side a large patch series to reduce the memory usage in&lt;br /&gt;
xfs_repair to acceptable levels was posted, but not yet merged.  A new xfs_df&lt;br /&gt;
shell script to measure use of the on disk space was posted but not yet&lt;br /&gt;
merged pending some minor review comments and a missing man page.  In addition&lt;br /&gt;
we saw the usual amount of smaller fixes and cleanups.&lt;br /&gt;
&lt;br /&gt;
Also this month Felix Blyakher resigned from his post as XFS maintainer and handed off to Alex Elder.&lt;br /&gt;
&lt;br /&gt;
== XFS status update for August 2009 ==&lt;br /&gt;
&lt;br /&gt;
In August the Linux 2.6.31 kernel has still been in the release candidate&lt;br /&gt;
stage, but a couple of important XFS fixes made it in time for the release,&lt;br /&gt;
including a fix for the inode cache races with NFS workloads that have&lt;br /&gt;
plagued us for a long time.&lt;br /&gt;
&lt;br /&gt;
The list saw various patches destined for the Linux 2.6.32 merge window,&lt;br /&gt;
including a merge of the fsync and O_SYNC handling code to address various&lt;br /&gt;
issues with the latter, a workaround for deficits in the timestamp handling&lt;br /&gt;
interface between the VFS and filesystems, a repost of the sync improvements&lt;br /&gt;
patch series and various smaller patches.&lt;br /&gt;
&lt;br /&gt;
August also saw the minor 3.0.3 release of xfsprogs which collects smaller&lt;br /&gt;
fixes to the various tools and most importantly a fix to allow xfsprogs to&lt;br /&gt;
work again on SPARC and other strict alignment handling which regressed a&lt;br /&gt;
few releases ago.  The xfstests repository saw a few new test cases and a&lt;br /&gt;
various small improvements.&lt;br /&gt;
&lt;br /&gt;
== XFS status update for July 2009 ==&lt;br /&gt;
&lt;br /&gt;
As a traditional summer vacation month July has not seen a lot of XFS&lt;br /&gt;
activity.  The mainline 2.6.31 kernel made it to the 5th release candidate&lt;br /&gt;
but besides a few kernel-wide patches touching XFS the only activity were&lt;br /&gt;
two small patches fixing a bug in FIEMAP and working around writeback&lt;br /&gt;
performance problems in the VM.&lt;br /&gt;
&lt;br /&gt;
A few more patches were posted to the list but haven&#039;t been merged yet.&lt;br /&gt;
Two big patch series deal with theoretically possible deadlocks due to&lt;br /&gt;
locks taken in reclaim contexts, which are now detected by lockdep.&lt;br /&gt;
&lt;br /&gt;
The pace on the userspace side has been slow.  There have been a couple&lt;br /&gt;
of fixes to xfs_repair and xfs_db, and xfstests grew a few more testcases.&lt;br /&gt;
&lt;br /&gt;
== XFS status update for June 2009 ==&lt;br /&gt;
&lt;br /&gt;
On June 9th we finally saw the release of Linux 2.6.30.  For XFS&lt;br /&gt;
this release mostly contains the improved ENOSPC handling, but also&lt;br /&gt;
various smaller bugfixes and lots of cleanups.  The code size of XFS&lt;br /&gt;
decreased again by 500 lines of code in this release.&lt;br /&gt;
&lt;br /&gt;
The Linux 2.6.31 merge opened in the mid of the month and some big XFS&lt;br /&gt;
changes have been pushed: A removal of the quotaops&lt;br /&gt;
infrastructure which simplifies the quota implementation, the switch&lt;br /&gt;
from XFS&#039;s own Posix ACL implementation to the generic one shared&lt;br /&gt;
by various other filesystems which also supports in-memory caching of&lt;br /&gt;
ACLs and another incremental refactoring of the sync code.&lt;br /&gt;
&lt;br /&gt;
A patch to better track dirty inodes and work around issues in the&lt;br /&gt;
way the VFS updates the access time stamp on inodes has been reposted&lt;br /&gt;
and discussed. Another patch to converting the existing XFS tracing&lt;br /&gt;
infrastructure to use the ftrace even tracer has been posted.&lt;br /&gt;
&lt;br /&gt;
On the userspace side there have been a few updates to xfsprogs, including&lt;br /&gt;
some repair fixes and a new fallocate command for xfs_io.  There were&lt;br /&gt;
major updates for xfstests:  The existing aio-dio-regress testsuite has&lt;br /&gt;
been merged into xfstests, and various changes went into the tree to make&lt;br /&gt;
xfstests better suitable for use with other filesystems.&lt;br /&gt;
&lt;br /&gt;
The attr and acl projects which have been traditionally been hosted&lt;br /&gt;
as part of the XFS userspace utilities have now been split into a separate&lt;br /&gt;
project maintained by Andreas Gruenbacher, who has been doing most of&lt;br /&gt;
the work on it, and moved to the Savannah hosting platform.&lt;br /&gt;
&lt;br /&gt;
== XFS status update for May 2009 ==&lt;br /&gt;
&lt;br /&gt;
In May Linux 2.6.30 was getting close to be released, and various&lt;br /&gt;
important XFS fixes made it during the latest release candidates.&lt;br /&gt;
In the meantime some big patch series to rework the sync code and&lt;br /&gt;
the inode allocator have been posted for the next merge window.&lt;br /&gt;
&lt;br /&gt;
On the userspace side xfsprogs and xfsdump 3.0.1 were finally released,&lt;br /&gt;
quickly followed by 3.0.2 releases with updated Debian packaging.&lt;br /&gt;
After that various small patches that were held back made it into xfsprogs.&lt;br /&gt;
A patch to add the xfs_reno tool which allows to move inodes around to&lt;br /&gt;
fit into 32 bit inode number space has been posted which is also one&lt;br /&gt;
central aspect of future online shrinking support.&lt;br /&gt;
&lt;br /&gt;
There has been major activity on xfstests including adding generic&lt;br /&gt;
filesystems support to allow running tests that aren&#039;t XFS-specific on&lt;br /&gt;
any Linux filesystems.&lt;br /&gt;
&lt;br /&gt;
== XFS status update for April 2009 ==&lt;br /&gt;
&lt;br /&gt;
In April development for Linux 2.6.30 was in full motion.  A patchset to correct flushing of delayed allocations with near full filesystems has been committed in early April, as well as various smaller fixes. A patch series to improve the behavior of sys_sync has been posted but is waiting for VFS changes queued for Linux 2.6.31.&lt;br /&gt;
&lt;br /&gt;
On the userspace side xfsprogs and xfsdump 3.0.1 have managed to split their release dates into May again after a lot of last-minute build system updates.&lt;br /&gt;
&lt;br /&gt;
== XFS status update for March 2009 ==&lt;br /&gt;
&lt;br /&gt;
Linux 2.6.29 has been released which includes major XFS updates like the&lt;br /&gt;
new generic btree code, a fully functional 32bit compat ioctl implementation&lt;br /&gt;
and the new combined XFS and Linux inode.  (See previous status reports&lt;br /&gt;
for more details). A patch series to improve correctness and performance&lt;br /&gt;
has been posted but not yet applied.  Various minor fixes and cleanups&lt;br /&gt;
have been sent to Linus for 2.6.30 which looks like it will be a minor&lt;br /&gt;
release for XFS after the big churn in 2.6.29.&lt;br /&gt;
&lt;br /&gt;
On userspace a lot of time has been spent on fixing and improving the&lt;br /&gt;
build system shared by the various XFS utilities as well as various smaller&lt;br /&gt;
improvements leading to the xfsprogs and xfsdump 3.0.1 releases which are&lt;br /&gt;
still outstanding.&lt;br /&gt;
&lt;br /&gt;
== XFS status update for February 2009 ==&lt;br /&gt;
&lt;br /&gt;
In February various smaller fixes have been sent to Linus for 2.6.29,&lt;br /&gt;
including a revert of the faster vmap APIs which don&#039;t seem to be quite&lt;br /&gt;
ready yet on the VM side.  At the same time various patches have been&lt;br /&gt;
queued up for 2.6.30, with another big batch pending.  There also has&lt;br /&gt;
been a repost of the CRC patch series, including support for a new,&lt;br /&gt;
larger inode core.&lt;br /&gt;
&lt;br /&gt;
SGI released various bits of work in progress from former employees&lt;br /&gt;
that will be extremely helpful for the future development of XFS,&lt;br /&gt;
thanks a lot to Mark Goodwin for making this happen.&lt;br /&gt;
&lt;br /&gt;
On the userspace side the long awaited 3.0.0 releases of xfsprogs and&lt;br /&gt;
xfsdump finally happened early in the month, accompanied by a 2.2.9&lt;br /&gt;
release of the dmapi userspace.  There have been some issues with packaging&lt;br /&gt;
so a new minor release might follow soon.&lt;br /&gt;
&lt;br /&gt;
The xfs_irecover tool has been relicensed so that it can be merged into&lt;br /&gt;
the GPLv2 codebase of xfsprogs, but the actual integration work hasn&#039;t&lt;br /&gt;
happened yet.&lt;br /&gt;
&lt;br /&gt;
Important bits of XFS documentation that have been available on the XFS&lt;br /&gt;
website in PDF form have been released in the document source form under&lt;br /&gt;
the Creative Commons license so that they can be updated as a community&lt;br /&gt;
effort, and checked into a public git tree.&lt;br /&gt;
&lt;br /&gt;
== XFS status update for January 2009 ==&lt;br /&gt;
&lt;br /&gt;
January has been an extremely busy month on the userspace front.  Many&lt;br /&gt;
smaller and medium updates went into xfsprogs, xfstests and to a lesser&lt;br /&gt;
extent xfsdump.  xfsprogs and xfsdump are ramping up for getting a 3.0.0&lt;br /&gt;
release out in early February which will include the first major re-sync&lt;br /&gt;
with the kernel code in libxfs, a cleanup of the exported library interfaces&lt;br /&gt;
and the move of two tools (xfs_fsr and xfs_estimate) from the xfsdump&lt;br /&gt;
package to xfsprogs.  After this the xfsprogs package will contain all&lt;br /&gt;
tools that use internal libxfs interfaces which fortunately equates to those&lt;br /&gt;
needed for normal administration.  The xfsdump package now only contains&lt;br /&gt;
the xfsdump/xfsrestore tools needed for backing up and restoring XFS&lt;br /&gt;
filesystems.  In addition it grew a fix to support dump/restore on systems&lt;br /&gt;
with a 64k page size.  A large number of acl/attr package patches was&lt;br /&gt;
posted to the list, but pending a possible split of these packages from the&lt;br /&gt;
XFS project these weren&#039;t processed yet.&lt;br /&gt;
&lt;br /&gt;
On the kernel side the big excitement in January was an in-memory corruption&lt;br /&gt;
introduced in the btree refactoring which hit people running 32bit platforms&lt;br /&gt;
without support for large block devices.  This issue was fixed and pushed&lt;br /&gt;
to the 2.6.29 development tree after a long collaborative debugging effort&lt;br /&gt;
at linux.conf.au.  Besides that about a dozen minor fixes were pushed to&lt;br /&gt;
2.6.29 and the first batch of misc patches for the 2.6.30 release cycle&lt;br /&gt;
was sent out.&lt;br /&gt;
&lt;br /&gt;
At the end of December the SGI group in Melbourne which the previous&lt;br /&gt;
XFS maintainer and some other developers worked for has been closed down&lt;br /&gt;
and they will be missed greatly.  As a result maintainership has been passed&lt;br /&gt;
on in a way that has been slightly controversial in the community, and the&lt;br /&gt;
first patchset of work in progress in Melbourne have been posted to the list&lt;br /&gt;
to be picked up by others.&lt;br /&gt;
&lt;br /&gt;
The xfs.org wiki has gotten a little facelift on it&#039;s front page making it&lt;br /&gt;
a lot easier to read.&lt;br /&gt;
&lt;br /&gt;
== XFS status update for December 2008 ==&lt;br /&gt;
&lt;br /&gt;
On Christmas Eve the 2.6.28 mainline kernel was release, with only minor XFS&lt;br /&gt;
bug fixes over 2.6.27.&lt;br /&gt;
&lt;br /&gt;
On the development side December has been busy but unspectacular month.&lt;br /&gt;
All lot of misc fixes and improvements have been sent out, tested and committed&lt;br /&gt;
especially on the user land side.&lt;br /&gt;
&lt;br /&gt;
== XFS status update for November 2008 ==&lt;br /&gt;
&lt;br /&gt;
The mainline kernel is now at 2.6.28-rc6 and includes a small number of&lt;br /&gt;
XFS fixes.  There have been no updates to the XFS development tree during&lt;br /&gt;
November.  Without new regressions that large number of changes that&lt;br /&gt;
missed 2.6.28 has thus stabilized to be ready for 2.6.29.  In the meantime&lt;br /&gt;
kernel-side development has been slow, with the only major patch set&lt;br /&gt;
being a wide number of fixes to the compatibility for 32 bit ioctls on&lt;br /&gt;
a 64 bit kernel.&lt;br /&gt;
&lt;br /&gt;
In the meantime there has been a large number of commits to the user space&lt;br /&gt;
tree, which mostly consist of smaller fixes.  xfsprogs is getting close&lt;br /&gt;
to have the 3.0.0 release which will be the first full resync with the&lt;br /&gt;
kernel sources since the year 2005.&lt;br /&gt;
&lt;br /&gt;
== XFS status update for October 2008 ==&lt;br /&gt;
&lt;br /&gt;
Linux 2.6.27 released with all the bits covered in last month&#039;s report.  It&lt;br /&gt;
did however miss two important fixes for regressions that a few people hit.&lt;br /&gt;
2.6.27.3 or later are recommended for use with XFS.&lt;br /&gt;
&lt;br /&gt;
In the meantime the generic btree implementation, the sync reorganization&lt;br /&gt;
and after a lot of merge pain the XFS and VFS inode unification hit the&lt;br /&gt;
development tree during the time allocated for the merge window.  No XFS&lt;br /&gt;
updates other than the two regression fixes also in 2.6.27.3 have made it&lt;br /&gt;
into mainline as of 2.6.28-rc3.&lt;br /&gt;
&lt;br /&gt;
The only new feature on the list in October is support for the fiemap&lt;br /&gt;
interface that has been added to the VFS during the 2.6.28 merge window.&lt;br /&gt;
However there was lot of patch traffic consisting of fixes and respun&lt;br /&gt;
versions of previously known patches.  There still is a large backlog of&lt;br /&gt;
patches on the list that is not applied to the development tree yet.&lt;br /&gt;
&lt;br /&gt;
== XFS status update for September 2008 ==&lt;br /&gt;
&lt;br /&gt;
With Linux 2.6.27 still not released but only making slow progress from 2.6.27-rc5 to 2.6.27-rc8 XFS changes in mainline have been minimal in September with only about half a dozen bug fixes patches.&lt;br /&gt;
&lt;br /&gt;
In the meantime the generic btree patch set has been committed to the development tree, but not many other updates yet. On the user space side xfsprogs 2.10.1 has been released on September 5th with a number of important bug fixes. Following the release of xfsprogs 2.10.1 open season for development of the user space code has started. The first full update of the shared kernel / user space code in libxfs since 2005 has been committed. In addition to that the number of headers installed for the regular devel package has been reduced to the required minimum and support for checking the source code for endianess errors using sparse has been added.&lt;br /&gt;
&lt;br /&gt;
The patch sets to unify the XFS and Linux inode structures, and rewrite various bits of the sync code have seen various iterations on the XFS list, but haven&#039;t been committed yet. A first set of patches implementing CRCs for various metadata structures has been posted to the list.&lt;br /&gt;
&lt;br /&gt;
== XFS status update for August 2008 ==&lt;br /&gt;
&lt;br /&gt;
With the 2.6.27-rc5 release the 2.6.27 cycle is nearing it&#039;s end. The major XFS feature in 2.6.27-rc5 is support for case-insensitive file names. At this point it is still limited to 7bit ASCII file names, with updates for utf8 file names expected to follow later. In addition to that 2.6.27-rc5 fixes a long-standing problem with non-EABI arm compiler which pack some XFS data structures wrongly. Besides this 2.6.27-rc5 also contains various cleanups, most notably the removal of the last bhv_vnode_t instances, and most uses of semaphores. As usual the diffstat for XFS from 2.6.26 to 2.6.26-rc5 is negative:&lt;br /&gt;
&lt;br /&gt;
       100 files changed, 3819 insertions(+), 4409 deletions(-)&lt;br /&gt;
&lt;br /&gt;
On the user space front a new minor xfsprogs version is about to be released containing various fixes including the user space part of arm packing fix.&lt;br /&gt;
&lt;br /&gt;
Work in progress on the XFS mailing list are a large patch set to unify the alloc, inobt and bmap btree implementation into a single that supports arbitrarily pluggable key and record formats. These btree changes are the first major preparation for adding CRC checks to all metadata structures in XFS, and an even larger patch set to unify the XFS and Linux inode structures, and perform all inode write back from the btree uses instead of an inode cache in XFS.&lt;br /&gt;
&lt;br /&gt;
== Updates before 2008 ==&lt;br /&gt;
&lt;br /&gt;
News up to 2007 can be found on a separate page: [[OLD_News]]&lt;/div&gt;</summary>
		<author><name>Hch</name></author>
	</entry>
	<entry>
		<id>https://xfs.org/index.php?title=User_talk:Hch&amp;diff=2338</id>
		<title>User talk:Hch</title>
		<link rel="alternate" type="text/html" href="https://xfs.org/index.php?title=User_talk:Hch&amp;diff=2338"/>
		<updated>2011-06-20T11:25:30Z</updated>

		<summary type="html">&lt;p&gt;Hch: Removing all content from page&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Hch</name></author>
	</entry>
	<entry>
		<id>https://xfs.org/index.php?title=XFS_Status_Updates&amp;diff=2319</id>
		<title>XFS Status Updates</title>
		<link rel="alternate" type="text/html" href="https://xfs.org/index.php?title=XFS_Status_Updates&amp;diff=2319"/>
		<updated>2011-06-06T19:33:54Z</updated>

		<summary type="html">&lt;p&gt;Hch: Mai update&lt;/p&gt;
&lt;hr /&gt;
&lt;div&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&#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&#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&#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&#039;t been committed yet were discussed on the mailing list.&lt;br /&gt;
&lt;br /&gt;
== XFS status update for December 2010 ==&lt;br /&gt;
&lt;br /&gt;
The release process of the Linux 2.6.37 kernel with it&#039;s large XFS updates&lt;br /&gt;
was in it&#039;s final days in December, which explains why we only saw a single&lt;br /&gt;
one-liner regression fix for XFS in Linus&#039; tree.  The XFS development tree&lt;br /&gt;
finally saw some updates when the writeback updates and some small cleanups&lt;br /&gt;
to the allocator and log recovery code were merged, but the large metadata&lt;br /&gt;
scalability updates that have been posted to the list multiple times are&lt;br /&gt;
still missing.  In addition to this on-going work the list also saw patches&lt;br /&gt;
that fix smaller issues, which are also still waiting to be merged.&lt;br /&gt;
&lt;br /&gt;
On the userspace side xfsprogs and xfsdump development has been quit, with&lt;br /&gt;
no commits to either repository in December, although a large series of&lt;br /&gt;
updates to the metadump command has been reposted near the end of the month.&lt;br /&gt;
The xfstests repository saw a new regression test for a btrfs problem,&lt;br /&gt;
and various updates to existing tests.&lt;br /&gt;
&lt;br /&gt;
== XFS status update for November 2010 ==&lt;br /&gt;
&lt;br /&gt;
From looking at the kernel git commits November looked like a pretty&lt;br /&gt;
slow month with just two hand full fixes going into the release candidates&lt;br /&gt;
for Linux 2.6.37, and none at all going into the development tree.&lt;br /&gt;
But in this case git statistics didn&#039;t tell the whole story - there&lt;br /&gt;
was a lot of activity on patches for the next merge window on the list.&lt;br /&gt;
The focus in November was still at metadata scalability, with various&lt;br /&gt;
patchsets that improves parallel creates and unlinks again, and also&lt;br /&gt;
improves 8-way dbench throughput by 30%.  In addition to that there&lt;br /&gt;
were patches to improve preallocation for NFS servers, to simplify&lt;br /&gt;
the writeback code, and to remove the XFS-internal percpu counters&lt;br /&gt;
for free space for the generic kernel percpu counters, which just needed&lt;br /&gt;
a small improvement.&lt;br /&gt;
&lt;br /&gt;
On the user space side we saw the release of xfsprogs 3.1.4, which&lt;br /&gt;
contains various accumulated bug fixes and Debian packaging updates.&lt;br /&gt;
The xfsdump tree saw a large update to speed up restore by using&lt;br /&gt;
mmap for an internal database and remove the limitation of ~ 214&lt;br /&gt;
million directory entries per dump file.  The xfstests test suite&lt;br /&gt;
saw three new testcases and various fixes, including support for the&lt;br /&gt;
hfsplus filesystem.&lt;br /&gt;
&lt;br /&gt;
== XFS status update for October 2010 ==&lt;br /&gt;
&lt;br /&gt;
Near the end of the month we finally saw the release of Linux 2.6.36.&lt;br /&gt;
Just a single fix made it into mainline in this month, showing that the&lt;br /&gt;
stabilization period before has worked very well.&lt;br /&gt;
&lt;br /&gt;
Linux 2.6.36 has been another impressive release for XFS, seeing&lt;br /&gt;
various performance improvements in the new delayed logging code,&lt;br /&gt;
for direct I/O and the sync system call, a few bug fixes, and lots&lt;br /&gt;
of cleanups, resulting in a net removal of over 2000 lines of code:&lt;br /&gt;
&lt;br /&gt;
        89 files changed, 1998 insertions(+), 4279 deletions(-)&lt;br /&gt;
&lt;br /&gt;
The merge window for Linux 2.6.37 opened just a few days after the&lt;br /&gt;
release of Linux 2.6.36 and already contains another large XFS update&lt;br /&gt;
at the end of October.  Highlights of the XFS tree merged into 2.6.37-rc1&lt;br /&gt;
are another large set of metadata scalability patches, support for 32-bit&lt;br /&gt;
wide project IDs, and support for the new XFS_IOC_ZERO_RANGE ioctl,&lt;br /&gt;
which allows to punch a whole and convert it to an unwritten extent&lt;br /&gt;
in a single atomic operation.&lt;br /&gt;
&lt;br /&gt;
The metadata scalability changes improve 8-way fs_mark of 50 million files&lt;br /&gt;
by over 15% and removal of those files by over 100%, with further&lt;br /&gt;
improvements expected by the next round of XFS metadata scalability&lt;br /&gt;
and VFS scalability improvements targeted at Linux 2.6.38.&lt;br /&gt;
&lt;br /&gt;
On the user space side October was a rather quit month for xfsprogs, which&lt;br /&gt;
only saw the addition of 32-bit project ID handling, and a fix for&lt;br /&gt;
parsing the mount table in fsr when used together with disk encryption&lt;br /&gt;
tools.  A few patches for xfsdump were posted on the list, but none&lt;br /&gt;
was applied, leaving the majority of the user space activity to&lt;br /&gt;
xfstests, which saw very active development.  Various patches went&lt;br /&gt;
into xfstests to improve portability to filesystems with a limited&lt;br /&gt;
feature set, and to move more filters to generic code.  In addition&lt;br /&gt;
various cleanups to test cases in test programs were applied.&lt;br /&gt;
&lt;br /&gt;
== XFS status update for September 2010 ==&lt;br /&gt;
&lt;br /&gt;
Mainline activity has been rather low in September while with only&lt;br /&gt;
two more fixes going into the 2.6.36 release candidates after the&lt;br /&gt;
large merge activity in August.  Development for the next merge&lt;br /&gt;
window has been more active.  The largest item was the inclusion&lt;br /&gt;
of the metadata scalability patch series, which provides very large&lt;br /&gt;
speedups for parallel metadata operations.  In addition a new&lt;br /&gt;
ioctl to punch holes and convert the whole to an unwritten extent&lt;br /&gt;
was added and a small number of cleanups also made it into the tree.&lt;br /&gt;
&lt;br /&gt;
Patches to add support for 32bit wide project ID identifiers and&lt;br /&gt;
using group and project quotas concurrently were posted to the list&lt;br /&gt;
and discussed but not yet included.&lt;br /&gt;
&lt;br /&gt;
Userspace development has been rather quiet again, with a single fix&lt;br /&gt;
committed to xfsprogs and xfsdump each.  The xfstests test suite grew&lt;br /&gt;
a new test case and received a few additional fixes.  Last but not least&lt;br /&gt;
the [http://xfs.org/docs/xfsdocs-xml-dev/XFS_User_Guide//tmp/en-US/html/index.html XFS Users Guide]&lt;br /&gt;
was updated with various factual corrections and spelling fixes.&lt;br /&gt;
&lt;br /&gt;
== XFS status update for August 2010 ==&lt;br /&gt;
&lt;br /&gt;
At the first of August we finally saw the release of Linux 2.6.35,&lt;br /&gt;
which includes a large XFS update.  The most prominent feature in&lt;br /&gt;
Linux 2.6.35 is the new delayed logging code which provides massive&lt;br /&gt;
speedups for metadata-intensive workloads, but there has been&lt;br /&gt;
a large amount of other fixes and cleanups, leading to the following&lt;br /&gt;
diffstat:&lt;br /&gt;
&lt;br /&gt;
         67 files changed, 4426 insertions(+), 3835 deletions(-)&lt;br /&gt;
&lt;br /&gt;
Given the early release of Linux 2.6.35 the merge window for the&lt;br /&gt;
next release fully fell into the month of August.  The XFS updates&lt;br /&gt;
for Linux 2.6.36 include various additional performance improvements&lt;br /&gt;
in the delayed logging code, for direct I/O writes and for avoiding&lt;br /&gt;
synchronous transactions, as well as various fixed and large amount&lt;br /&gt;
of cleanups, including the removal of the remaining dead DMAPI&lt;br /&gt;
code.&lt;br /&gt;
&lt;br /&gt;
On the userspace side we saw the 3.1.3 release of xfsprogs, which includes&lt;br /&gt;
various smaller fixes, support for the new XFS_IOC_ZERO_RANGE ioctl and&lt;br /&gt;
Debian packaging updates.  The xfstests package saw one new test case&lt;br /&gt;
and a couple of smaller patches, and xfsdump has not seen any updates at&lt;br /&gt;
all.&lt;br /&gt;
&lt;br /&gt;
The XMLified versions of the XFS users guide, training labs and filesystem&lt;br /&gt;
structure documentation are now available as on the fly generated html on&lt;br /&gt;
the xfs.org website and can be found at [[XFS_Papers_and_Documentation|Papers &amp;amp; Documentation]].&lt;br /&gt;
&lt;br /&gt;
== XFS status update for July 2010 ==&lt;br /&gt;
&lt;br /&gt;
July saw three more release candidates for the Linux 2.6.35 kernel, which&lt;br /&gt;
included a relatively large number of XFS updates.  There were two security&lt;br /&gt;
fixes, a small one to prevent swapext to operate on write-only file&lt;br /&gt;
descriptors, and a much larger one to properly validate inode numbers&lt;br /&gt;
coming from NFS clients or userspace applications using the bulkstat or&lt;br /&gt;
the open-by-handle interfaces.  In addition to that another relatively&lt;br /&gt;
large patch fixes the way inodes get reclaimed in the background, and&lt;br /&gt;
avoids inode caches growing out of bounds.&lt;br /&gt;
&lt;br /&gt;
In the meantime the code for the Linux 2.6.36 got the last touches before&lt;br /&gt;
the expected opening of the merge window, by merging a few more last&lt;br /&gt;
minute fixes and cleanups.  The most notable one is a patch series&lt;br /&gt;
that fixes in-memory corruption when concurrently accessing unwritten&lt;br /&gt;
extents using the in-kernel AIO code.&lt;br /&gt;
&lt;br /&gt;
The userspace side was still quite slow, but some a bit more activity&lt;br /&gt;
than June.  In xfsprogs the xfs_db code grew two bug fixes, as did&lt;br /&gt;
the xfs_io script.  The xfstests package saw one new test cases and&lt;br /&gt;
various fixes to existing code.  Last but not least a few patches&lt;br /&gt;
affecting the build system for all userspace tools were committed.&lt;br /&gt;
&lt;br /&gt;
== XFS status update for June 2010 ==&lt;br /&gt;
&lt;br /&gt;
The month of June saw a few important bug fixes for the Linux 2.6.35&lt;br /&gt;
release candidates.  That includes ensuring that files used for the&lt;br /&gt;
swapext ioctl are writable to the user, and doing proper validation&lt;br /&gt;
of inodes coming from untrusted sources, such as NFS exporting and&lt;br /&gt;
the open by handle system calls.  The main work however has been&lt;br /&gt;
focused on development for the Linux 2.6.36 merge window, including&lt;br /&gt;
merging various patches that have been out on the mainline list&lt;br /&gt;
for a long time.  Highlights include further performance improvements&lt;br /&gt;
for sync heavy metadata workloads, stack space reduction in the&lt;br /&gt;
writeback path and improvements of the XFS tracing infrastructure.&lt;br /&gt;
Also after some discussion the remaining hooks for DMAPI are going&lt;br /&gt;
to be dropped in mainline.   As a replacement a tree containing&lt;br /&gt;
full DMAPI support with a slightly cleaner XFS interaction will be&lt;br /&gt;
hosted by SGI.&lt;br /&gt;
&lt;br /&gt;
On the userspace side June was a rather slow month, with no updates&lt;br /&gt;
to xfsprogs and xfsdump at all, and just one new test case and a cleanup&lt;br /&gt;
applied to xfstests.&lt;br /&gt;
&lt;br /&gt;
== XFS status update for May 2010 ==&lt;br /&gt;
&lt;br /&gt;
In May 2010 we saw the long awaited release of Linux 2.6.34, which includes&lt;br /&gt;
a large XFS update.  The most important features appearing in 2.6.34 was the&lt;br /&gt;
new inode and quota flushing code, which leads to much better I/O patterns&lt;br /&gt;
for metadata-intensive workloads.  Additionally support for synchronous NFS&lt;br /&gt;
exports has been improved to give much better performance, and performance&lt;br /&gt;
for the fsync, fdatasync and sync system calls has been improved slightly.&lt;br /&gt;
A bug when resizing extremely busy filesystems has been fixed, which required&lt;br /&gt;
extensive modification to the data structure used for looking up the&lt;br /&gt;
per-allocation group data.  Last but not least there was a steady flow of&lt;br /&gt;
minor bug fixes and cleanups, leading to the following diffstat from&lt;br /&gt;
2.6.33 to 2.6.34:&lt;br /&gt;
&lt;br /&gt;
  86 files changed, 3209 insertions(+), 3178 deletions(-)&lt;br /&gt;
&lt;br /&gt;
Meanwhile active development aimed at 2.6.35 merge progressed.  The&lt;br /&gt;
major feature for this window is the merge of the delayed logging code,&lt;br /&gt;
which adds a new logging mode that dramatically reduces the bandwidth&lt;br /&gt;
required for log I/O.  See the &lt;br /&gt;
[http://git.kernel.org/?p=linux/kernel/git/torvalds/linux-2.6.git;a=blob;f=Documentation/filesystems/xfs-delayed-logging-design.txt;h=96d0df28bed323d5596fc051b0ffb96ed8e3c8df;hb=HEAD documentation] for details.  Testers&lt;br /&gt;
for this new code are welcome.&lt;br /&gt;
&lt;br /&gt;
In userland xfsprogs saw the long awaited 3.1.2 release, which can be&lt;br /&gt;
considered a bug fix release for xfs_repair, xfs_fsr and mkfs.xfs.  After&lt;br /&gt;
the release a few more fixes were merged into the development tree.&lt;br /&gt;
The xfstests package saw various new tests, including many tests to&lt;br /&gt;
exercise the quota code, and a few fixes to existing tests.&lt;br /&gt;
&lt;br /&gt;
== XFS status update for April 2010 ==&lt;br /&gt;
&lt;br /&gt;
In April 2.6.34 still was in the release candidate phase, with&lt;br /&gt;
a hand full of XFS fixes making it into mainline.  Development for&lt;br /&gt;
the 2.6.35 merge window went ahead full steam at the same time.&lt;br /&gt;
&lt;br /&gt;
While a fair amount of patches hit the development tree these were&lt;br /&gt;
largely cleanups, with the real development activity happening on&lt;br /&gt;
the mailing list.  There was another round of patches and following&lt;br /&gt;
discussion on the scalable busy extent tracking and delayed logging&lt;br /&gt;
features mentioned last month.  They are expected to be merged in&lt;br /&gt;
May and queue up for the Linux 2.6.35 window.  Last but not least&lt;br /&gt;
April saw a large number of XFS fixes backported to the 2.6.32 and&lt;br /&gt;
2.6.33 -stable series.&lt;br /&gt;
&lt;br /&gt;
In user land xfsprogs has seen few but important updates, preparing&lt;br /&gt;
for a new release next month.  The xfs_repair tool saw a fix to&lt;br /&gt;
correctly enable the lazy superblock counters on an existing&lt;br /&gt;
filesystem, and xfs_fsr saw updates to better deal with dynamic&lt;br /&gt;
attribute forks.  Last but not a least a port to Debian GNU/kFreeBSD&lt;br /&gt;
got merged. The xfstests test suite saw two new test cases and various&lt;br /&gt;
smaller fixes.&lt;br /&gt;
&lt;br /&gt;
== XFS status update for March 2010 ==&lt;br /&gt;
&lt;br /&gt;
The merge window for Linux 2.6.34 closed in the first week of March,&lt;br /&gt;
with the important XFS features already landing in February.  Not&lt;br /&gt;
surprisingly the XFS merge activity in March has been rather slow,&lt;br /&gt;
with only about a dozen bug fixes patches making it towards Linus&#039;&lt;br /&gt;
tree in that time.&lt;br /&gt;
&lt;br /&gt;
On the other hand active development for the 2.6.35 merge window has&lt;br /&gt;
been very active.  Most importantly there was a lot of work on the&lt;br /&gt;
transaction and log subsystems.  Starting with a large patchset to&lt;br /&gt;
clean up and refactor the transaction subsystem and introducing more&lt;br /&gt;
flexible I/O containers in the low-level logging code work is&lt;br /&gt;
progressing to a new, more efficient logging implementation.  While&lt;br /&gt;
this preparatory work has already been merged in the development tree,&lt;br /&gt;
the actual delayed logging implementation still needs more work after&lt;br /&gt;
the initial public posting.  The delayed logging implementation which&lt;br /&gt;
is very briefly modeled after the journaling mode in the ext3/4&lt;br /&gt;
and reiserfs filesystems allows to accumulated multiple asynchronous&lt;br /&gt;
transactions in memory instead of possibly writing them out&lt;br /&gt;
many times.  Using the new delayed logging mechanism I/O bandwidth&lt;br /&gt;
used for the log decreases by orders of magnitude and performance&lt;br /&gt;
on metadata intensive workloads increases massively.&lt;br /&gt;
&lt;br /&gt;
In addition to that a new version of the discard (aka TRIM) support&lt;br /&gt;
has been posted, this time entirely contained in kernel space&lt;br /&gt;
and without the need of a userspace utility to drive it.  Last but&lt;br /&gt;
not least the usual steady stream of cleanups and bug fixes has not&lt;br /&gt;
ceased this month either.&lt;br /&gt;
&lt;br /&gt;
Besides the usual flow of fixes and new test cases in the xfstests&lt;br /&gt;
test suite development on the userspace side has been rather slow.&lt;br /&gt;
Xfsprogs has only seen a single fix for SMP locking in xfs_repair&lt;br /&gt;
and support for building on Debian GNU/kFreeBSD, and xfsdump&lt;br /&gt;
has seen no commit at all.&lt;br /&gt;
&lt;br /&gt;
== XFS status update for February 2010 ==&lt;br /&gt;
&lt;br /&gt;
February saw the release of the Linux 2.6.33 kernel, which includes&lt;br /&gt;
a large XFS update.  The biggest user-visible change in Linux 2.6.33&lt;br /&gt;
is that XFS now support the generic Linux trace event infrastructure,&lt;br /&gt;
which allows tracing lots of XFS behavior with a normal production&lt;br /&gt;
built kernel.  Except for this Linux 2.6.33 has been mostly a bug-fix&lt;br /&gt;
release, fixing various user reported bugs in previous releases.&lt;br /&gt;
The total diffstat for XFS in Linux 2.6.33 looks like:&lt;br /&gt;
&lt;br /&gt;
  84 files changed, 3023 insertions(+), 3550 deletions(-)&lt;br /&gt;
&lt;br /&gt;
In addition to that the merge window for Linux 2.6.34 opened and the&lt;br /&gt;
first merge of the XFS tree made it into Linus tree.  Unlike Linux&lt;br /&gt;
2.6.33 this merge window includes major feature work.  The most&lt;br /&gt;
important change for users is a new algorithm for inode and quota&lt;br /&gt;
writeback that leads to better I/O locality and improved metadata&lt;br /&gt;
performance.  The second big change is a rewrite of the per-allocation&lt;br /&gt;
group data lookup which fixes a long-standing problem in the code&lt;br /&gt;
to grow a life filesystem and will also ease future filesystem&lt;br /&gt;
shrinking support.  Not merged through the XFS tree, but of great&lt;br /&gt;
importance for embedded users is a new API that allows XFS to properly&lt;br /&gt;
flush cache lines on it&#039;s log and large directory buffers, making&lt;br /&gt;
XFS work properly on architectures with virtually indexed caches,&lt;br /&gt;
such as parisc and various arm and mips variants.  Last but not&lt;br /&gt;
least there is an above average amount of cleanups that went into&lt;br /&gt;
Linus tree in this cycle.&lt;br /&gt;
&lt;br /&gt;
There have been more patches on the mailing list that haven&#039;t made&lt;br /&gt;
it to Linus tree yet, including an optimized implementation of&lt;br /&gt;
fdatasync(2) and massive speedups for metadata workloads on&lt;br /&gt;
NFS exported XFS filesystems.&lt;br /&gt;
&lt;br /&gt;
On the userspace side February has been a relatively quiet month.&lt;br /&gt;
Lead by xfstests only a moderate amount of fixes made it into&lt;br /&gt;
the respective trees.&lt;br /&gt;
&lt;br /&gt;
== XFS status update for January 2010 ==&lt;br /&gt;
&lt;br /&gt;
January saw additional release candidates of the Linux 2.6.33 kernel,&lt;br /&gt;
including a couple of bug fixes for XFS.  In the meantime the XFS tree&lt;br /&gt;
has been growing a large number of patches destined for the Linux 2.6.34&lt;br /&gt;
merge window: a large rework of the handling of per-AG data, support for&lt;br /&gt;
the quota netlink interface, and better power saving behavior of the&lt;br /&gt;
XFS kernel threads, and of course various cleanups.&lt;br /&gt;
&lt;br /&gt;
A large patch series to replace the current asynchronous inode writeback&lt;br /&gt;
with a new scheme that uses the delayed write buffers was posted to&lt;br /&gt;
the list.  The new scheme, which allows archive better I/O locality by&lt;br /&gt;
dispatching meta-data I/O from a single place has been discussed&lt;br /&gt;
extensively and is expected to be merged in February.&lt;br /&gt;
&lt;br /&gt;
On the userspace side January saw the 3.1.0 and 3.1.1 releases of xfsprogs,&lt;br /&gt;
as well as the 3.0.4 release of xfsdump.  The biggest changes in xfsprogs&lt;br /&gt;
3.1.0 were optimizations in xfs_repair that lead to a much lower memory&lt;br /&gt;
usage, and optional use of the blkid library for filesystem detection&lt;br /&gt;
and retrieving storage topology information.  The 3.1.1 release contained&lt;br /&gt;
various important bug fixes for these changes and a various improvements to&lt;br /&gt;
the build system.  The major feature of xfsdump 3.0.4 were fixes for&lt;br /&gt;
time stamp handling on 64-bit systems.&lt;br /&gt;
&lt;br /&gt;
The xfstests package also lots of activity including various new testcases&lt;br /&gt;
and an improved build system.&lt;br /&gt;
&lt;br /&gt;
== XFS status update for December 2009 ==&lt;br /&gt;
&lt;br /&gt;
December finally saw the long awaited release of Linux 2.6.32, which for&lt;br /&gt;
XFS is mostly a bug fix release, with the major changes being various&lt;br /&gt;
improvement to the sync path, including working around the expectation&lt;br /&gt;
from the grub boot loader where metadata is supposed to be after a sync()&lt;br /&gt;
system call.  Together with a refactoring of the inode allocator this&lt;br /&gt;
gives a nice diffstat for this kernel release:&lt;br /&gt;
&lt;br /&gt;
 46 files changed, 767 insertions(+), 1048 deletions(-)&lt;br /&gt;
&lt;br /&gt;
In the meantime development for the 2.6.33 has been going strong.  The&lt;br /&gt;
new event tracing code that allows to observe the inner workings of XFS&lt;br /&gt;
in production systems has finally been merged, with another patch to&lt;br /&gt;
reduce the size of the tracing code by using new upstream kernel features&lt;br /&gt;
posted for review.  Also a large patch series has been posted which&lt;br /&gt;
changes per-AG data to be looked up by a radix tree instead of the&lt;br /&gt;
existing array.  This works around possible deadlocks and user after&lt;br /&gt;
free issues during growfs, and prepares for removing a global (shared)&lt;br /&gt;
lock from the free space allocators.  In addition to that a wide range&lt;br /&gt;
of fixes has been posted and applied.&lt;br /&gt;
&lt;br /&gt;
Work on the userspace packages has been just as busy.  In mkfs.xfs the&lt;br /&gt;
lazy superblock counter feature has now been enabled by default for the&lt;br /&gt;
upcoming xfsprogs 3.1.0 release, which will require kernel 2.6.22 for&lt;br /&gt;
the default mkfs invocation.  Also for mkfs.xfs as patch was posted&lt;br /&gt;
to correct the automatic detection of 4 kilobyte sector drivers which&lt;br /&gt;
are expected to show up in large quantities the real work soon.  The&lt;br /&gt;
norepair mode in xfs_repair has been enhanced with additional freespace&lt;br /&gt;
btree correction checks from xfs_db and is now identical to xfs_check in&lt;br /&gt;
filesystem consistency checking coverage.  A temporary file permission&lt;br /&gt;
problems has been fixed in xfs_fsr, and the libhandle library has been&lt;br /&gt;
fixed to better deal with symbolic links.  In xfs_io a few commands&lt;br /&gt;
that were added years ago have finally been wired up to actually be&lt;br /&gt;
usable.  And last but not least xfsdump saw a fix to the time stamp&lt;br /&gt;
handling in the backup format and some usability and documentation&lt;br /&gt;
improvements to xfsinvutil.&lt;br /&gt;
&lt;br /&gt;
== XFS status update for November 2009 ==&lt;br /&gt;
&lt;br /&gt;
November was a relatively slow month for XFS development.  The XFS tree&lt;br /&gt;
that is destined for the Linux 2.6.33 merge window saw a few fixes and&lt;br /&gt;
cleanups applied to it, and few important fixes still made it into the&lt;br /&gt;
last Linux 2.6.32 release candidates.  A few more patches including a&lt;br /&gt;
final version of the event tracing support for XFS were posted but not&lt;br /&gt;
reviewed yet.&lt;br /&gt;
&lt;br /&gt;
On the userspace side there has been a fair amount of xfsprogs activity.&lt;br /&gt;
The repair speedup patches have finally been merged into the main development&lt;br /&gt;
branch and a couple of other fixes to the various utilities made it in, too.&lt;br /&gt;
The xfstests test suite saw another new regression test suite and a build&lt;br /&gt;
system fix up.&lt;br /&gt;
&lt;br /&gt;
== XFS status update for October 2009 ==&lt;br /&gt;
In October we saw the Linux 2.6.32 merge window with a major XFS update.&lt;br /&gt;
This update includes a refactoring of the inode allocator which also&lt;br /&gt;
allows for speedups for very large filesystems, major sync fixes, updates&lt;br /&gt;
to the fsync and O_SYNC handling which merge the two code paths into a single&lt;br /&gt;
and more efficient one, a workaround for the VFS time stamp behavior,&lt;br /&gt;
and of course various smaller fixes.  A couple of additional fixes have been&lt;br /&gt;
queued up for the next merge window.&lt;br /&gt;
&lt;br /&gt;
On the userspace side there has been a healthy activity on xfsprogs:  mkfs can&lt;br /&gt;
now discard unused sectors on SSDs and thinly provisioned storage devices and&lt;br /&gt;
use the more generic libblkid for topology information and filesystems detection&lt;br /&gt;
instead of the older libdisk, and the build system gained some updates to&lt;br /&gt;
make the source package generation simpler and shared for different package&lt;br /&gt;
types.  A patch has been out to the list but yet committed to add symbol&lt;br /&gt;
versioning to the libhandle library to make future ABI additions easier.&lt;br /&gt;
The xfstests package only saw some minor activity with a new test case&lt;br /&gt;
and small build system fixes.&lt;br /&gt;
&lt;br /&gt;
New minor releases of xfsprogs and xfsdump were tagged but not formally&lt;br /&gt;
released after additional discussion.  Instead a new major xfsprogs release&lt;br /&gt;
is planned for next month.&lt;br /&gt;
&lt;br /&gt;
== XFS status update for September 2009 ==&lt;br /&gt;
&lt;br /&gt;
In September the Linux 2.6.31 kernel was finally released, including another&lt;br /&gt;
last minute XFS fix for the swapext (defragmentation) compat ioctl handler.&lt;br /&gt;
The final patch from 2.6.30 to 2.6.31 shows the following impressive diffstat&lt;br /&gt;
for XFS:&lt;br /&gt;
&lt;br /&gt;
   55 files changed, 1476 insertions(+), 2269 deletions(-)&lt;br /&gt;
&lt;br /&gt;
The 2.6.32 merge window started with a large XFS merge that included changes&lt;br /&gt;
to the inode allocator, and a few smaller fixes.  New versions of the sync&lt;br /&gt;
and time stamp fixes as well as the event tracing support have been posted&lt;br /&gt;
in September but not yet merged into the XFS development tree and/or mainline.&lt;br /&gt;
&lt;br /&gt;
On the userspace side a large patch series to reduce the memory usage in&lt;br /&gt;
xfs_repair to acceptable levels was posted, but not yet merged.  A new xfs_df&lt;br /&gt;
shell script to measure use of the on disk space was posted but not yet&lt;br /&gt;
merged pending some minor review comments and a missing man page.  In addition&lt;br /&gt;
we saw the usual amount of smaller fixes and cleanups.&lt;br /&gt;
&lt;br /&gt;
Also this month Felix Blyakher resigned from his post as XFS maintainer and handed off to Alex Elder.&lt;br /&gt;
&lt;br /&gt;
== XFS status update for August 2009 ==&lt;br /&gt;
&lt;br /&gt;
In August the Linux 2.6.31 kernel has still been in the release candidate&lt;br /&gt;
stage, but a couple of important XFS fixes made it in time for the release,&lt;br /&gt;
including a fix for the inode cache races with NFS workloads that have&lt;br /&gt;
plagued us for a long time.&lt;br /&gt;
&lt;br /&gt;
The list saw various patches destined for the Linux 2.6.32 merge window,&lt;br /&gt;
including a merge of the fsync and O_SYNC handling code to address various&lt;br /&gt;
issues with the latter, a workaround for deficits in the timestamp handling&lt;br /&gt;
interface between the VFS and filesystems, a repost of the sync improvements&lt;br /&gt;
patch series and various smaller patches.&lt;br /&gt;
&lt;br /&gt;
August also saw the minor 3.0.3 release of xfsprogs which collects smaller&lt;br /&gt;
fixes to the various tools and most importantly a fix to allow xfsprogs to&lt;br /&gt;
work again on SPARC and other strict alignment handling which regressed a&lt;br /&gt;
few releases ago.  The xfstests repository saw a few new test cases and a&lt;br /&gt;
various small improvements.&lt;br /&gt;
&lt;br /&gt;
== XFS status update for July 2009 ==&lt;br /&gt;
&lt;br /&gt;
As a traditional summer vacation month July has not seen a lot of XFS&lt;br /&gt;
activity.  The mainline 2.6.31 kernel made it to the 5th release candidate&lt;br /&gt;
but besides a few kernel-wide patches touching XFS the only activity were&lt;br /&gt;
two small patches fixing a bug in FIEMAP and working around writeback&lt;br /&gt;
performance problems in the VM.&lt;br /&gt;
&lt;br /&gt;
A few more patches were posted to the list but haven&#039;t been merged yet.&lt;br /&gt;
Two big patch series deal with theoretically possible deadlocks due to&lt;br /&gt;
locks taken in reclaim contexts, which are now detected by lockdep.&lt;br /&gt;
&lt;br /&gt;
The pace on the userspace side has been slow.  There have been a couple&lt;br /&gt;
of fixes to xfs_repair and xfs_db, and xfstests grew a few more testcases.&lt;br /&gt;
&lt;br /&gt;
== XFS status update for June 2009 ==&lt;br /&gt;
&lt;br /&gt;
On June 9th we finally saw the release of Linux 2.6.30.  For XFS&lt;br /&gt;
this release mostly contains the improved ENOSPC handling, but also&lt;br /&gt;
various smaller bugfixes and lots of cleanups.  The code size of XFS&lt;br /&gt;
decreased again by 500 lines of code in this release.&lt;br /&gt;
&lt;br /&gt;
The Linux 2.6.31 merge opened in the mid of the month and some big XFS&lt;br /&gt;
changes have been pushed: A removal of the quotaops&lt;br /&gt;
infrastructure which simplifies the quota implementation, the switch&lt;br /&gt;
from XFS&#039;s own Posix ACL implementation to the generic one shared&lt;br /&gt;
by various other filesystems which also supports in-memory caching of&lt;br /&gt;
ACLs and another incremental refactoring of the sync code.&lt;br /&gt;
&lt;br /&gt;
A patch to better track dirty inodes and work around issues in the&lt;br /&gt;
way the VFS updates the access time stamp on inodes has been reposted&lt;br /&gt;
and discussed. Another patch to converting the existing XFS tracing&lt;br /&gt;
infrastructure to use the ftrace even tracer has been posted.&lt;br /&gt;
&lt;br /&gt;
On the userspace side there have been a few updates to xfsprogs, including&lt;br /&gt;
some repair fixes and a new fallocate command for xfs_io.  There were&lt;br /&gt;
major updates for xfstests:  The existing aio-dio-regress testsuite has&lt;br /&gt;
been merged into xfstests, and various changes went into the tree to make&lt;br /&gt;
xfstests better suitable for use with other filesystems.&lt;br /&gt;
&lt;br /&gt;
The attr and acl projects which have been traditionally been hosted&lt;br /&gt;
as part of the XFS userspace utilities have now been split into a separate&lt;br /&gt;
project maintained by Andreas Gruenbacher, who has been doing most of&lt;br /&gt;
the work on it, and moved to the Savannah hosting platform.&lt;br /&gt;
&lt;br /&gt;
== XFS status update for May 2009 ==&lt;br /&gt;
&lt;br /&gt;
In May Linux 2.6.30 was getting close to be released, and various&lt;br /&gt;
important XFS fixes made it during the latest release candidates.&lt;br /&gt;
In the meantime some big patch series to rework the sync code and&lt;br /&gt;
the inode allocator have been posted for the next merge window.&lt;br /&gt;
&lt;br /&gt;
On the userspace side xfsprogs and xfsdump 3.0.1 were finally released,&lt;br /&gt;
quickly followed by 3.0.2 releases with updated Debian packaging.&lt;br /&gt;
After that various small patches that were held back made it into xfsprogs.&lt;br /&gt;
A patch to add the xfs_reno tool which allows to move inodes around to&lt;br /&gt;
fit into 32 bit inode number space has been posted which is also one&lt;br /&gt;
central aspect of future online shrinking support.&lt;br /&gt;
&lt;br /&gt;
There has been major activity on xfstests including adding generic&lt;br /&gt;
filesystems support to allow running tests that aren&#039;t XFS-specific on&lt;br /&gt;
any Linux filesystems.&lt;br /&gt;
&lt;br /&gt;
== XFS status update for April 2009 ==&lt;br /&gt;
&lt;br /&gt;
In April development for Linux 2.6.30 was in full motion.  A patchset to correct flushing of delayed allocations with near full filesystems has been committed in early April, as well as various smaller fixes. A patch series to improve the behavior of sys_sync has been posted but is waiting for VFS changes queued for Linux 2.6.31.&lt;br /&gt;
&lt;br /&gt;
On the userspace side xfsprogs and xfsdump 3.0.1 have managed to split their release dates into May again after a lot of last-minute build system updates.&lt;br /&gt;
&lt;br /&gt;
== XFS status update for March 2009 ==&lt;br /&gt;
&lt;br /&gt;
Linux 2.6.29 has been released which includes major XFS updates like the&lt;br /&gt;
new generic btree code, a fully functional 32bit compat ioctl implementation&lt;br /&gt;
and the new combined XFS and Linux inode.  (See previous status reports&lt;br /&gt;
for more details). A patch series to improve correctness and performance&lt;br /&gt;
has been posted but not yet applied.  Various minor fixes and cleanups&lt;br /&gt;
have been sent to Linus for 2.6.30 which looks like it will be a minor&lt;br /&gt;
release for XFS after the big churn in 2.6.29.&lt;br /&gt;
&lt;br /&gt;
On userspace a lot of time has been spent on fixing and improving the&lt;br /&gt;
build system shared by the various XFS utilities as well as various smaller&lt;br /&gt;
improvements leading to the xfsprogs and xfsdump 3.0.1 releases which are&lt;br /&gt;
still outstanding.&lt;br /&gt;
&lt;br /&gt;
== XFS status update for February 2009 ==&lt;br /&gt;
&lt;br /&gt;
In February various smaller fixes have been sent to Linus for 2.6.29,&lt;br /&gt;
including a revert of the faster vmap APIs which don&#039;t seem to be quite&lt;br /&gt;
ready yet on the VM side.  At the same time various patches have been&lt;br /&gt;
queued up for 2.6.30, with another big batch pending.  There also has&lt;br /&gt;
been a repost of the CRC patch series, including support for a new,&lt;br /&gt;
larger inode core.&lt;br /&gt;
&lt;br /&gt;
SGI released various bits of work in progress from former employees&lt;br /&gt;
that will be extremely helpful for the future development of XFS,&lt;br /&gt;
thanks a lot to Mark Goodwin for making this happen.&lt;br /&gt;
&lt;br /&gt;
On the userspace side the long awaited 3.0.0 releases of xfsprogs and&lt;br /&gt;
xfsdump finally happened early in the month, accompanied by a 2.2.9&lt;br /&gt;
release of the dmapi userspace.  There have been some issues with packaging&lt;br /&gt;
so a new minor release might follow soon.&lt;br /&gt;
&lt;br /&gt;
The xfs_irecover tool has been relicensed so that it can be merged into&lt;br /&gt;
the GPLv2 codebase of xfsprogs, but the actual integration work hasn&#039;t&lt;br /&gt;
happened yet.&lt;br /&gt;
&lt;br /&gt;
Important bits of XFS documentation that have been available on the XFS&lt;br /&gt;
website in PDF form have been released in the document source form under&lt;br /&gt;
the Creative Commons license so that they can be updated as a community&lt;br /&gt;
effort, and checked into a public git tree.&lt;br /&gt;
&lt;br /&gt;
== XFS status update for January 2009 ==&lt;br /&gt;
&lt;br /&gt;
January has been an extremely busy month on the userspace front.  Many&lt;br /&gt;
smaller and medium updates went into xfsprogs, xfstests and to a lesser&lt;br /&gt;
extent xfsdump.  xfsprogs and xfsdump are ramping up for getting a 3.0.0&lt;br /&gt;
release out in early February which will include the first major re-sync&lt;br /&gt;
with the kernel code in libxfs, a cleanup of the exported library interfaces&lt;br /&gt;
and the move of two tools (xfs_fsr and xfs_estimate) from the xfsdump&lt;br /&gt;
package to xfsprogs.  After this the xfsprogs package will contain all&lt;br /&gt;
tools that use internal libxfs interfaces which fortunately equates to those&lt;br /&gt;
needed for normal administration.  The xfsdump package now only contains&lt;br /&gt;
the xfsdump/xfsrestore tools needed for backing up and restoring XFS&lt;br /&gt;
filesystems.  In addition it grew a fix to support dump/restore on systems&lt;br /&gt;
with a 64k page size.  A large number of acl/attr package patches was&lt;br /&gt;
posted to the list, but pending a possible split of these packages from the&lt;br /&gt;
XFS project these weren&#039;t processed yet.&lt;br /&gt;
&lt;br /&gt;
On the kernel side the big excitement in January was an in-memory corruption&lt;br /&gt;
introduced in the btree refactoring which hit people running 32bit platforms&lt;br /&gt;
without support for large block devices.  This issue was fixed and pushed&lt;br /&gt;
to the 2.6.29 development tree after a long collaborative debugging effort&lt;br /&gt;
at linux.conf.au.  Besides that about a dozen minor fixes were pushed to&lt;br /&gt;
2.6.29 and the first batch of misc patches for the 2.6.30 release cycle&lt;br /&gt;
was sent out.&lt;br /&gt;
&lt;br /&gt;
At the end of December the SGI group in Melbourne which the previous&lt;br /&gt;
XFS maintainer and some other developers worked for has been closed down&lt;br /&gt;
and they will be missed greatly.  As a result maintainership has been passed&lt;br /&gt;
on in a way that has been slightly controversial in the community, and the&lt;br /&gt;
first patchset of work in progress in Melbourne have been posted to the list&lt;br /&gt;
to be picked up by others.&lt;br /&gt;
&lt;br /&gt;
The xfs.org wiki has gotten a little facelift on it&#039;s front page making it&lt;br /&gt;
a lot easier to read.&lt;br /&gt;
&lt;br /&gt;
== XFS status update for December 2008 ==&lt;br /&gt;
&lt;br /&gt;
On Christmas Eve the 2.6.28 mainline kernel was release, with only minor XFS&lt;br /&gt;
bug fixes over 2.6.27.&lt;br /&gt;
&lt;br /&gt;
On the development side December has been busy but unspectacular month.&lt;br /&gt;
All lot of misc fixes and improvements have been sent out, tested and committed&lt;br /&gt;
especially on the user land side.&lt;br /&gt;
&lt;br /&gt;
== XFS status update for November 2008 ==&lt;br /&gt;
&lt;br /&gt;
The mainline kernel is now at 2.6.28-rc6 and includes a small number of&lt;br /&gt;
XFS fixes.  There have been no updates to the XFS development tree during&lt;br /&gt;
November.  Without new regressions that large number of changes that&lt;br /&gt;
missed 2.6.28 has thus stabilized to be ready for 2.6.29.  In the meantime&lt;br /&gt;
kernel-side development has been slow, with the only major patch set&lt;br /&gt;
being a wide number of fixes to the compatibility for 32 bit ioctls on&lt;br /&gt;
a 64 bit kernel.&lt;br /&gt;
&lt;br /&gt;
In the meantime there has been a large number of commits to the user space&lt;br /&gt;
tree, which mostly consist of smaller fixes.  xfsprogs is getting close&lt;br /&gt;
to have the 3.0.0 release which will be the first full resync with the&lt;br /&gt;
kernel sources since the year 2005.&lt;br /&gt;
&lt;br /&gt;
== XFS status update for October 2008 ==&lt;br /&gt;
&lt;br /&gt;
Linux 2.6.27 released with all the bits covered in last month&#039;s report.  It&lt;br /&gt;
did however miss two important fixes for regressions that a few people hit.&lt;br /&gt;
2.6.27.3 or later are recommended for use with XFS.&lt;br /&gt;
&lt;br /&gt;
In the meantime the generic btree implementation, the sync reorganization&lt;br /&gt;
and after a lot of merge pain the XFS and VFS inode unification hit the&lt;br /&gt;
development tree during the time allocated for the merge window.  No XFS&lt;br /&gt;
updates other than the two regression fixes also in 2.6.27.3 have made it&lt;br /&gt;
into mainline as of 2.6.28-rc3.&lt;br /&gt;
&lt;br /&gt;
The only new feature on the list in October is support for the fiemap&lt;br /&gt;
interface that has been added to the VFS during the 2.6.28 merge window.&lt;br /&gt;
However there was lot of patch traffic consisting of fixes and respun&lt;br /&gt;
versions of previously known patches.  There still is a large backlog of&lt;br /&gt;
patches on the list that is not applied to the development tree yet.&lt;br /&gt;
&lt;br /&gt;
== XFS status update for September 2008 ==&lt;br /&gt;
&lt;br /&gt;
With Linux 2.6.27 still not released but only making slow progress from 2.6.27-rc5 to 2.6.27-rc8 XFS changes in mainline have been minimal in September with only about half a dozen bug fixes patches.&lt;br /&gt;
&lt;br /&gt;
In the meantime the generic btree patch set has been committed to the development tree, but not many other updates yet. On the user space side xfsprogs 2.10.1 has been released on September 5th with a number of important bug fixes. Following the release of xfsprogs 2.10.1 open season for development of the user space code has started. The first full update of the shared kernel / user space code in libxfs since 2005 has been committed. In addition to that the number of headers installed for the regular devel package has been reduced to the required minimum and support for checking the source code for endianess errors using sparse has been added.&lt;br /&gt;
&lt;br /&gt;
The patch sets to unify the XFS and Linux inode structures, and rewrite various bits of the sync code have seen various iterations on the XFS list, but haven&#039;t been committed yet. A first set of patches implementing CRCs for various metadata structures has been posted to the list.&lt;br /&gt;
&lt;br /&gt;
== XFS status update for August 2008 ==&lt;br /&gt;
&lt;br /&gt;
With the 2.6.27-rc5 release the 2.6.27 cycle is nearing it&#039;s end. The major XFS feature in 2.6.27-rc5 is support for case-insensitive file names. At this point it is still limited to 7bit ASCII file names, with updates for utf8 file names expected to follow later. In addition to that 2.6.27-rc5 fixes a long-standing problem with non-EABI arm compiler which pack some XFS data structures wrongly. Besides this 2.6.27-rc5 also contains various cleanups, most notably the removal of the last bhv_vnode_t instances, and most uses of semaphores. As usual the diffstat for XFS from 2.6.26 to 2.6.26-rc5 is negative:&lt;br /&gt;
&lt;br /&gt;
       100 files changed, 3819 insertions(+), 4409 deletions(-)&lt;br /&gt;
&lt;br /&gt;
On the user space front a new minor xfsprogs version is about to be released containing various fixes including the user space part of arm packing fix.&lt;br /&gt;
&lt;br /&gt;
Work in progress on the XFS mailing list are a large patch set to unify the alloc, inobt and bmap btree implementation into a single that supports arbitrarily pluggable key and record formats. These btree changes are the first major preparation for adding CRC checks to all metadata structures in XFS, and an even larger patch set to unify the XFS and Linux inode structures, and perform all inode write back from the btree uses instead of an inode cache in XFS.&lt;br /&gt;
&lt;br /&gt;
== Updates before 2008 ==&lt;br /&gt;
&lt;br /&gt;
News up to 2007 can be found on a separate page: [[OLD_News]]&lt;/div&gt;</summary>
		<author><name>Hch</name></author>
	</entry>
	<entry>
		<id>https://xfs.org/index.php?title=XFS_Status_Updates&amp;diff=2315</id>
		<title>XFS Status Updates</title>
		<link rel="alternate" type="text/html" href="https://xfs.org/index.php?title=XFS_Status_Updates&amp;diff=2315"/>
		<updated>2011-05-04T16:00:17Z</updated>

		<summary type="html">&lt;p&gt;Hch: April update&lt;/p&gt;
&lt;hr /&gt;
&lt;div&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&#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&#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&#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&#039;t been committed yet were discussed on the mailing list.&lt;br /&gt;
&lt;br /&gt;
== XFS status update for December 2010 ==&lt;br /&gt;
&lt;br /&gt;
The release process of the Linux 2.6.37 kernel with it&#039;s large XFS updates&lt;br /&gt;
was in it&#039;s final days in December, which explains why we only saw a single&lt;br /&gt;
one-liner regression fix for XFS in Linus&#039; tree.  The XFS development tree&lt;br /&gt;
finally saw some updates when the writeback updates and some small cleanups&lt;br /&gt;
to the allocator and log recovery code were merged, but the large metadata&lt;br /&gt;
scalability updates that have been posted to the list multiple times are&lt;br /&gt;
still missing.  In addition to this on-going work the list also saw patches&lt;br /&gt;
that fix smaller issues, which are also still waiting to be merged.&lt;br /&gt;
&lt;br /&gt;
On the userspace side xfsprogs and xfsdump development has been quit, with&lt;br /&gt;
no commits to either repository in December, although a large series of&lt;br /&gt;
updates to the metadump command has been reposted near the end of the month.&lt;br /&gt;
The xfstests repository saw a new regression test for a btrfs problem,&lt;br /&gt;
and various updates to existing tests.&lt;br /&gt;
&lt;br /&gt;
== XFS status update for November 2010 ==&lt;br /&gt;
&lt;br /&gt;
From looking at the kernel git commits November looked like a pretty&lt;br /&gt;
slow month with just two hand full fixes going into the release candidates&lt;br /&gt;
for Linux 2.6.37, and none at all going into the development tree.&lt;br /&gt;
But in this case git statistics didn&#039;t tell the whole story - there&lt;br /&gt;
was a lot of activity on patches for the next merge window on the list.&lt;br /&gt;
The focus in November was still at metadata scalability, with various&lt;br /&gt;
patchsets that improves parallel creates and unlinks again, and also&lt;br /&gt;
improves 8-way dbench throughput by 30%.  In addition to that there&lt;br /&gt;
were patches to improve preallocation for NFS servers, to simplify&lt;br /&gt;
the writeback code, and to remove the XFS-internal percpu counters&lt;br /&gt;
for free space for the generic kernel percpu counters, which just needed&lt;br /&gt;
a small improvement.&lt;br /&gt;
&lt;br /&gt;
On the user space side we saw the release of xfsprogs 3.1.4, which&lt;br /&gt;
contains various accumulated bug fixes and Debian packaging updates.&lt;br /&gt;
The xfsdump tree saw a large update to speed up restore by using&lt;br /&gt;
mmap for an internal database and remove the limitation of ~ 214&lt;br /&gt;
million directory entries per dump file.  The xfstests test suite&lt;br /&gt;
saw three new testcases and various fixes, including support for the&lt;br /&gt;
hfsplus filesystem.&lt;br /&gt;
&lt;br /&gt;
== XFS status update for October 2010 ==&lt;br /&gt;
&lt;br /&gt;
Near the end of the month we finally saw the release of Linux 2.6.36.&lt;br /&gt;
Just a single fix made it into mainline in this month, showing that the&lt;br /&gt;
stabilization period before has worked very well.&lt;br /&gt;
&lt;br /&gt;
Linux 2.6.36 has been another impressive release for XFS, seeing&lt;br /&gt;
various performance improvements in the new delayed logging code,&lt;br /&gt;
for direct I/O and the sync system call, a few bug fixes, and lots&lt;br /&gt;
of cleanups, resulting in a net removal of over 2000 lines of code:&lt;br /&gt;
&lt;br /&gt;
        89 files changed, 1998 insertions(+), 4279 deletions(-)&lt;br /&gt;
&lt;br /&gt;
The merge window for Linux 2.6.37 opened just a few days after the&lt;br /&gt;
release of Linux 2.6.36 and already contains another large XFS update&lt;br /&gt;
at the end of October.  Highlights of the XFS tree merged into 2.6.37-rc1&lt;br /&gt;
are another large set of metadata scalability patches, support for 32-bit&lt;br /&gt;
wide project IDs, and support for the new XFS_IOC_ZERO_RANGE ioctl,&lt;br /&gt;
which allows to punch a whole and convert it to an unwritten extent&lt;br /&gt;
in a single atomic operation.&lt;br /&gt;
&lt;br /&gt;
The metadata scalability changes improve 8-way fs_mark of 50 million files&lt;br /&gt;
by over 15% and removal of those files by over 100%, with further&lt;br /&gt;
improvements expected by the next round of XFS metadata scalability&lt;br /&gt;
and VFS scalability improvements targeted at Linux 2.6.38.&lt;br /&gt;
&lt;br /&gt;
On the user space side October was a rather quit month for xfsprogs, which&lt;br /&gt;
only saw the addition of 32-bit project ID handling, and a fix for&lt;br /&gt;
parsing the mount table in fsr when used together with disk encryption&lt;br /&gt;
tools.  A few patches for xfsdump were posted on the list, but none&lt;br /&gt;
was applied, leaving the majority of the user space activity to&lt;br /&gt;
xfstests, which saw very active development.  Various patches went&lt;br /&gt;
into xfstests to improve portability to filesystems with a limited&lt;br /&gt;
feature set, and to move more filters to generic code.  In addition&lt;br /&gt;
various cleanups to test cases in test programs were applied.&lt;br /&gt;
&lt;br /&gt;
== XFS status update for September 2010 ==&lt;br /&gt;
&lt;br /&gt;
Mainline activity has been rather low in September while with only&lt;br /&gt;
two more fixes going into the 2.6.36 release candidates after the&lt;br /&gt;
large merge activity in August.  Development for the next merge&lt;br /&gt;
window has been more active.  The largest item was the inclusion&lt;br /&gt;
of the metadata scalability patch series, which provides very large&lt;br /&gt;
speedups for parallel metadata operations.  In addition a new&lt;br /&gt;
ioctl to punch holes and convert the whole to an unwritten extent&lt;br /&gt;
was added and a small number of cleanups also made it into the tree.&lt;br /&gt;
&lt;br /&gt;
Patches to add support for 32bit wide project ID identifiers and&lt;br /&gt;
using group and project quotas concurrently were posted to the list&lt;br /&gt;
and discussed but not yet included.&lt;br /&gt;
&lt;br /&gt;
Userspace development has been rather quiet again, with a single fix&lt;br /&gt;
committed to xfsprogs and xfsdump each.  The xfstests test suite grew&lt;br /&gt;
a new test case and received a few additional fixes.  Last but not least&lt;br /&gt;
the [http://xfs.org/docs/xfsdocs-xml-dev/XFS_User_Guide//tmp/en-US/html/index.html XFS Users Guide]&lt;br /&gt;
was updated with various factual corrections and spelling fixes.&lt;br /&gt;
&lt;br /&gt;
== XFS status update for August 2010 ==&lt;br /&gt;
&lt;br /&gt;
At the first of August we finally saw the release of Linux 2.6.35,&lt;br /&gt;
which includes a large XFS update.  The most prominent feature in&lt;br /&gt;
Linux 2.6.35 is the new delayed logging code which provides massive&lt;br /&gt;
speedups for metadata-intensive workloads, but there has been&lt;br /&gt;
a large amount of other fixes and cleanups, leading to the following&lt;br /&gt;
diffstat:&lt;br /&gt;
&lt;br /&gt;
         67 files changed, 4426 insertions(+), 3835 deletions(-)&lt;br /&gt;
&lt;br /&gt;
Given the early release of Linux 2.6.35 the merge window for the&lt;br /&gt;
next release fully fell into the month of August.  The XFS updates&lt;br /&gt;
for Linux 2.6.36 include various additional performance improvements&lt;br /&gt;
in the delayed logging code, for direct I/O writes and for avoiding&lt;br /&gt;
synchronous transactions, as well as various fixed and large amount&lt;br /&gt;
of cleanups, including the removal of the remaining dead DMAPI&lt;br /&gt;
code.&lt;br /&gt;
&lt;br /&gt;
On the userspace side we saw the 3.1.3 release of xfsprogs, which includes&lt;br /&gt;
various smaller fixes, support for the new XFS_IOC_ZERO_RANGE ioctl and&lt;br /&gt;
Debian packaging updates.  The xfstests package saw one new test case&lt;br /&gt;
and a couple of smaller patches, and xfsdump has not seen any updates at&lt;br /&gt;
all.&lt;br /&gt;
&lt;br /&gt;
The XMLified versions of the XFS users guide, training labs and filesystem&lt;br /&gt;
structure documentation are now available as on the fly generated html on&lt;br /&gt;
the xfs.org website and can be found at [[XFS_Papers_and_Documentation|Papers &amp;amp; Documentation]].&lt;br /&gt;
&lt;br /&gt;
== XFS status update for July 2010 ==&lt;br /&gt;
&lt;br /&gt;
July saw three more release candidates for the Linux 2.6.35 kernel, which&lt;br /&gt;
included a relatively large number of XFS updates.  There were two security&lt;br /&gt;
fixes, a small one to prevent swapext to operate on write-only file&lt;br /&gt;
descriptors, and a much larger one to properly validate inode numbers&lt;br /&gt;
coming from NFS clients or userspace applications using the bulkstat or&lt;br /&gt;
the open-by-handle interfaces.  In addition to that another relatively&lt;br /&gt;
large patch fixes the way inodes get reclaimed in the background, and&lt;br /&gt;
avoids inode caches growing out of bounds.&lt;br /&gt;
&lt;br /&gt;
In the meantime the code for the Linux 2.6.36 got the last touches before&lt;br /&gt;
the expected opening of the merge window, by merging a few more last&lt;br /&gt;
minute fixes and cleanups.  The most notable one is a patch series&lt;br /&gt;
that fixes in-memory corruption when concurrently accessing unwritten&lt;br /&gt;
extents using the in-kernel AIO code.&lt;br /&gt;
&lt;br /&gt;
The userspace side was still quite slow, but some a bit more activity&lt;br /&gt;
than June.  In xfsprogs the xfs_db code grew two bug fixes, as did&lt;br /&gt;
the xfs_io script.  The xfstests package saw one new test cases and&lt;br /&gt;
various fixes to existing code.  Last but not least a few patches&lt;br /&gt;
affecting the build system for all userspace tools were committed.&lt;br /&gt;
&lt;br /&gt;
== XFS status update for June 2010 ==&lt;br /&gt;
&lt;br /&gt;
The month of June saw a few important bug fixes for the Linux 2.6.35&lt;br /&gt;
release candidates.  That includes ensuring that files used for the&lt;br /&gt;
swapext ioctl are writable to the user, and doing proper validation&lt;br /&gt;
of inodes coming from untrusted sources, such as NFS exporting and&lt;br /&gt;
the open by handle system calls.  The main work however has been&lt;br /&gt;
focused on development for the Linux 2.6.36 merge window, including&lt;br /&gt;
merging various patches that have been out on the mainline list&lt;br /&gt;
for a long time.  Highlights include further performance improvements&lt;br /&gt;
for sync heavy metadata workloads, stack space reduction in the&lt;br /&gt;
writeback path and improvements of the XFS tracing infrastructure.&lt;br /&gt;
Also after some discussion the remaining hooks for DMAPI are going&lt;br /&gt;
to be dropped in mainline.   As a replacement a tree containing&lt;br /&gt;
full DMAPI support with a slightly cleaner XFS interaction will be&lt;br /&gt;
hosted by SGI.&lt;br /&gt;
&lt;br /&gt;
On the userspace side June was a rather slow month, with no updates&lt;br /&gt;
to xfsprogs and xfsdump at all, and just one new test case and a cleanup&lt;br /&gt;
applied to xfstests.&lt;br /&gt;
&lt;br /&gt;
== XFS status update for May 2010 ==&lt;br /&gt;
&lt;br /&gt;
In May 2010 we saw the long awaited release of Linux 2.6.34, which includes&lt;br /&gt;
a large XFS update.  The most important features appearing in 2.6.34 was the&lt;br /&gt;
new inode and quota flushing code, which leads to much better I/O patterns&lt;br /&gt;
for metadata-intensive workloads.  Additionally support for synchronous NFS&lt;br /&gt;
exports has been improved to give much better performance, and performance&lt;br /&gt;
for the fsync, fdatasync and sync system calls has been improved slightly.&lt;br /&gt;
A bug when resizing extremely busy filesystems has been fixed, which required&lt;br /&gt;
extensive modification to the data structure used for looking up the&lt;br /&gt;
per-allocation group data.  Last but not least there was a steady flow of&lt;br /&gt;
minor bug fixes and cleanups, leading to the following diffstat from&lt;br /&gt;
2.6.33 to 2.6.34:&lt;br /&gt;
&lt;br /&gt;
  86 files changed, 3209 insertions(+), 3178 deletions(-)&lt;br /&gt;
&lt;br /&gt;
Meanwhile active development aimed at 2.6.35 merge progressed.  The&lt;br /&gt;
major feature for this window is the merge of the delayed logging code,&lt;br /&gt;
which adds a new logging mode that dramatically reduces the bandwidth&lt;br /&gt;
required for log I/O.  See the &lt;br /&gt;
[http://git.kernel.org/?p=linux/kernel/git/torvalds/linux-2.6.git;a=blob;f=Documentation/filesystems/xfs-delayed-logging-design.txt;h=96d0df28bed323d5596fc051b0ffb96ed8e3c8df;hb=HEAD documentation] for details.  Testers&lt;br /&gt;
for this new code are welcome.&lt;br /&gt;
&lt;br /&gt;
In userland xfsprogs saw the long awaited 3.1.2 release, which can be&lt;br /&gt;
considered a bug fix release for xfs_repair, xfs_fsr and mkfs.xfs.  After&lt;br /&gt;
the release a few more fixes were merged into the development tree.&lt;br /&gt;
The xfstests package saw various new tests, including many tests to&lt;br /&gt;
exercise the quota code, and a few fixes to existing tests.&lt;br /&gt;
&lt;br /&gt;
== XFS status update for April 2010 ==&lt;br /&gt;
&lt;br /&gt;
In April 2.6.34 still was in the release candidate phase, with&lt;br /&gt;
a hand full of XFS fixes making it into mainline.  Development for&lt;br /&gt;
the 2.6.35 merge window went ahead full steam at the same time.&lt;br /&gt;
&lt;br /&gt;
While a fair amount of patches hit the development tree these were&lt;br /&gt;
largely cleanups, with the real development activity happening on&lt;br /&gt;
the mailing list.  There was another round of patches and following&lt;br /&gt;
discussion on the scalable busy extent tracking and delayed logging&lt;br /&gt;
features mentioned last month.  They are expected to be merged in&lt;br /&gt;
May and queue up for the Linux 2.6.35 window.  Last but not least&lt;br /&gt;
April saw a large number of XFS fixes backported to the 2.6.32 and&lt;br /&gt;
2.6.33 -stable series.&lt;br /&gt;
&lt;br /&gt;
In user land xfsprogs has seen few but important updates, preparing&lt;br /&gt;
for a new release next month.  The xfs_repair tool saw a fix to&lt;br /&gt;
correctly enable the lazy superblock counters on an existing&lt;br /&gt;
filesystem, and xfs_fsr saw updates to better deal with dynamic&lt;br /&gt;
attribute forks.  Last but not a least a port to Debian GNU/kFreeBSD&lt;br /&gt;
got merged. The xfstests test suite saw two new test cases and various&lt;br /&gt;
smaller fixes.&lt;br /&gt;
&lt;br /&gt;
== XFS status update for March 2010 ==&lt;br /&gt;
&lt;br /&gt;
The merge window for Linux 2.6.34 closed in the first week of March,&lt;br /&gt;
with the important XFS features already landing in February.  Not&lt;br /&gt;
surprisingly the XFS merge activity in March has been rather slow,&lt;br /&gt;
with only about a dozen bug fixes patches making it towards Linus&#039;&lt;br /&gt;
tree in that time.&lt;br /&gt;
&lt;br /&gt;
On the other hand active development for the 2.6.35 merge window has&lt;br /&gt;
been very active.  Most importantly there was a lot of work on the&lt;br /&gt;
transaction and log subsystems.  Starting with a large patchset to&lt;br /&gt;
clean up and refactor the transaction subsystem and introducing more&lt;br /&gt;
flexible I/O containers in the low-level logging code work is&lt;br /&gt;
progressing to a new, more efficient logging implementation.  While&lt;br /&gt;
this preparatory work has already been merged in the development tree,&lt;br /&gt;
the actual delayed logging implementation still needs more work after&lt;br /&gt;
the initial public posting.  The delayed logging implementation which&lt;br /&gt;
is very briefly modeled after the journaling mode in the ext3/4&lt;br /&gt;
and reiserfs filesystems allows to accumulated multiple asynchronous&lt;br /&gt;
transactions in memory instead of possibly writing them out&lt;br /&gt;
many times.  Using the new delayed logging mechanism I/O bandwidth&lt;br /&gt;
used for the log decreases by orders of magnitude and performance&lt;br /&gt;
on metadata intensive workloads increases massively.&lt;br /&gt;
&lt;br /&gt;
In addition to that a new version of the discard (aka TRIM) support&lt;br /&gt;
has been posted, this time entirely contained in kernel space&lt;br /&gt;
and without the need of a userspace utility to drive it.  Last but&lt;br /&gt;
not least the usual steady stream of cleanups and bug fixes has not&lt;br /&gt;
ceased this month either.&lt;br /&gt;
&lt;br /&gt;
Besides the usual flow of fixes and new test cases in the xfstests&lt;br /&gt;
test suite development on the userspace side has been rather slow.&lt;br /&gt;
Xfsprogs has only seen a single fix for SMP locking in xfs_repair&lt;br /&gt;
and support for building on Debian GNU/kFreeBSD, and xfsdump&lt;br /&gt;
has seen no commit at all.&lt;br /&gt;
&lt;br /&gt;
== XFS status update for February 2010 ==&lt;br /&gt;
&lt;br /&gt;
February saw the release of the Linux 2.6.33 kernel, which includes&lt;br /&gt;
a large XFS update.  The biggest user-visible change in Linux 2.6.33&lt;br /&gt;
is that XFS now support the generic Linux trace event infrastructure,&lt;br /&gt;
which allows tracing lots of XFS behavior with a normal production&lt;br /&gt;
built kernel.  Except for this Linux 2.6.33 has been mostly a bug-fix&lt;br /&gt;
release, fixing various user reported bugs in previous releases.&lt;br /&gt;
The total diffstat for XFS in Linux 2.6.33 looks like:&lt;br /&gt;
&lt;br /&gt;
  84 files changed, 3023 insertions(+), 3550 deletions(-)&lt;br /&gt;
&lt;br /&gt;
In addition to that the merge window for Linux 2.6.34 opened and the&lt;br /&gt;
first merge of the XFS tree made it into Linus tree.  Unlike Linux&lt;br /&gt;
2.6.33 this merge window includes major feature work.  The most&lt;br /&gt;
important change for users is a new algorithm for inode and quota&lt;br /&gt;
writeback that leads to better I/O locality and improved metadata&lt;br /&gt;
performance.  The second big change is a rewrite of the per-allocation&lt;br /&gt;
group data lookup which fixes a long-standing problem in the code&lt;br /&gt;
to grow a life filesystem and will also ease future filesystem&lt;br /&gt;
shrinking support.  Not merged through the XFS tree, but of great&lt;br /&gt;
importance for embedded users is a new API that allows XFS to properly&lt;br /&gt;
flush cache lines on it&#039;s log and large directory buffers, making&lt;br /&gt;
XFS work properly on architectures with virtually indexed caches,&lt;br /&gt;
such as parisc and various arm and mips variants.  Last but not&lt;br /&gt;
least there is an above average amount of cleanups that went into&lt;br /&gt;
Linus tree in this cycle.&lt;br /&gt;
&lt;br /&gt;
There have been more patches on the mailing list that haven&#039;t made&lt;br /&gt;
it to Linus tree yet, including an optimized implementation of&lt;br /&gt;
fdatasync(2) and massive speedups for metadata workloads on&lt;br /&gt;
NFS exported XFS filesystems.&lt;br /&gt;
&lt;br /&gt;
On the userspace side February has been a relatively quiet month.&lt;br /&gt;
Lead by xfstests only a moderate amount of fixes made it into&lt;br /&gt;
the respective trees.&lt;br /&gt;
&lt;br /&gt;
== XFS status update for January 2010 ==&lt;br /&gt;
&lt;br /&gt;
January saw additional release candidates of the Linux 2.6.33 kernel,&lt;br /&gt;
including a couple of bug fixes for XFS.  In the meantime the XFS tree&lt;br /&gt;
has been growing a large number of patches destined for the Linux 2.6.34&lt;br /&gt;
merge window: a large rework of the handling of per-AG data, support for&lt;br /&gt;
the quota netlink interface, and better power saving behavior of the&lt;br /&gt;
XFS kernel threads, and of course various cleanups.&lt;br /&gt;
&lt;br /&gt;
A large patch series to replace the current asynchronous inode writeback&lt;br /&gt;
with a new scheme that uses the delayed write buffers was posted to&lt;br /&gt;
the list.  The new scheme, which allows archive better I/O locality by&lt;br /&gt;
dispatching meta-data I/O from a single place has been discussed&lt;br /&gt;
extensively and is expected to be merged in February.&lt;br /&gt;
&lt;br /&gt;
On the userspace side January saw the 3.1.0 and 3.1.1 releases of xfsprogs,&lt;br /&gt;
as well as the 3.0.4 release of xfsdump.  The biggest changes in xfsprogs&lt;br /&gt;
3.1.0 were optimizations in xfs_repair that lead to a much lower memory&lt;br /&gt;
usage, and optional use of the blkid library for filesystem detection&lt;br /&gt;
and retrieving storage topology information.  The 3.1.1 release contained&lt;br /&gt;
various important bug fixes for these changes and a various improvements to&lt;br /&gt;
the build system.  The major feature of xfsdump 3.0.4 were fixes for&lt;br /&gt;
time stamp handling on 64-bit systems.&lt;br /&gt;
&lt;br /&gt;
The xfstests package also lots of activity including various new testcases&lt;br /&gt;
and an improved build system.&lt;br /&gt;
&lt;br /&gt;
== XFS status update for December 2009 ==&lt;br /&gt;
&lt;br /&gt;
December finally saw the long awaited release of Linux 2.6.32, which for&lt;br /&gt;
XFS is mostly a bug fix release, with the major changes being various&lt;br /&gt;
improvement to the sync path, including working around the expectation&lt;br /&gt;
from the grub boot loader where metadata is supposed to be after a sync()&lt;br /&gt;
system call.  Together with a refactoring of the inode allocator this&lt;br /&gt;
gives a nice diffstat for this kernel release:&lt;br /&gt;
&lt;br /&gt;
 46 files changed, 767 insertions(+), 1048 deletions(-)&lt;br /&gt;
&lt;br /&gt;
In the meantime development for the 2.6.33 has been going strong.  The&lt;br /&gt;
new event tracing code that allows to observe the inner workings of XFS&lt;br /&gt;
in production systems has finally been merged, with another patch to&lt;br /&gt;
reduce the size of the tracing code by using new upstream kernel features&lt;br /&gt;
posted for review.  Also a large patch series has been posted which&lt;br /&gt;
changes per-AG data to be looked up by a radix tree instead of the&lt;br /&gt;
existing array.  This works around possible deadlocks and user after&lt;br /&gt;
free issues during growfs, and prepares for removing a global (shared)&lt;br /&gt;
lock from the free space allocators.  In addition to that a wide range&lt;br /&gt;
of fixes has been posted and applied.&lt;br /&gt;
&lt;br /&gt;
Work on the userspace packages has been just as busy.  In mkfs.xfs the&lt;br /&gt;
lazy superblock counter feature has now been enabled by default for the&lt;br /&gt;
upcoming xfsprogs 3.1.0 release, which will require kernel 2.6.22 for&lt;br /&gt;
the default mkfs invocation.  Also for mkfs.xfs as patch was posted&lt;br /&gt;
to correct the automatic detection of 4 kilobyte sector drivers which&lt;br /&gt;
are expected to show up in large quantities the real work soon.  The&lt;br /&gt;
norepair mode in xfs_repair has been enhanced with additional freespace&lt;br /&gt;
btree correction checks from xfs_db and is now identical to xfs_check in&lt;br /&gt;
filesystem consistency checking coverage.  A temporary file permission&lt;br /&gt;
problems has been fixed in xfs_fsr, and the libhandle library has been&lt;br /&gt;
fixed to better deal with symbolic links.  In xfs_io a few commands&lt;br /&gt;
that were added years ago have finally been wired up to actually be&lt;br /&gt;
usable.  And last but not least xfsdump saw a fix to the time stamp&lt;br /&gt;
handling in the backup format and some usability and documentation&lt;br /&gt;
improvements to xfsinvutil.&lt;br /&gt;
&lt;br /&gt;
== XFS status update for November 2009 ==&lt;br /&gt;
&lt;br /&gt;
November was a relatively slow month for XFS development.  The XFS tree&lt;br /&gt;
that is destined for the Linux 2.6.33 merge window saw a few fixes and&lt;br /&gt;
cleanups applied to it, and few important fixes still made it into the&lt;br /&gt;
last Linux 2.6.32 release candidates.  A few more patches including a&lt;br /&gt;
final version of the event tracing support for XFS were posted but not&lt;br /&gt;
reviewed yet.&lt;br /&gt;
&lt;br /&gt;
On the userspace side there has been a fair amount of xfsprogs activity.&lt;br /&gt;
The repair speedup patches have finally been merged into the main development&lt;br /&gt;
branch and a couple of other fixes to the various utilities made it in, too.&lt;br /&gt;
The xfstests test suite saw another new regression test suite and a build&lt;br /&gt;
system fix up.&lt;br /&gt;
&lt;br /&gt;
== XFS status update for October 2009 ==&lt;br /&gt;
In October we saw the Linux 2.6.32 merge window with a major XFS update.&lt;br /&gt;
This update includes a refactoring of the inode allocator which also&lt;br /&gt;
allows for speedups for very large filesystems, major sync fixes, updates&lt;br /&gt;
to the fsync and O_SYNC handling which merge the two code paths into a single&lt;br /&gt;
and more efficient one, a workaround for the VFS time stamp behavior,&lt;br /&gt;
and of course various smaller fixes.  A couple of additional fixes have been&lt;br /&gt;
queued up for the next merge window.&lt;br /&gt;
&lt;br /&gt;
On the userspace side there has been a healthy activity on xfsprogs:  mkfs can&lt;br /&gt;
now discard unused sectors on SSDs and thinly provisioned storage devices and&lt;br /&gt;
use the more generic libblkid for topology information and filesystems detection&lt;br /&gt;
instead of the older libdisk, and the build system gained some updates to&lt;br /&gt;
make the source package generation simpler and shared for different package&lt;br /&gt;
types.  A patch has been out to the list but yet committed to add symbol&lt;br /&gt;
versioning to the libhandle library to make future ABI additions easier.&lt;br /&gt;
The xfstests package only saw some minor activity with a new test case&lt;br /&gt;
and small build system fixes.&lt;br /&gt;
&lt;br /&gt;
New minor releases of xfsprogs and xfsdump were tagged but not formally&lt;br /&gt;
released after additional discussion.  Instead a new major xfsprogs release&lt;br /&gt;
is planned for next month.&lt;br /&gt;
&lt;br /&gt;
== XFS status update for September 2009 ==&lt;br /&gt;
&lt;br /&gt;
In September the Linux 2.6.31 kernel was finally released, including another&lt;br /&gt;
last minute XFS fix for the swapext (defragmentation) compat ioctl handler.&lt;br /&gt;
The final patch from 2.6.30 to 2.6.31 shows the following impressive diffstat&lt;br /&gt;
for XFS:&lt;br /&gt;
&lt;br /&gt;
   55 files changed, 1476 insertions(+), 2269 deletions(-)&lt;br /&gt;
&lt;br /&gt;
The 2.6.32 merge window started with a large XFS merge that included changes&lt;br /&gt;
to the inode allocator, and a few smaller fixes.  New versions of the sync&lt;br /&gt;
and time stamp fixes as well as the event tracing support have been posted&lt;br /&gt;
in September but not yet merged into the XFS development tree and/or mainline.&lt;br /&gt;
&lt;br /&gt;
On the userspace side a large patch series to reduce the memory usage in&lt;br /&gt;
xfs_repair to acceptable levels was posted, but not yet merged.  A new xfs_df&lt;br /&gt;
shell script to measure use of the on disk space was posted but not yet&lt;br /&gt;
merged pending some minor review comments and a missing man page.  In addition&lt;br /&gt;
we saw the usual amount of smaller fixes and cleanups.&lt;br /&gt;
&lt;br /&gt;
Also this month Felix Blyakher resigned from his post as XFS maintainer and handed off to Alex Elder.&lt;br /&gt;
&lt;br /&gt;
== XFS status update for August 2009 ==&lt;br /&gt;
&lt;br /&gt;
In August the Linux 2.6.31 kernel has still been in the release candidate&lt;br /&gt;
stage, but a couple of important XFS fixes made it in time for the release,&lt;br /&gt;
including a fix for the inode cache races with NFS workloads that have&lt;br /&gt;
plagued us for a long time.&lt;br /&gt;
&lt;br /&gt;
The list saw various patches destined for the Linux 2.6.32 merge window,&lt;br /&gt;
including a merge of the fsync and O_SYNC handling code to address various&lt;br /&gt;
issues with the latter, a workaround for deficits in the timestamp handling&lt;br /&gt;
interface between the VFS and filesystems, a repost of the sync improvements&lt;br /&gt;
patch series and various smaller patches.&lt;br /&gt;
&lt;br /&gt;
August also saw the minor 3.0.3 release of xfsprogs which collects smaller&lt;br /&gt;
fixes to the various tools and most importantly a fix to allow xfsprogs to&lt;br /&gt;
work again on SPARC and other strict alignment handling which regressed a&lt;br /&gt;
few releases ago.  The xfstests repository saw a few new test cases and a&lt;br /&gt;
various small improvements.&lt;br /&gt;
&lt;br /&gt;
== XFS status update for July 2009 ==&lt;br /&gt;
&lt;br /&gt;
As a traditional summer vacation month July has not seen a lot of XFS&lt;br /&gt;
activity.  The mainline 2.6.31 kernel made it to the 5th release candidate&lt;br /&gt;
but besides a few kernel-wide patches touching XFS the only activity were&lt;br /&gt;
two small patches fixing a bug in FIEMAP and working around writeback&lt;br /&gt;
performance problems in the VM.&lt;br /&gt;
&lt;br /&gt;
A few more patches were posted to the list but haven&#039;t been merged yet.&lt;br /&gt;
Two big patch series deal with theoretically possible deadlocks due to&lt;br /&gt;
locks taken in reclaim contexts, which are now detected by lockdep.&lt;br /&gt;
&lt;br /&gt;
The pace on the userspace side has been slow.  There have been a couple&lt;br /&gt;
of fixes to xfs_repair and xfs_db, and xfstests grew a few more testcases.&lt;br /&gt;
&lt;br /&gt;
== XFS status update for June 2009 ==&lt;br /&gt;
&lt;br /&gt;
On June 9th we finally saw the release of Linux 2.6.30.  For XFS&lt;br /&gt;
this release mostly contains the improved ENOSPC handling, but also&lt;br /&gt;
various smaller bugfixes and lots of cleanups.  The code size of XFS&lt;br /&gt;
decreased again by 500 lines of code in this release.&lt;br /&gt;
&lt;br /&gt;
The Linux 2.6.31 merge opened in the mid of the month and some big XFS&lt;br /&gt;
changes have been pushed: A removal of the quotaops&lt;br /&gt;
infrastructure which simplifies the quota implementation, the switch&lt;br /&gt;
from XFS&#039;s own Posix ACL implementation to the generic one shared&lt;br /&gt;
by various other filesystems which also supports in-memory caching of&lt;br /&gt;
ACLs and another incremental refactoring of the sync code.&lt;br /&gt;
&lt;br /&gt;
A patch to better track dirty inodes and work around issues in the&lt;br /&gt;
way the VFS updates the access time stamp on inodes has been reposted&lt;br /&gt;
and discussed. Another patch to converting the existing XFS tracing&lt;br /&gt;
infrastructure to use the ftrace even tracer has been posted.&lt;br /&gt;
&lt;br /&gt;
On the userspace side there have been a few updates to xfsprogs, including&lt;br /&gt;
some repair fixes and a new fallocate command for xfs_io.  There were&lt;br /&gt;
major updates for xfstests:  The existing aio-dio-regress testsuite has&lt;br /&gt;
been merged into xfstests, and various changes went into the tree to make&lt;br /&gt;
xfstests better suitable for use with other filesystems.&lt;br /&gt;
&lt;br /&gt;
The attr and acl projects which have been traditionally been hosted&lt;br /&gt;
as part of the XFS userspace utilities have now been split into a separate&lt;br /&gt;
project maintained by Andreas Gruenbacher, who has been doing most of&lt;br /&gt;
the work on it, and moved to the Savannah hosting platform.&lt;br /&gt;
&lt;br /&gt;
== XFS status update for May 2009 ==&lt;br /&gt;
&lt;br /&gt;
In May Linux 2.6.30 was getting close to be released, and various&lt;br /&gt;
important XFS fixes made it during the latest release candidates.&lt;br /&gt;
In the meantime some big patch series to rework the sync code and&lt;br /&gt;
the inode allocator have been posted for the next merge window.&lt;br /&gt;
&lt;br /&gt;
On the userspace side xfsprogs and xfsdump 3.0.1 were finally released,&lt;br /&gt;
quickly followed by 3.0.2 releases with updated Debian packaging.&lt;br /&gt;
After that various small patches that were held back made it into xfsprogs.&lt;br /&gt;
A patch to add the xfs_reno tool which allows to move inodes around to&lt;br /&gt;
fit into 32 bit inode number space has been posted which is also one&lt;br /&gt;
central aspect of future online shrinking support.&lt;br /&gt;
&lt;br /&gt;
There has been major activity on xfstests including adding generic&lt;br /&gt;
filesystems support to allow running tests that aren&#039;t XFS-specific on&lt;br /&gt;
any Linux filesystems.&lt;br /&gt;
&lt;br /&gt;
== XFS status update for April 2009 ==&lt;br /&gt;
&lt;br /&gt;
In April development for Linux 2.6.30 was in full motion.  A patchset to correct flushing of delayed allocations with near full filesystems has been committed in early April, as well as various smaller fixes. A patch series to improve the behavior of sys_sync has been posted but is waiting for VFS changes queued for Linux 2.6.31.&lt;br /&gt;
&lt;br /&gt;
On the userspace side xfsprogs and xfsdump 3.0.1 have managed to split their release dates into May again after a lot of last-minute build system updates.&lt;br /&gt;
&lt;br /&gt;
== XFS status update for March 2009 ==&lt;br /&gt;
&lt;br /&gt;
Linux 2.6.29 has been released which includes major XFS updates like the&lt;br /&gt;
new generic btree code, a fully functional 32bit compat ioctl implementation&lt;br /&gt;
and the new combined XFS and Linux inode.  (See previous status reports&lt;br /&gt;
for more details). A patch series to improve correctness and performance&lt;br /&gt;
has been posted but not yet applied.  Various minor fixes and cleanups&lt;br /&gt;
have been sent to Linus for 2.6.30 which looks like it will be a minor&lt;br /&gt;
release for XFS after the big churn in 2.6.29.&lt;br /&gt;
&lt;br /&gt;
On userspace a lot of time has been spent on fixing and improving the&lt;br /&gt;
build system shared by the various XFS utilities as well as various smaller&lt;br /&gt;
improvements leading to the xfsprogs and xfsdump 3.0.1 releases which are&lt;br /&gt;
still outstanding.&lt;br /&gt;
&lt;br /&gt;
== XFS status update for February 2009 ==&lt;br /&gt;
&lt;br /&gt;
In February various smaller fixes have been sent to Linus for 2.6.29,&lt;br /&gt;
including a revert of the faster vmap APIs which don&#039;t seem to be quite&lt;br /&gt;
ready yet on the VM side.  At the same time various patches have been&lt;br /&gt;
queued up for 2.6.30, with another big batch pending.  There also has&lt;br /&gt;
been a repost of the CRC patch series, including support for a new,&lt;br /&gt;
larger inode core.&lt;br /&gt;
&lt;br /&gt;
SGI released various bits of work in progress from former employees&lt;br /&gt;
that will be extremely helpful for the future development of XFS,&lt;br /&gt;
thanks a lot to Mark Goodwin for making this happen.&lt;br /&gt;
&lt;br /&gt;
On the userspace side the long awaited 3.0.0 releases of xfsprogs and&lt;br /&gt;
xfsdump finally happened early in the month, accompanied by a 2.2.9&lt;br /&gt;
release of the dmapi userspace.  There have been some issues with packaging&lt;br /&gt;
so a new minor release might follow soon.&lt;br /&gt;
&lt;br /&gt;
The xfs_irecover tool has been relicensed so that it can be merged into&lt;br /&gt;
the GPLv2 codebase of xfsprogs, but the actual integration work hasn&#039;t&lt;br /&gt;
happened yet.&lt;br /&gt;
&lt;br /&gt;
Important bits of XFS documentation that have been available on the XFS&lt;br /&gt;
website in PDF form have been released in the document source form under&lt;br /&gt;
the Creative Commons license so that they can be updated as a community&lt;br /&gt;
effort, and checked into a public git tree.&lt;br /&gt;
&lt;br /&gt;
== XFS status update for January 2009 ==&lt;br /&gt;
&lt;br /&gt;
January has been an extremely busy month on the userspace front.  Many&lt;br /&gt;
smaller and medium updates went into xfsprogs, xfstests and to a lesser&lt;br /&gt;
extent xfsdump.  xfsprogs and xfsdump are ramping up for getting a 3.0.0&lt;br /&gt;
release out in early February which will include the first major re-sync&lt;br /&gt;
with the kernel code in libxfs, a cleanup of the exported library interfaces&lt;br /&gt;
and the move of two tools (xfs_fsr and xfs_estimate) from the xfsdump&lt;br /&gt;
package to xfsprogs.  After this the xfsprogs package will contain all&lt;br /&gt;
tools that use internal libxfs interfaces which fortunately equates to those&lt;br /&gt;
needed for normal administration.  The xfsdump package now only contains&lt;br /&gt;
the xfsdump/xfsrestore tools needed for backing up and restoring XFS&lt;br /&gt;
filesystems.  In addition it grew a fix to support dump/restore on systems&lt;br /&gt;
with a 64k page size.  A large number of acl/attr package patches was&lt;br /&gt;
posted to the list, but pending a possible split of these packages from the&lt;br /&gt;
XFS project these weren&#039;t processed yet.&lt;br /&gt;
&lt;br /&gt;
On the kernel side the big excitement in January was an in-memory corruption&lt;br /&gt;
introduced in the btree refactoring which hit people running 32bit platforms&lt;br /&gt;
without support for large block devices.  This issue was fixed and pushed&lt;br /&gt;
to the 2.6.29 development tree after a long collaborative debugging effort&lt;br /&gt;
at linux.conf.au.  Besides that about a dozen minor fixes were pushed to&lt;br /&gt;
2.6.29 and the first batch of misc patches for the 2.6.30 release cycle&lt;br /&gt;
was sent out.&lt;br /&gt;
&lt;br /&gt;
At the end of December the SGI group in Melbourne which the previous&lt;br /&gt;
XFS maintainer and some other developers worked for has been closed down&lt;br /&gt;
and they will be missed greatly.  As a result maintainership has been passed&lt;br /&gt;
on in a way that has been slightly controversial in the community, and the&lt;br /&gt;
first patchset of work in progress in Melbourne have been posted to the list&lt;br /&gt;
to be picked up by others.&lt;br /&gt;
&lt;br /&gt;
The xfs.org wiki has gotten a little facelift on it&#039;s front page making it&lt;br /&gt;
a lot easier to read.&lt;br /&gt;
&lt;br /&gt;
== XFS status update for December 2008 ==&lt;br /&gt;
&lt;br /&gt;
On Christmas Eve the 2.6.28 mainline kernel was release, with only minor XFS&lt;br /&gt;
bug fixes over 2.6.27.&lt;br /&gt;
&lt;br /&gt;
On the development side December has been busy but unspectacular month.&lt;br /&gt;
All lot of misc fixes and improvements have been sent out, tested and committed&lt;br /&gt;
especially on the user land side.&lt;br /&gt;
&lt;br /&gt;
== XFS status update for November 2008 ==&lt;br /&gt;
&lt;br /&gt;
The mainline kernel is now at 2.6.28-rc6 and includes a small number of&lt;br /&gt;
XFS fixes.  There have been no updates to the XFS development tree during&lt;br /&gt;
November.  Without new regressions that large number of changes that&lt;br /&gt;
missed 2.6.28 has thus stabilized to be ready for 2.6.29.  In the meantime&lt;br /&gt;
kernel-side development has been slow, with the only major patch set&lt;br /&gt;
being a wide number of fixes to the compatibility for 32 bit ioctls on&lt;br /&gt;
a 64 bit kernel.&lt;br /&gt;
&lt;br /&gt;
In the meantime there has been a large number of commits to the user space&lt;br /&gt;
tree, which mostly consist of smaller fixes.  xfsprogs is getting close&lt;br /&gt;
to have the 3.0.0 release which will be the first full resync with the&lt;br /&gt;
kernel sources since the year 2005.&lt;br /&gt;
&lt;br /&gt;
== XFS status update for October 2008 ==&lt;br /&gt;
&lt;br /&gt;
Linux 2.6.27 released with all the bits covered in last month&#039;s report.  It&lt;br /&gt;
did however miss two important fixes for regressions that a few people hit.&lt;br /&gt;
2.6.27.3 or later are recommended for use with XFS.&lt;br /&gt;
&lt;br /&gt;
In the meantime the generic btree implementation, the sync reorganization&lt;br /&gt;
and after a lot of merge pain the XFS and VFS inode unification hit the&lt;br /&gt;
development tree during the time allocated for the merge window.  No XFS&lt;br /&gt;
updates other than the two regression fixes also in 2.6.27.3 have made it&lt;br /&gt;
into mainline as of 2.6.28-rc3.&lt;br /&gt;
&lt;br /&gt;
The only new feature on the list in October is support for the fiemap&lt;br /&gt;
interface that has been added to the VFS during the 2.6.28 merge window.&lt;br /&gt;
However there was lot of patch traffic consisting of fixes and respun&lt;br /&gt;
versions of previously known patches.  There still is a large backlog of&lt;br /&gt;
patches on the list that is not applied to the development tree yet.&lt;br /&gt;
&lt;br /&gt;
== XFS status update for September 2008 ==&lt;br /&gt;
&lt;br /&gt;
With Linux 2.6.27 still not released but only making slow progress from 2.6.27-rc5 to 2.6.27-rc8 XFS changes in mainline have been minimal in September with only about half a dozen bug fixes patches.&lt;br /&gt;
&lt;br /&gt;
In the meantime the generic btree patch set has been committed to the development tree, but not many other updates yet. On the user space side xfsprogs 2.10.1 has been released on September 5th with a number of important bug fixes. Following the release of xfsprogs 2.10.1 open season for development of the user space code has started. The first full update of the shared kernel / user space code in libxfs since 2005 has been committed. In addition to that the number of headers installed for the regular devel package has been reduced to the required minimum and support for checking the source code for endianess errors using sparse has been added.&lt;br /&gt;
&lt;br /&gt;
The patch sets to unify the XFS and Linux inode structures, and rewrite various bits of the sync code have seen various iterations on the XFS list, but haven&#039;t been committed yet. A first set of patches implementing CRCs for various metadata structures has been posted to the list.&lt;br /&gt;
&lt;br /&gt;
== XFS status update for August 2008 ==&lt;br /&gt;
&lt;br /&gt;
With the 2.6.27-rc5 release the 2.6.27 cycle is nearing it&#039;s end. The major XFS feature in 2.6.27-rc5 is support for case-insensitive file names. At this point it is still limited to 7bit ASCII file names, with updates for utf8 file names expected to follow later. In addition to that 2.6.27-rc5 fixes a long-standing problem with non-EABI arm compiler which pack some XFS data structures wrongly. Besides this 2.6.27-rc5 also contains various cleanups, most notably the removal of the last bhv_vnode_t instances, and most uses of semaphores. As usual the diffstat for XFS from 2.6.26 to 2.6.26-rc5 is negative:&lt;br /&gt;
&lt;br /&gt;
       100 files changed, 3819 insertions(+), 4409 deletions(-)&lt;br /&gt;
&lt;br /&gt;
On the user space front a new minor xfsprogs version is about to be released containing various fixes including the user space part of arm packing fix.&lt;br /&gt;
&lt;br /&gt;
Work in progress on the XFS mailing list are a large patch set to unify the alloc, inobt and bmap btree implementation into a single that supports arbitrarily pluggable key and record formats. These btree changes are the first major preparation for adding CRC checks to all metadata structures in XFS, and an even larger patch set to unify the XFS and Linux inode structures, and perform all inode write back from the btree uses instead of an inode cache in XFS.&lt;br /&gt;
&lt;br /&gt;
== Updates before 2008 ==&lt;br /&gt;
&lt;br /&gt;
News up to 2007 can be found on a separate page: [[OLD_News]]&lt;/div&gt;</summary>
		<author><name>Hch</name></author>
	</entry>
	<entry>
		<id>https://xfs.org/index.php?title=XFS_Status_Updates&amp;diff=2314</id>
		<title>XFS Status Updates</title>
		<link rel="alternate" type="text/html" href="https://xfs.org/index.php?title=XFS_Status_Updates&amp;diff=2314"/>
		<updated>2011-04-15T11:39:06Z</updated>

		<summary type="html">&lt;p&gt;Hch: fix typo&lt;/p&gt;
&lt;hr /&gt;
&lt;div&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&#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&#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&#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&#039;t been committed yet were discussed on the mailing list.&lt;br /&gt;
&lt;br /&gt;
== XFS status update for December 2010 ==&lt;br /&gt;
&lt;br /&gt;
The release process of the Linux 2.6.37 kernel with it&#039;s large XFS updates&lt;br /&gt;
was in it&#039;s final days in December, which explains why we only saw a single&lt;br /&gt;
one-liner regression fix for XFS in Linus&#039; tree.  The XFS development tree&lt;br /&gt;
finally saw some updates when the writeback updates and some small cleanups&lt;br /&gt;
to the allocator and log recovery code were merged, but the large metadata&lt;br /&gt;
scalability updates that have been posted to the list multiple times are&lt;br /&gt;
still missing.  In addition to this on-going work the list also saw patches&lt;br /&gt;
that fix smaller issues, which are also still waiting to be merged.&lt;br /&gt;
&lt;br /&gt;
On the userspace side xfsprogs and xfsdump development has been quit, with&lt;br /&gt;
no commits to either repository in December, although a large series of&lt;br /&gt;
updates to the metadump command has been reposted near the end of the month.&lt;br /&gt;
The xfstests repository saw a new regression test for a btrfs problem,&lt;br /&gt;
and various updates to existing tests.&lt;br /&gt;
&lt;br /&gt;
== XFS status update for November 2010 ==&lt;br /&gt;
&lt;br /&gt;
From looking at the kernel git commits November looked like a pretty&lt;br /&gt;
slow month with just two hand full fixes going into the release candidates&lt;br /&gt;
for Linux 2.6.37, and none at all going into the development tree.&lt;br /&gt;
But in this case git statistics didn&#039;t tell the whole story - there&lt;br /&gt;
was a lot of activity on patches for the next merge window on the list.&lt;br /&gt;
The focus in November was still at metadata scalability, with various&lt;br /&gt;
patchsets that improves parallel creates and unlinks again, and also&lt;br /&gt;
improves 8-way dbench throughput by 30%.  In addition to that there&lt;br /&gt;
were patches to improve preallocation for NFS servers, to simplify&lt;br /&gt;
the writeback code, and to remove the XFS-internal percpu counters&lt;br /&gt;
for free space for the generic kernel percpu counters, which just needed&lt;br /&gt;
a small improvement.&lt;br /&gt;
&lt;br /&gt;
On the user space side we saw the release of xfsprogs 3.1.4, which&lt;br /&gt;
contains various accumulated bug fixes and Debian packaging updates.&lt;br /&gt;
The xfsdump tree saw a large update to speed up restore by using&lt;br /&gt;
mmap for an internal database and remove the limitation of ~ 214&lt;br /&gt;
million directory entries per dump file.  The xfstests test suite&lt;br /&gt;
saw three new testcases and various fixes, including support for the&lt;br /&gt;
hfsplus filesystem.&lt;br /&gt;
&lt;br /&gt;
== XFS status update for October 2010 ==&lt;br /&gt;
&lt;br /&gt;
Near the end of the month we finally saw the release of Linux 2.6.36.&lt;br /&gt;
Just a single fix made it into mainline in this month, showing that the&lt;br /&gt;
stabilization period before has worked very well.&lt;br /&gt;
&lt;br /&gt;
Linux 2.6.36 has been another impressive release for XFS, seeing&lt;br /&gt;
various performance improvements in the new delayed logging code,&lt;br /&gt;
for direct I/O and the sync system call, a few bug fixes, and lots&lt;br /&gt;
of cleanups, resulting in a net removal of over 2000 lines of code:&lt;br /&gt;
&lt;br /&gt;
        89 files changed, 1998 insertions(+), 4279 deletions(-)&lt;br /&gt;
&lt;br /&gt;
The merge window for Linux 2.6.37 opened just a few days after the&lt;br /&gt;
release of Linux 2.6.36 and already contains another large XFS update&lt;br /&gt;
at the end of October.  Highlights of the XFS tree merged into 2.6.37-rc1&lt;br /&gt;
are another large set of metadata scalability patches, support for 32-bit&lt;br /&gt;
wide project IDs, and support for the new XFS_IOC_ZERO_RANGE ioctl,&lt;br /&gt;
which allows to punch a whole and convert it to an unwritten extent&lt;br /&gt;
in a single atomic operation.&lt;br /&gt;
&lt;br /&gt;
The metadata scalability changes improve 8-way fs_mark of 50 million files&lt;br /&gt;
by over 15% and removal of those files by over 100%, with further&lt;br /&gt;
improvements expected by the next round of XFS metadata scalability&lt;br /&gt;
and VFS scalability improvements targeted at Linux 2.6.38.&lt;br /&gt;
&lt;br /&gt;
On the user space side October was a rather quit month for xfsprogs, which&lt;br /&gt;
only saw the addition of 32-bit project ID handling, and a fix for&lt;br /&gt;
parsing the mount table in fsr when used together with disk encryption&lt;br /&gt;
tools.  A few patches for xfsdump were posted on the list, but none&lt;br /&gt;
was applied, leaving the majority of the user space activity to&lt;br /&gt;
xfstests, which saw very active development.  Various patches went&lt;br /&gt;
into xfstests to improve portability to filesystems with a limited&lt;br /&gt;
feature set, and to move more filters to generic code.  In addition&lt;br /&gt;
various cleanups to test cases in test programs were applied.&lt;br /&gt;
&lt;br /&gt;
== XFS status update for September 2010 ==&lt;br /&gt;
&lt;br /&gt;
Mainline activity has been rather low in September while with only&lt;br /&gt;
two more fixes going into the 2.6.36 release candidates after the&lt;br /&gt;
large merge activity in August.  Development for the next merge&lt;br /&gt;
window has been more active.  The largest item was the inclusion&lt;br /&gt;
of the metadata scalability patch series, which provides very large&lt;br /&gt;
speedups for parallel metadata operations.  In addition a new&lt;br /&gt;
ioctl to punch holes and convert the whole to an unwritten extent&lt;br /&gt;
was added and a small number of cleanups also made it into the tree.&lt;br /&gt;
&lt;br /&gt;
Patches to add support for 32bit wide project ID identifiers and&lt;br /&gt;
using group and project quotas concurrently were posted to the list&lt;br /&gt;
and discussed but not yet included.&lt;br /&gt;
&lt;br /&gt;
Userspace development has been rather quiet again, with a single fix&lt;br /&gt;
committed to xfsprogs and xfsdump each.  The xfstests test suite grew&lt;br /&gt;
a new test case and received a few additional fixes.  Last but not least&lt;br /&gt;
the [http://xfs.org/docs/xfsdocs-xml-dev/XFS_User_Guide//tmp/en-US/html/index.html XFS Users Guide]&lt;br /&gt;
was updated with various factual corrections and spelling fixes.&lt;br /&gt;
&lt;br /&gt;
== XFS status update for August 2010 ==&lt;br /&gt;
&lt;br /&gt;
At the first of August we finally saw the release of Linux 2.6.35,&lt;br /&gt;
which includes a large XFS update.  The most prominent feature in&lt;br /&gt;
Linux 2.6.35 is the new delayed logging code which provides massive&lt;br /&gt;
speedups for metadata-intensive workloads, but there has been&lt;br /&gt;
a large amount of other fixes and cleanups, leading to the following&lt;br /&gt;
diffstat:&lt;br /&gt;
&lt;br /&gt;
         67 files changed, 4426 insertions(+), 3835 deletions(-)&lt;br /&gt;
&lt;br /&gt;
Given the early release of Linux 2.6.35 the merge window for the&lt;br /&gt;
next release fully fell into the month of August.  The XFS updates&lt;br /&gt;
for Linux 2.6.36 include various additional performance improvements&lt;br /&gt;
in the delayed logging code, for direct I/O writes and for avoiding&lt;br /&gt;
synchronous transactions, as well as various fixed and large amount&lt;br /&gt;
of cleanups, including the removal of the remaining dead DMAPI&lt;br /&gt;
code.&lt;br /&gt;
&lt;br /&gt;
On the userspace side we saw the 3.1.3 release of xfsprogs, which includes&lt;br /&gt;
various smaller fixes, support for the new XFS_IOC_ZERO_RANGE ioctl and&lt;br /&gt;
Debian packaging updates.  The xfstests package saw one new test case&lt;br /&gt;
and a couple of smaller patches, and xfsdump has not seen any updates at&lt;br /&gt;
all.&lt;br /&gt;
&lt;br /&gt;
The XMLified versions of the XFS users guide, training labs and filesystem&lt;br /&gt;
structure documentation are now available as on the fly generated html on&lt;br /&gt;
the xfs.org website and can be found at [[XFS_Papers_and_Documentation|Papers &amp;amp; Documentation]].&lt;br /&gt;
&lt;br /&gt;
== XFS status update for July 2010 ==&lt;br /&gt;
&lt;br /&gt;
July saw three more release candidates for the Linux 2.6.35 kernel, which&lt;br /&gt;
included a relatively large number of XFS updates.  There were two security&lt;br /&gt;
fixes, a small one to prevent swapext to operate on write-only file&lt;br /&gt;
descriptors, and a much larger one to properly validate inode numbers&lt;br /&gt;
coming from NFS clients or userspace applications using the bulkstat or&lt;br /&gt;
the open-by-handle interfaces.  In addition to that another relatively&lt;br /&gt;
large patch fixes the way inodes get reclaimed in the background, and&lt;br /&gt;
avoids inode caches growing out of bounds.&lt;br /&gt;
&lt;br /&gt;
In the meantime the code for the Linux 2.6.36 got the last touches before&lt;br /&gt;
the expected opening of the merge window, by merging a few more last&lt;br /&gt;
minute fixes and cleanups.  The most notable one is a patch series&lt;br /&gt;
that fixes in-memory corruption when concurrently accessing unwritten&lt;br /&gt;
extents using the in-kernel AIO code.&lt;br /&gt;
&lt;br /&gt;
The userspace side was still quite slow, but some a bit more activity&lt;br /&gt;
than June.  In xfsprogs the xfs_db code grew two bug fixes, as did&lt;br /&gt;
the xfs_io script.  The xfstests package saw one new test cases and&lt;br /&gt;
various fixes to existing code.  Last but not least a few patches&lt;br /&gt;
affecting the build system for all userspace tools were committed.&lt;br /&gt;
&lt;br /&gt;
== XFS status update for June 2010 ==&lt;br /&gt;
&lt;br /&gt;
The month of June saw a few important bug fixes for the Linux 2.6.35&lt;br /&gt;
release candidates.  That includes ensuring that files used for the&lt;br /&gt;
swapext ioctl are writable to the user, and doing proper validation&lt;br /&gt;
of inodes coming from untrusted sources, such as NFS exporting and&lt;br /&gt;
the open by handle system calls.  The main work however has been&lt;br /&gt;
focused on development for the Linux 2.6.36 merge window, including&lt;br /&gt;
merging various patches that have been out on the mainline list&lt;br /&gt;
for a long time.  Highlights include further performance improvements&lt;br /&gt;
for sync heavy metadata workloads, stack space reduction in the&lt;br /&gt;
writeback path and improvements of the XFS tracing infrastructure.&lt;br /&gt;
Also after some discussion the remaining hooks for DMAPI are going&lt;br /&gt;
to be dropped in mainline.   As a replacement a tree containing&lt;br /&gt;
full DMAPI support with a slightly cleaner XFS interaction will be&lt;br /&gt;
hosted by SGI.&lt;br /&gt;
&lt;br /&gt;
On the userspace side June was a rather slow month, with no updates&lt;br /&gt;
to xfsprogs and xfsdump at all, and just one new test case and a cleanup&lt;br /&gt;
applied to xfstests.&lt;br /&gt;
&lt;br /&gt;
== XFS status update for May 2010 ==&lt;br /&gt;
&lt;br /&gt;
In May 2010 we saw the long awaited release of Linux 2.6.34, which includes&lt;br /&gt;
a large XFS update.  The most important features appearing in 2.6.34 was the&lt;br /&gt;
new inode and quota flushing code, which leads to much better I/O patterns&lt;br /&gt;
for metadata-intensive workloads.  Additionally support for synchronous NFS&lt;br /&gt;
exports has been improved to give much better performance, and performance&lt;br /&gt;
for the fsync, fdatasync and sync system calls has been improved slightly.&lt;br /&gt;
A bug when resizing extremely busy filesystems has been fixed, which required&lt;br /&gt;
extensive modification to the data structure used for looking up the&lt;br /&gt;
per-allocation group data.  Last but not least there was a steady flow of&lt;br /&gt;
minor bug fixes and cleanups, leading to the following diffstat from&lt;br /&gt;
2.6.33 to 2.6.34:&lt;br /&gt;
&lt;br /&gt;
  86 files changed, 3209 insertions(+), 3178 deletions(-)&lt;br /&gt;
&lt;br /&gt;
Meanwhile active development aimed at 2.6.35 merge progressed.  The&lt;br /&gt;
major feature for this window is the merge of the delayed logging code,&lt;br /&gt;
which adds a new logging mode that dramatically reduces the bandwidth&lt;br /&gt;
required for log I/O.  See the &lt;br /&gt;
[http://git.kernel.org/?p=linux/kernel/git/torvalds/linux-2.6.git;a=blob;f=Documentation/filesystems/xfs-delayed-logging-design.txt;h=96d0df28bed323d5596fc051b0ffb96ed8e3c8df;hb=HEAD documentation] for details.  Testers&lt;br /&gt;
for this new code are welcome.&lt;br /&gt;
&lt;br /&gt;
In userland xfsprogs saw the long awaited 3.1.2 release, which can be&lt;br /&gt;
considered a bug fix release for xfs_repair, xfs_fsr and mkfs.xfs.  After&lt;br /&gt;
the release a few more fixes were merged into the development tree.&lt;br /&gt;
The xfstests package saw various new tests, including many tests to&lt;br /&gt;
exercise the quota code, and a few fixes to existing tests.&lt;br /&gt;
&lt;br /&gt;
== XFS status update for April 2010 ==&lt;br /&gt;
&lt;br /&gt;
In April 2.6.34 still was in the release candidate phase, with&lt;br /&gt;
a hand full of XFS fixes making it into mainline.  Development for&lt;br /&gt;
the 2.6.35 merge window went ahead full steam at the same time.&lt;br /&gt;
&lt;br /&gt;
While a fair amount of patches hit the development tree these were&lt;br /&gt;
largely cleanups, with the real development activity happening on&lt;br /&gt;
the mailing list.  There was another round of patches and following&lt;br /&gt;
discussion on the scalable busy extent tracking and delayed logging&lt;br /&gt;
features mentioned last month.  They are expected to be merged in&lt;br /&gt;
May and queue up for the Linux 2.6.35 window.  Last but not least&lt;br /&gt;
April saw a large number of XFS fixes backported to the 2.6.32 and&lt;br /&gt;
2.6.33 -stable series.&lt;br /&gt;
&lt;br /&gt;
In user land xfsprogs has seen few but important updates, preparing&lt;br /&gt;
for a new release next month.  The xfs_repair tool saw a fix to&lt;br /&gt;
correctly enable the lazy superblock counters on an existing&lt;br /&gt;
filesystem, and xfs_fsr saw updates to better deal with dynamic&lt;br /&gt;
attribute forks.  Last but not a least a port to Debian GNU/kFreeBSD&lt;br /&gt;
got merged. The xfstests test suite saw two new test cases and various&lt;br /&gt;
smaller fixes.&lt;br /&gt;
&lt;br /&gt;
== XFS status update for March 2010 ==&lt;br /&gt;
&lt;br /&gt;
The merge window for Linux 2.6.34 closed in the first week of March,&lt;br /&gt;
with the important XFS features already landing in February.  Not&lt;br /&gt;
surprisingly the XFS merge activity in March has been rather slow,&lt;br /&gt;
with only about a dozen bug fixes patches making it towards Linus&#039;&lt;br /&gt;
tree in that time.&lt;br /&gt;
&lt;br /&gt;
On the other hand active development for the 2.6.35 merge window has&lt;br /&gt;
been very active.  Most importantly there was a lot of work on the&lt;br /&gt;
transaction and log subsystems.  Starting with a large patchset to&lt;br /&gt;
clean up and refactor the transaction subsystem and introducing more&lt;br /&gt;
flexible I/O containers in the low-level logging code work is&lt;br /&gt;
progressing to a new, more efficient logging implementation.  While&lt;br /&gt;
this preparatory work has already been merged in the development tree,&lt;br /&gt;
the actual delayed logging implementation still needs more work after&lt;br /&gt;
the initial public posting.  The delayed logging implementation which&lt;br /&gt;
is very briefly modeled after the journaling mode in the ext3/4&lt;br /&gt;
and reiserfs filesystems allows to accumulated multiple asynchronous&lt;br /&gt;
transactions in memory instead of possibly writing them out&lt;br /&gt;
many times.  Using the new delayed logging mechanism I/O bandwidth&lt;br /&gt;
used for the log decreases by orders of magnitude and performance&lt;br /&gt;
on metadata intensive workloads increases massively.&lt;br /&gt;
&lt;br /&gt;
In addition to that a new version of the discard (aka TRIM) support&lt;br /&gt;
has been posted, this time entirely contained in kernel space&lt;br /&gt;
and without the need of a userspace utility to drive it.  Last but&lt;br /&gt;
not least the usual steady stream of cleanups and bug fixes has not&lt;br /&gt;
ceased this month either.&lt;br /&gt;
&lt;br /&gt;
Besides the usual flow of fixes and new test cases in the xfstests&lt;br /&gt;
test suite development on the userspace side has been rather slow.&lt;br /&gt;
Xfsprogs has only seen a single fix for SMP locking in xfs_repair&lt;br /&gt;
and support for building on Debian GNU/kFreeBSD, and xfsdump&lt;br /&gt;
has seen no commit at all.&lt;br /&gt;
&lt;br /&gt;
== XFS status update for February 2010 ==&lt;br /&gt;
&lt;br /&gt;
February saw the release of the Linux 2.6.33 kernel, which includes&lt;br /&gt;
a large XFS update.  The biggest user-visible change in Linux 2.6.33&lt;br /&gt;
is that XFS now support the generic Linux trace event infrastructure,&lt;br /&gt;
which allows tracing lots of XFS behavior with a normal production&lt;br /&gt;
built kernel.  Except for this Linux 2.6.33 has been mostly a bug-fix&lt;br /&gt;
release, fixing various user reported bugs in previous releases.&lt;br /&gt;
The total diffstat for XFS in Linux 2.6.33 looks like:&lt;br /&gt;
&lt;br /&gt;
  84 files changed, 3023 insertions(+), 3550 deletions(-)&lt;br /&gt;
&lt;br /&gt;
In addition to that the merge window for Linux 2.6.34 opened and the&lt;br /&gt;
first merge of the XFS tree made it into Linus tree.  Unlike Linux&lt;br /&gt;
2.6.33 this merge window includes major feature work.  The most&lt;br /&gt;
important change for users is a new algorithm for inode and quota&lt;br /&gt;
writeback that leads to better I/O locality and improved metadata&lt;br /&gt;
performance.  The second big change is a rewrite of the per-allocation&lt;br /&gt;
group data lookup which fixes a long-standing problem in the code&lt;br /&gt;
to grow a life filesystem and will also ease future filesystem&lt;br /&gt;
shrinking support.  Not merged through the XFS tree, but of great&lt;br /&gt;
importance for embedded users is a new API that allows XFS to properly&lt;br /&gt;
flush cache lines on it&#039;s log and large directory buffers, making&lt;br /&gt;
XFS work properly on architectures with virtually indexed caches,&lt;br /&gt;
such as parisc and various arm and mips variants.  Last but not&lt;br /&gt;
least there is an above average amount of cleanups that went into&lt;br /&gt;
Linus tree in this cycle.&lt;br /&gt;
&lt;br /&gt;
There have been more patches on the mailing list that haven&#039;t made&lt;br /&gt;
it to Linus tree yet, including an optimized implementation of&lt;br /&gt;
fdatasync(2) and massive speedups for metadata workloads on&lt;br /&gt;
NFS exported XFS filesystems.&lt;br /&gt;
&lt;br /&gt;
On the userspace side February has been a relatively quiet month.&lt;br /&gt;
Lead by xfstests only a moderate amount of fixes made it into&lt;br /&gt;
the respective trees.&lt;br /&gt;
&lt;br /&gt;
== XFS status update for January 2010 ==&lt;br /&gt;
&lt;br /&gt;
January saw additional release candidates of the Linux 2.6.33 kernel,&lt;br /&gt;
including a couple of bug fixes for XFS.  In the meantime the XFS tree&lt;br /&gt;
has been growing a large number of patches destined for the Linux 2.6.34&lt;br /&gt;
merge window: a large rework of the handling of per-AG data, support for&lt;br /&gt;
the quota netlink interface, and better power saving behavior of the&lt;br /&gt;
XFS kernel threads, and of course various cleanups.&lt;br /&gt;
&lt;br /&gt;
A large patch series to replace the current asynchronous inode writeback&lt;br /&gt;
with a new scheme that uses the delayed write buffers was posted to&lt;br /&gt;
the list.  The new scheme, which allows archive better I/O locality by&lt;br /&gt;
dispatching meta-data I/O from a single place has been discussed&lt;br /&gt;
extensively and is expected to be merged in February.&lt;br /&gt;
&lt;br /&gt;
On the userspace side January saw the 3.1.0 and 3.1.1 releases of xfsprogs,&lt;br /&gt;
as well as the 3.0.4 release of xfsdump.  The biggest changes in xfsprogs&lt;br /&gt;
3.1.0 were optimizations in xfs_repair that lead to a much lower memory&lt;br /&gt;
usage, and optional use of the blkid library for filesystem detection&lt;br /&gt;
and retrieving storage topology information.  The 3.1.1 release contained&lt;br /&gt;
various important bug fixes for these changes and a various improvements to&lt;br /&gt;
the build system.  The major feature of xfsdump 3.0.4 were fixes for&lt;br /&gt;
time stamp handling on 64-bit systems.&lt;br /&gt;
&lt;br /&gt;
The xfstests package also lots of activity including various new testcases&lt;br /&gt;
and an improved build system.&lt;br /&gt;
&lt;br /&gt;
== XFS status update for December 2009 ==&lt;br /&gt;
&lt;br /&gt;
December finally saw the long awaited release of Linux 2.6.32, which for&lt;br /&gt;
XFS is mostly a bug fix release, with the major changes being various&lt;br /&gt;
improvement to the sync path, including working around the expectation&lt;br /&gt;
from the grub boot loader where metadata is supposed to be after a sync()&lt;br /&gt;
system call.  Together with a refactoring of the inode allocator this&lt;br /&gt;
gives a nice diffstat for this kernel release:&lt;br /&gt;
&lt;br /&gt;
 46 files changed, 767 insertions(+), 1048 deletions(-)&lt;br /&gt;
&lt;br /&gt;
In the meantime development for the 2.6.33 has been going strong.  The&lt;br /&gt;
new event tracing code that allows to observe the inner workings of XFS&lt;br /&gt;
in production systems has finally been merged, with another patch to&lt;br /&gt;
reduce the size of the tracing code by using new upstream kernel features&lt;br /&gt;
posted for review.  Also a large patch series has been posted which&lt;br /&gt;
changes per-AG data to be looked up by a radix tree instead of the&lt;br /&gt;
existing array.  This works around possible deadlocks and user after&lt;br /&gt;
free issues during growfs, and prepares for removing a global (shared)&lt;br /&gt;
lock from the free space allocators.  In addition to that a wide range&lt;br /&gt;
of fixes has been posted and applied.&lt;br /&gt;
&lt;br /&gt;
Work on the userspace packages has been just as busy.  In mkfs.xfs the&lt;br /&gt;
lazy superblock counter feature has now been enabled by default for the&lt;br /&gt;
upcoming xfsprogs 3.1.0 release, which will require kernel 2.6.22 for&lt;br /&gt;
the default mkfs invocation.  Also for mkfs.xfs as patch was posted&lt;br /&gt;
to correct the automatic detection of 4 kilobyte sector drivers which&lt;br /&gt;
are expected to show up in large quantities the real work soon.  The&lt;br /&gt;
norepair mode in xfs_repair has been enhanced with additional freespace&lt;br /&gt;
btree correction checks from xfs_db and is now identical to xfs_check in&lt;br /&gt;
filesystem consistency checking coverage.  A temporary file permission&lt;br /&gt;
problems has been fixed in xfs_fsr, and the libhandle library has been&lt;br /&gt;
fixed to better deal with symbolic links.  In xfs_io a few commands&lt;br /&gt;
that were added years ago have finally been wired up to actually be&lt;br /&gt;
usable.  And last but not least xfsdump saw a fix to the time stamp&lt;br /&gt;
handling in the backup format and some usability and documentation&lt;br /&gt;
improvements to xfsinvutil.&lt;br /&gt;
&lt;br /&gt;
== XFS status update for November 2009 ==&lt;br /&gt;
&lt;br /&gt;
November was a relatively slow month for XFS development.  The XFS tree&lt;br /&gt;
that is destined for the Linux 2.6.33 merge window saw a few fixes and&lt;br /&gt;
cleanups applied to it, and few important fixes still made it into the&lt;br /&gt;
last Linux 2.6.32 release candidates.  A few more patches including a&lt;br /&gt;
final version of the event tracing support for XFS were posted but not&lt;br /&gt;
reviewed yet.&lt;br /&gt;
&lt;br /&gt;
On the userspace side there has been a fair amount of xfsprogs activity.&lt;br /&gt;
The repair speedup patches have finally been merged into the main development&lt;br /&gt;
branch and a couple of other fixes to the various utilities made it in, too.&lt;br /&gt;
The xfstests test suite saw another new regression test suite and a build&lt;br /&gt;
system fix up.&lt;br /&gt;
&lt;br /&gt;
== XFS status update for October 2009 ==&lt;br /&gt;
In October we saw the Linux 2.6.32 merge window with a major XFS update.&lt;br /&gt;
This update includes a refactoring of the inode allocator which also&lt;br /&gt;
allows for speedups for very large filesystems, major sync fixes, updates&lt;br /&gt;
to the fsync and O_SYNC handling which merge the two code paths into a single&lt;br /&gt;
and more efficient one, a workaround for the VFS time stamp behavior,&lt;br /&gt;
and of course various smaller fixes.  A couple of additional fixes have been&lt;br /&gt;
queued up for the next merge window.&lt;br /&gt;
&lt;br /&gt;
On the userspace side there has been a healthy activity on xfsprogs:  mkfs can&lt;br /&gt;
now discard unused sectors on SSDs and thinly provisioned storage devices and&lt;br /&gt;
use the more generic libblkid for topology information and filesystems detection&lt;br /&gt;
instead of the older libdisk, and the build system gained some updates to&lt;br /&gt;
make the source package generation simpler and shared for different package&lt;br /&gt;
types.  A patch has been out to the list but yet committed to add symbol&lt;br /&gt;
versioning to the libhandle library to make future ABI additions easier.&lt;br /&gt;
The xfstests package only saw some minor activity with a new test case&lt;br /&gt;
and small build system fixes.&lt;br /&gt;
&lt;br /&gt;
New minor releases of xfsprogs and xfsdump were tagged but not formally&lt;br /&gt;
released after additional discussion.  Instead a new major xfsprogs release&lt;br /&gt;
is planned for next month.&lt;br /&gt;
&lt;br /&gt;
== XFS status update for September 2009 ==&lt;br /&gt;
&lt;br /&gt;
In September the Linux 2.6.31 kernel was finally released, including another&lt;br /&gt;
last minute XFS fix for the swapext (defragmentation) compat ioctl handler.&lt;br /&gt;
The final patch from 2.6.30 to 2.6.31 shows the following impressive diffstat&lt;br /&gt;
for XFS:&lt;br /&gt;
&lt;br /&gt;
   55 files changed, 1476 insertions(+), 2269 deletions(-)&lt;br /&gt;
&lt;br /&gt;
The 2.6.32 merge window started with a large XFS merge that included changes&lt;br /&gt;
to the inode allocator, and a few smaller fixes.  New versions of the sync&lt;br /&gt;
and time stamp fixes as well as the event tracing support have been posted&lt;br /&gt;
in September but not yet merged into the XFS development tree and/or mainline.&lt;br /&gt;
&lt;br /&gt;
On the userspace side a large patch series to reduce the memory usage in&lt;br /&gt;
xfs_repair to acceptable levels was posted, but not yet merged.  A new xfs_df&lt;br /&gt;
shell script to measure use of the on disk space was posted but not yet&lt;br /&gt;
merged pending some minor review comments and a missing man page.  In addition&lt;br /&gt;
we saw the usual amount of smaller fixes and cleanups.&lt;br /&gt;
&lt;br /&gt;
Also this month Felix Blyakher resigned from his post as XFS maintainer and handed off to Alex Elder.&lt;br /&gt;
&lt;br /&gt;
== XFS status update for August 2009 ==&lt;br /&gt;
&lt;br /&gt;
In August the Linux 2.6.31 kernel has still been in the release candidate&lt;br /&gt;
stage, but a couple of important XFS fixes made it in time for the release,&lt;br /&gt;
including a fix for the inode cache races with NFS workloads that have&lt;br /&gt;
plagued us for a long time.&lt;br /&gt;
&lt;br /&gt;
The list saw various patches destined for the Linux 2.6.32 merge window,&lt;br /&gt;
including a merge of the fsync and O_SYNC handling code to address various&lt;br /&gt;
issues with the latter, a workaround for deficits in the timestamp handling&lt;br /&gt;
interface between the VFS and filesystems, a repost of the sync improvements&lt;br /&gt;
patch series and various smaller patches.&lt;br /&gt;
&lt;br /&gt;
August also saw the minor 3.0.3 release of xfsprogs which collects smaller&lt;br /&gt;
fixes to the various tools and most importantly a fix to allow xfsprogs to&lt;br /&gt;
work again on SPARC and other strict alignment handling which regressed a&lt;br /&gt;
few releases ago.  The xfstests repository saw a few new test cases and a&lt;br /&gt;
various small improvements.&lt;br /&gt;
&lt;br /&gt;
== XFS status update for July 2009 ==&lt;br /&gt;
&lt;br /&gt;
As a traditional summer vacation month July has not seen a lot of XFS&lt;br /&gt;
activity.  The mainline 2.6.31 kernel made it to the 5th release candidate&lt;br /&gt;
but besides a few kernel-wide patches touching XFS the only activity were&lt;br /&gt;
two small patches fixing a bug in FIEMAP and working around writeback&lt;br /&gt;
performance problems in the VM.&lt;br /&gt;
&lt;br /&gt;
A few more patches were posted to the list but haven&#039;t been merged yet.&lt;br /&gt;
Two big patch series deal with theoretically possible deadlocks due to&lt;br /&gt;
locks taken in reclaim contexts, which are now detected by lockdep.&lt;br /&gt;
&lt;br /&gt;
The pace on the userspace side has been slow.  There have been a couple&lt;br /&gt;
of fixes to xfs_repair and xfs_db, and xfstests grew a few more testcases.&lt;br /&gt;
&lt;br /&gt;
== XFS status update for June 2009 ==&lt;br /&gt;
&lt;br /&gt;
On June 9th we finally saw the release of Linux 2.6.30.  For XFS&lt;br /&gt;
this release mostly contains the improved ENOSPC handling, but also&lt;br /&gt;
various smaller bugfixes and lots of cleanups.  The code size of XFS&lt;br /&gt;
decreased again by 500 lines of code in this release.&lt;br /&gt;
&lt;br /&gt;
The Linux 2.6.31 merge opened in the mid of the month and some big XFS&lt;br /&gt;
changes have been pushed: A removal of the quotaops&lt;br /&gt;
infrastructure which simplifies the quota implementation, the switch&lt;br /&gt;
from XFS&#039;s own Posix ACL implementation to the generic one shared&lt;br /&gt;
by various other filesystems which also supports in-memory caching of&lt;br /&gt;
ACLs and another incremental refactoring of the sync code.&lt;br /&gt;
&lt;br /&gt;
A patch to better track dirty inodes and work around issues in the&lt;br /&gt;
way the VFS updates the access time stamp on inodes has been reposted&lt;br /&gt;
and discussed. Another patch to converting the existing XFS tracing&lt;br /&gt;
infrastructure to use the ftrace even tracer has been posted.&lt;br /&gt;
&lt;br /&gt;
On the userspace side there have been a few updates to xfsprogs, including&lt;br /&gt;
some repair fixes and a new fallocate command for xfs_io.  There were&lt;br /&gt;
major updates for xfstests:  The existing aio-dio-regress testsuite has&lt;br /&gt;
been merged into xfstests, and various changes went into the tree to make&lt;br /&gt;
xfstests better suitable for use with other filesystems.&lt;br /&gt;
&lt;br /&gt;
The attr and acl projects which have been traditionally been hosted&lt;br /&gt;
as part of the XFS userspace utilities have now been split into a separate&lt;br /&gt;
project maintained by Andreas Gruenbacher, who has been doing most of&lt;br /&gt;
the work on it, and moved to the Savannah hosting platform.&lt;br /&gt;
&lt;br /&gt;
== XFS status update for May 2009 ==&lt;br /&gt;
&lt;br /&gt;
In May Linux 2.6.30 was getting close to be released, and various&lt;br /&gt;
important XFS fixes made it during the latest release candidates.&lt;br /&gt;
In the meantime some big patch series to rework the sync code and&lt;br /&gt;
the inode allocator have been posted for the next merge window.&lt;br /&gt;
&lt;br /&gt;
On the userspace side xfsprogs and xfsdump 3.0.1 were finally released,&lt;br /&gt;
quickly followed by 3.0.2 releases with updated Debian packaging.&lt;br /&gt;
After that various small patches that were held back made it into xfsprogs.&lt;br /&gt;
A patch to add the xfs_reno tool which allows to move inodes around to&lt;br /&gt;
fit into 32 bit inode number space has been posted which is also one&lt;br /&gt;
central aspect of future online shrinking support.&lt;br /&gt;
&lt;br /&gt;
There has been major activity on xfstests including adding generic&lt;br /&gt;
filesystems support to allow running tests that aren&#039;t XFS-specific on&lt;br /&gt;
any Linux filesystems.&lt;br /&gt;
&lt;br /&gt;
== XFS status update for April 2009 ==&lt;br /&gt;
&lt;br /&gt;
In April development for Linux 2.6.30 was in full motion.  A patchset to correct flushing of delayed allocations with near full filesystems has been committed in early April, as well as various smaller fixes. A patch series to improve the behavior of sys_sync has been posted but is waiting for VFS changes queued for Linux 2.6.31.&lt;br /&gt;
&lt;br /&gt;
On the userspace side xfsprogs and xfsdump 3.0.1 have managed to split their release dates into May again after a lot of last-minute build system updates.&lt;br /&gt;
&lt;br /&gt;
== XFS status update for March 2009 ==&lt;br /&gt;
&lt;br /&gt;
Linux 2.6.29 has been released which includes major XFS updates like the&lt;br /&gt;
new generic btree code, a fully functional 32bit compat ioctl implementation&lt;br /&gt;
and the new combined XFS and Linux inode.  (See previous status reports&lt;br /&gt;
for more details). A patch series to improve correctness and performance&lt;br /&gt;
has been posted but not yet applied.  Various minor fixes and cleanups&lt;br /&gt;
have been sent to Linus for 2.6.30 which looks like it will be a minor&lt;br /&gt;
release for XFS after the big churn in 2.6.29.&lt;br /&gt;
&lt;br /&gt;
On userspace a lot of time has been spent on fixing and improving the&lt;br /&gt;
build system shared by the various XFS utilities as well as various smaller&lt;br /&gt;
improvements leading to the xfsprogs and xfsdump 3.0.1 releases which are&lt;br /&gt;
still outstanding.&lt;br /&gt;
&lt;br /&gt;
== XFS status update for February 2009 ==&lt;br /&gt;
&lt;br /&gt;
In February various smaller fixes have been sent to Linus for 2.6.29,&lt;br /&gt;
including a revert of the faster vmap APIs which don&#039;t seem to be quite&lt;br /&gt;
ready yet on the VM side.  At the same time various patches have been&lt;br /&gt;
queued up for 2.6.30, with another big batch pending.  There also has&lt;br /&gt;
been a repost of the CRC patch series, including support for a new,&lt;br /&gt;
larger inode core.&lt;br /&gt;
&lt;br /&gt;
SGI released various bits of work in progress from former employees&lt;br /&gt;
that will be extremely helpful for the future development of XFS,&lt;br /&gt;
thanks a lot to Mark Goodwin for making this happen.&lt;br /&gt;
&lt;br /&gt;
On the userspace side the long awaited 3.0.0 releases of xfsprogs and&lt;br /&gt;
xfsdump finally happened early in the month, accompanied by a 2.2.9&lt;br /&gt;
release of the dmapi userspace.  There have been some issues with packaging&lt;br /&gt;
so a new minor release might follow soon.&lt;br /&gt;
&lt;br /&gt;
The xfs_irecover tool has been relicensed so that it can be merged into&lt;br /&gt;
the GPLv2 codebase of xfsprogs, but the actual integration work hasn&#039;t&lt;br /&gt;
happened yet.&lt;br /&gt;
&lt;br /&gt;
Important bits of XFS documentation that have been available on the XFS&lt;br /&gt;
website in PDF form have been released in the document source form under&lt;br /&gt;
the Creative Commons license so that they can be updated as a community&lt;br /&gt;
effort, and checked into a public git tree.&lt;br /&gt;
&lt;br /&gt;
== XFS status update for January 2009 ==&lt;br /&gt;
&lt;br /&gt;
January has been an extremely busy month on the userspace front.  Many&lt;br /&gt;
smaller and medium updates went into xfsprogs, xfstests and to a lesser&lt;br /&gt;
extent xfsdump.  xfsprogs and xfsdump are ramping up for getting a 3.0.0&lt;br /&gt;
release out in early February which will include the first major re-sync&lt;br /&gt;
with the kernel code in libxfs, a cleanup of the exported library interfaces&lt;br /&gt;
and the move of two tools (xfs_fsr and xfs_estimate) from the xfsdump&lt;br /&gt;
package to xfsprogs.  After this the xfsprogs package will contain all&lt;br /&gt;
tools that use internal libxfs interfaces which fortunately equates to those&lt;br /&gt;
needed for normal administration.  The xfsdump package now only contains&lt;br /&gt;
the xfsdump/xfsrestore tools needed for backing up and restoring XFS&lt;br /&gt;
filesystems.  In addition it grew a fix to support dump/restore on systems&lt;br /&gt;
with a 64k page size.  A large number of acl/attr package patches was&lt;br /&gt;
posted to the list, but pending a possible split of these packages from the&lt;br /&gt;
XFS project these weren&#039;t processed yet.&lt;br /&gt;
&lt;br /&gt;
On the kernel side the big excitement in January was an in-memory corruption&lt;br /&gt;
introduced in the btree refactoring which hit people running 32bit platforms&lt;br /&gt;
without support for large block devices.  This issue was fixed and pushed&lt;br /&gt;
to the 2.6.29 development tree after a long collaborative debugging effort&lt;br /&gt;
at linux.conf.au.  Besides that about a dozen minor fixes were pushed to&lt;br /&gt;
2.6.29 and the first batch of misc patches for the 2.6.30 release cycle&lt;br /&gt;
was sent out.&lt;br /&gt;
&lt;br /&gt;
At the end of December the SGI group in Melbourne which the previous&lt;br /&gt;
XFS maintainer and some other developers worked for has been closed down&lt;br /&gt;
and they will be missed greatly.  As a result maintainership has been passed&lt;br /&gt;
on in a way that has been slightly controversial in the community, and the&lt;br /&gt;
first patchset of work in progress in Melbourne have been posted to the list&lt;br /&gt;
to be picked up by others.&lt;br /&gt;
&lt;br /&gt;
The xfs.org wiki has gotten a little facelift on it&#039;s front page making it&lt;br /&gt;
a lot easier to read.&lt;br /&gt;
&lt;br /&gt;
== XFS status update for December 2008 ==&lt;br /&gt;
&lt;br /&gt;
On Christmas Eve the 2.6.28 mainline kernel was release, with only minor XFS&lt;br /&gt;
bug fixes over 2.6.27.&lt;br /&gt;
&lt;br /&gt;
On the development side December has been busy but unspectacular month.&lt;br /&gt;
All lot of misc fixes and improvements have been sent out, tested and committed&lt;br /&gt;
especially on the user land side.&lt;br /&gt;
&lt;br /&gt;
== XFS status update for November 2008 ==&lt;br /&gt;
&lt;br /&gt;
The mainline kernel is now at 2.6.28-rc6 and includes a small number of&lt;br /&gt;
XFS fixes.  There have been no updates to the XFS development tree during&lt;br /&gt;
November.  Without new regressions that large number of changes that&lt;br /&gt;
missed 2.6.28 has thus stabilized to be ready for 2.6.29.  In the meantime&lt;br /&gt;
kernel-side development has been slow, with the only major patch set&lt;br /&gt;
being a wide number of fixes to the compatibility for 32 bit ioctls on&lt;br /&gt;
a 64 bit kernel.&lt;br /&gt;
&lt;br /&gt;
In the meantime there has been a large number of commits to the user space&lt;br /&gt;
tree, which mostly consist of smaller fixes.  xfsprogs is getting close&lt;br /&gt;
to have the 3.0.0 release which will be the first full resync with the&lt;br /&gt;
kernel sources since the year 2005.&lt;br /&gt;
&lt;br /&gt;
== XFS status update for October 2008 ==&lt;br /&gt;
&lt;br /&gt;
Linux 2.6.27 released with all the bits covered in last month&#039;s report.  It&lt;br /&gt;
did however miss two important fixes for regressions that a few people hit.&lt;br /&gt;
2.6.27.3 or later are recommended for use with XFS.&lt;br /&gt;
&lt;br /&gt;
In the meantime the generic btree implementation, the sync reorganization&lt;br /&gt;
and after a lot of merge pain the XFS and VFS inode unification hit the&lt;br /&gt;
development tree during the time allocated for the merge window.  No XFS&lt;br /&gt;
updates other than the two regression fixes also in 2.6.27.3 have made it&lt;br /&gt;
into mainline as of 2.6.28-rc3.&lt;br /&gt;
&lt;br /&gt;
The only new feature on the list in October is support for the fiemap&lt;br /&gt;
interface that has been added to the VFS during the 2.6.28 merge window.&lt;br /&gt;
However there was lot of patch traffic consisting of fixes and respun&lt;br /&gt;
versions of previously known patches.  There still is a large backlog of&lt;br /&gt;
patches on the list that is not applied to the development tree yet.&lt;br /&gt;
&lt;br /&gt;
== XFS status update for September 2008 ==&lt;br /&gt;
&lt;br /&gt;
With Linux 2.6.27 still not released but only making slow progress from 2.6.27-rc5 to 2.6.27-rc8 XFS changes in mainline have been minimal in September with only about half a dozen bug fixes patches.&lt;br /&gt;
&lt;br /&gt;
In the meantime the generic btree patch set has been committed to the development tree, but not many other updates yet. On the user space side xfsprogs 2.10.1 has been released on September 5th with a number of important bug fixes. Following the release of xfsprogs 2.10.1 open season for development of the user space code has started. The first full update of the shared kernel / user space code in libxfs since 2005 has been committed. In addition to that the number of headers installed for the regular devel package has been reduced to the required minimum and support for checking the source code for endianess errors using sparse has been added.&lt;br /&gt;
&lt;br /&gt;
The patch sets to unify the XFS and Linux inode structures, and rewrite various bits of the sync code have seen various iterations on the XFS list, but haven&#039;t been committed yet. A first set of patches implementing CRCs for various metadata structures has been posted to the list.&lt;br /&gt;
&lt;br /&gt;
== XFS status update for August 2008 ==&lt;br /&gt;
&lt;br /&gt;
With the 2.6.27-rc5 release the 2.6.27 cycle is nearing it&#039;s end. The major XFS feature in 2.6.27-rc5 is support for case-insensitive file names. At this point it is still limited to 7bit ASCII file names, with updates for utf8 file names expected to follow later. In addition to that 2.6.27-rc5 fixes a long-standing problem with non-EABI arm compiler which pack some XFS data structures wrongly. Besides this 2.6.27-rc5 also contains various cleanups, most notably the removal of the last bhv_vnode_t instances, and most uses of semaphores. As usual the diffstat for XFS from 2.6.26 to 2.6.26-rc5 is negative:&lt;br /&gt;
&lt;br /&gt;
       100 files changed, 3819 insertions(+), 4409 deletions(-)&lt;br /&gt;
&lt;br /&gt;
On the user space front a new minor xfsprogs version is about to be released containing various fixes including the user space part of arm packing fix.&lt;br /&gt;
&lt;br /&gt;
Work in progress on the XFS mailing list are a large patch set to unify the alloc, inobt and bmap btree implementation into a single that supports arbitrarily pluggable key and record formats. These btree changes are the first major preparation for adding CRC checks to all metadata structures in XFS, and an even larger patch set to unify the XFS and Linux inode structures, and perform all inode write back from the btree uses instead of an inode cache in XFS.&lt;br /&gt;
&lt;br /&gt;
== Updates before 2008 ==&lt;br /&gt;
&lt;br /&gt;
News up to 2007 can be found on a separate page: [[OLD_News]]&lt;/div&gt;</summary>
		<author><name>Hch</name></author>
	</entry>
	<entry>
		<id>https://xfs.org/index.php?title=XFS_Status_Updates&amp;diff=2313</id>
		<title>XFS Status Updates</title>
		<link rel="alternate" type="text/html" href="https://xfs.org/index.php?title=XFS_Status_Updates&amp;diff=2313"/>
		<updated>2011-04-15T10:29:26Z</updated>

		<summary type="html">&lt;p&gt;Hch: March 2011 update&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== XFS status update for March 2011 ==&lt;br /&gt;
&lt;br /&gt;
March saw the release of Linux 2.6.39, 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&#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&#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&#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&#039;t been committed yet were discussed on the mailing list.&lt;br /&gt;
&lt;br /&gt;
== XFS status update for December 2010 ==&lt;br /&gt;
&lt;br /&gt;
The release process of the Linux 2.6.37 kernel with it&#039;s large XFS updates&lt;br /&gt;
was in it&#039;s final days in December, which explains why we only saw a single&lt;br /&gt;
one-liner regression fix for XFS in Linus&#039; tree.  The XFS development tree&lt;br /&gt;
finally saw some updates when the writeback updates and some small cleanups&lt;br /&gt;
to the allocator and log recovery code were merged, but the large metadata&lt;br /&gt;
scalability updates that have been posted to the list multiple times are&lt;br /&gt;
still missing.  In addition to this on-going work the list also saw patches&lt;br /&gt;
that fix smaller issues, which are also still waiting to be merged.&lt;br /&gt;
&lt;br /&gt;
On the userspace side xfsprogs and xfsdump development has been quit, with&lt;br /&gt;
no commits to either repository in December, although a large series of&lt;br /&gt;
updates to the metadump command has been reposted near the end of the month.&lt;br /&gt;
The xfstests repository saw a new regression test for a btrfs problem,&lt;br /&gt;
and various updates to existing tests.&lt;br /&gt;
&lt;br /&gt;
== XFS status update for November 2010 ==&lt;br /&gt;
&lt;br /&gt;
From looking at the kernel git commits November looked like a pretty&lt;br /&gt;
slow month with just two hand full fixes going into the release candidates&lt;br /&gt;
for Linux 2.6.37, and none at all going into the development tree.&lt;br /&gt;
But in this case git statistics didn&#039;t tell the whole story - there&lt;br /&gt;
was a lot of activity on patches for the next merge window on the list.&lt;br /&gt;
The focus in November was still at metadata scalability, with various&lt;br /&gt;
patchsets that improves parallel creates and unlinks again, and also&lt;br /&gt;
improves 8-way dbench throughput by 30%.  In addition to that there&lt;br /&gt;
were patches to improve preallocation for NFS servers, to simplify&lt;br /&gt;
the writeback code, and to remove the XFS-internal percpu counters&lt;br /&gt;
for free space for the generic kernel percpu counters, which just needed&lt;br /&gt;
a small improvement.&lt;br /&gt;
&lt;br /&gt;
On the user space side we saw the release of xfsprogs 3.1.4, which&lt;br /&gt;
contains various accumulated bug fixes and Debian packaging updates.&lt;br /&gt;
The xfsdump tree saw a large update to speed up restore by using&lt;br /&gt;
mmap for an internal database and remove the limitation of ~ 214&lt;br /&gt;
million directory entries per dump file.  The xfstests test suite&lt;br /&gt;
saw three new testcases and various fixes, including support for the&lt;br /&gt;
hfsplus filesystem.&lt;br /&gt;
&lt;br /&gt;
== XFS status update for October 2010 ==&lt;br /&gt;
&lt;br /&gt;
Near the end of the month we finally saw the release of Linux 2.6.36.&lt;br /&gt;
Just a single fix made it into mainline in this month, showing that the&lt;br /&gt;
stabilization period before has worked very well.&lt;br /&gt;
&lt;br /&gt;
Linux 2.6.36 has been another impressive release for XFS, seeing&lt;br /&gt;
various performance improvements in the new delayed logging code,&lt;br /&gt;
for direct I/O and the sync system call, a few bug fixes, and lots&lt;br /&gt;
of cleanups, resulting in a net removal of over 2000 lines of code:&lt;br /&gt;
&lt;br /&gt;
        89 files changed, 1998 insertions(+), 4279 deletions(-)&lt;br /&gt;
&lt;br /&gt;
The merge window for Linux 2.6.37 opened just a few days after the&lt;br /&gt;
release of Linux 2.6.36 and already contains another large XFS update&lt;br /&gt;
at the end of October.  Highlights of the XFS tree merged into 2.6.37-rc1&lt;br /&gt;
are another large set of metadata scalability patches, support for 32-bit&lt;br /&gt;
wide project IDs, and support for the new XFS_IOC_ZERO_RANGE ioctl,&lt;br /&gt;
which allows to punch a whole and convert it to an unwritten extent&lt;br /&gt;
in a single atomic operation.&lt;br /&gt;
&lt;br /&gt;
The metadata scalability changes improve 8-way fs_mark of 50 million files&lt;br /&gt;
by over 15% and removal of those files by over 100%, with further&lt;br /&gt;
improvements expected by the next round of XFS metadata scalability&lt;br /&gt;
and VFS scalability improvements targeted at Linux 2.6.38.&lt;br /&gt;
&lt;br /&gt;
On the user space side October was a rather quit month for xfsprogs, which&lt;br /&gt;
only saw the addition of 32-bit project ID handling, and a fix for&lt;br /&gt;
parsing the mount table in fsr when used together with disk encryption&lt;br /&gt;
tools.  A few patches for xfsdump were posted on the list, but none&lt;br /&gt;
was applied, leaving the majority of the user space activity to&lt;br /&gt;
xfstests, which saw very active development.  Various patches went&lt;br /&gt;
into xfstests to improve portability to filesystems with a limited&lt;br /&gt;
feature set, and to move more filters to generic code.  In addition&lt;br /&gt;
various cleanups to test cases in test programs were applied.&lt;br /&gt;
&lt;br /&gt;
== XFS status update for September 2010 ==&lt;br /&gt;
&lt;br /&gt;
Mainline activity has been rather low in September while with only&lt;br /&gt;
two more fixes going into the 2.6.36 release candidates after the&lt;br /&gt;
large merge activity in August.  Development for the next merge&lt;br /&gt;
window has been more active.  The largest item was the inclusion&lt;br /&gt;
of the metadata scalability patch series, which provides very large&lt;br /&gt;
speedups for parallel metadata operations.  In addition a new&lt;br /&gt;
ioctl to punch holes and convert the whole to an unwritten extent&lt;br /&gt;
was added and a small number of cleanups also made it into the tree.&lt;br /&gt;
&lt;br /&gt;
Patches to add support for 32bit wide project ID identifiers and&lt;br /&gt;
using group and project quotas concurrently were posted to the list&lt;br /&gt;
and discussed but not yet included.&lt;br /&gt;
&lt;br /&gt;
Userspace development has been rather quiet again, with a single fix&lt;br /&gt;
committed to xfsprogs and xfsdump each.  The xfstests test suite grew&lt;br /&gt;
a new test case and received a few additional fixes.  Last but not least&lt;br /&gt;
the [http://xfs.org/docs/xfsdocs-xml-dev/XFS_User_Guide//tmp/en-US/html/index.html XFS Users Guide]&lt;br /&gt;
was updated with various factual corrections and spelling fixes.&lt;br /&gt;
&lt;br /&gt;
== XFS status update for August 2010 ==&lt;br /&gt;
&lt;br /&gt;
At the first of August we finally saw the release of Linux 2.6.35,&lt;br /&gt;
which includes a large XFS update.  The most prominent feature in&lt;br /&gt;
Linux 2.6.35 is the new delayed logging code which provides massive&lt;br /&gt;
speedups for metadata-intensive workloads, but there has been&lt;br /&gt;
a large amount of other fixes and cleanups, leading to the following&lt;br /&gt;
diffstat:&lt;br /&gt;
&lt;br /&gt;
         67 files changed, 4426 insertions(+), 3835 deletions(-)&lt;br /&gt;
&lt;br /&gt;
Given the early release of Linux 2.6.35 the merge window for the&lt;br /&gt;
next release fully fell into the month of August.  The XFS updates&lt;br /&gt;
for Linux 2.6.36 include various additional performance improvements&lt;br /&gt;
in the delayed logging code, for direct I/O writes and for avoiding&lt;br /&gt;
synchronous transactions, as well as various fixed and large amount&lt;br /&gt;
of cleanups, including the removal of the remaining dead DMAPI&lt;br /&gt;
code.&lt;br /&gt;
&lt;br /&gt;
On the userspace side we saw the 3.1.3 release of xfsprogs, which includes&lt;br /&gt;
various smaller fixes, support for the new XFS_IOC_ZERO_RANGE ioctl and&lt;br /&gt;
Debian packaging updates.  The xfstests package saw one new test case&lt;br /&gt;
and a couple of smaller patches, and xfsdump has not seen any updates at&lt;br /&gt;
all.&lt;br /&gt;
&lt;br /&gt;
The XMLified versions of the XFS users guide, training labs and filesystem&lt;br /&gt;
structure documentation are now available as on the fly generated html on&lt;br /&gt;
the xfs.org website and can be found at [[XFS_Papers_and_Documentation|Papers &amp;amp; Documentation]].&lt;br /&gt;
&lt;br /&gt;
== XFS status update for July 2010 ==&lt;br /&gt;
&lt;br /&gt;
July saw three more release candidates for the Linux 2.6.35 kernel, which&lt;br /&gt;
included a relatively large number of XFS updates.  There were two security&lt;br /&gt;
fixes, a small one to prevent swapext to operate on write-only file&lt;br /&gt;
descriptors, and a much larger one to properly validate inode numbers&lt;br /&gt;
coming from NFS clients or userspace applications using the bulkstat or&lt;br /&gt;
the open-by-handle interfaces.  In addition to that another relatively&lt;br /&gt;
large patch fixes the way inodes get reclaimed in the background, and&lt;br /&gt;
avoids inode caches growing out of bounds.&lt;br /&gt;
&lt;br /&gt;
In the meantime the code for the Linux 2.6.36 got the last touches before&lt;br /&gt;
the expected opening of the merge window, by merging a few more last&lt;br /&gt;
minute fixes and cleanups.  The most notable one is a patch series&lt;br /&gt;
that fixes in-memory corruption when concurrently accessing unwritten&lt;br /&gt;
extents using the in-kernel AIO code.&lt;br /&gt;
&lt;br /&gt;
The userspace side was still quite slow, but some a bit more activity&lt;br /&gt;
than June.  In xfsprogs the xfs_db code grew two bug fixes, as did&lt;br /&gt;
the xfs_io script.  The xfstests package saw one new test cases and&lt;br /&gt;
various fixes to existing code.  Last but not least a few patches&lt;br /&gt;
affecting the build system for all userspace tools were committed.&lt;br /&gt;
&lt;br /&gt;
== XFS status update for June 2010 ==&lt;br /&gt;
&lt;br /&gt;
The month of June saw a few important bug fixes for the Linux 2.6.35&lt;br /&gt;
release candidates.  That includes ensuring that files used for the&lt;br /&gt;
swapext ioctl are writable to the user, and doing proper validation&lt;br /&gt;
of inodes coming from untrusted sources, such as NFS exporting and&lt;br /&gt;
the open by handle system calls.  The main work however has been&lt;br /&gt;
focused on development for the Linux 2.6.36 merge window, including&lt;br /&gt;
merging various patches that have been out on the mainline list&lt;br /&gt;
for a long time.  Highlights include further performance improvements&lt;br /&gt;
for sync heavy metadata workloads, stack space reduction in the&lt;br /&gt;
writeback path and improvements of the XFS tracing infrastructure.&lt;br /&gt;
Also after some discussion the remaining hooks for DMAPI are going&lt;br /&gt;
to be dropped in mainline.   As a replacement a tree containing&lt;br /&gt;
full DMAPI support with a slightly cleaner XFS interaction will be&lt;br /&gt;
hosted by SGI.&lt;br /&gt;
&lt;br /&gt;
On the userspace side June was a rather slow month, with no updates&lt;br /&gt;
to xfsprogs and xfsdump at all, and just one new test case and a cleanup&lt;br /&gt;
applied to xfstests.&lt;br /&gt;
&lt;br /&gt;
== XFS status update for May 2010 ==&lt;br /&gt;
&lt;br /&gt;
In May 2010 we saw the long awaited release of Linux 2.6.34, which includes&lt;br /&gt;
a large XFS update.  The most important features appearing in 2.6.34 was the&lt;br /&gt;
new inode and quota flushing code, which leads to much better I/O patterns&lt;br /&gt;
for metadata-intensive workloads.  Additionally support for synchronous NFS&lt;br /&gt;
exports has been improved to give much better performance, and performance&lt;br /&gt;
for the fsync, fdatasync and sync system calls has been improved slightly.&lt;br /&gt;
A bug when resizing extremely busy filesystems has been fixed, which required&lt;br /&gt;
extensive modification to the data structure used for looking up the&lt;br /&gt;
per-allocation group data.  Last but not least there was a steady flow of&lt;br /&gt;
minor bug fixes and cleanups, leading to the following diffstat from&lt;br /&gt;
2.6.33 to 2.6.34:&lt;br /&gt;
&lt;br /&gt;
  86 files changed, 3209 insertions(+), 3178 deletions(-)&lt;br /&gt;
&lt;br /&gt;
Meanwhile active development aimed at 2.6.35 merge progressed.  The&lt;br /&gt;
major feature for this window is the merge of the delayed logging code,&lt;br /&gt;
which adds a new logging mode that dramatically reduces the bandwidth&lt;br /&gt;
required for log I/O.  See the &lt;br /&gt;
[http://git.kernel.org/?p=linux/kernel/git/torvalds/linux-2.6.git;a=blob;f=Documentation/filesystems/xfs-delayed-logging-design.txt;h=96d0df28bed323d5596fc051b0ffb96ed8e3c8df;hb=HEAD documentation] for details.  Testers&lt;br /&gt;
for this new code are welcome.&lt;br /&gt;
&lt;br /&gt;
In userland xfsprogs saw the long awaited 3.1.2 release, which can be&lt;br /&gt;
considered a bug fix release for xfs_repair, xfs_fsr and mkfs.xfs.  After&lt;br /&gt;
the release a few more fixes were merged into the development tree.&lt;br /&gt;
The xfstests package saw various new tests, including many tests to&lt;br /&gt;
exercise the quota code, and a few fixes to existing tests.&lt;br /&gt;
&lt;br /&gt;
== XFS status update for April 2010 ==&lt;br /&gt;
&lt;br /&gt;
In April 2.6.34 still was in the release candidate phase, with&lt;br /&gt;
a hand full of XFS fixes making it into mainline.  Development for&lt;br /&gt;
the 2.6.35 merge window went ahead full steam at the same time.&lt;br /&gt;
&lt;br /&gt;
While a fair amount of patches hit the development tree these were&lt;br /&gt;
largely cleanups, with the real development activity happening on&lt;br /&gt;
the mailing list.  There was another round of patches and following&lt;br /&gt;
discussion on the scalable busy extent tracking and delayed logging&lt;br /&gt;
features mentioned last month.  They are expected to be merged in&lt;br /&gt;
May and queue up for the Linux 2.6.35 window.  Last but not least&lt;br /&gt;
April saw a large number of XFS fixes backported to the 2.6.32 and&lt;br /&gt;
2.6.33 -stable series.&lt;br /&gt;
&lt;br /&gt;
In user land xfsprogs has seen few but important updates, preparing&lt;br /&gt;
for a new release next month.  The xfs_repair tool saw a fix to&lt;br /&gt;
correctly enable the lazy superblock counters on an existing&lt;br /&gt;
filesystem, and xfs_fsr saw updates to better deal with dynamic&lt;br /&gt;
attribute forks.  Last but not a least a port to Debian GNU/kFreeBSD&lt;br /&gt;
got merged. The xfstests test suite saw two new test cases and various&lt;br /&gt;
smaller fixes.&lt;br /&gt;
&lt;br /&gt;
== XFS status update for March 2010 ==&lt;br /&gt;
&lt;br /&gt;
The merge window for Linux 2.6.34 closed in the first week of March,&lt;br /&gt;
with the important XFS features already landing in February.  Not&lt;br /&gt;
surprisingly the XFS merge activity in March has been rather slow,&lt;br /&gt;
with only about a dozen bug fixes patches making it towards Linus&#039;&lt;br /&gt;
tree in that time.&lt;br /&gt;
&lt;br /&gt;
On the other hand active development for the 2.6.35 merge window has&lt;br /&gt;
been very active.  Most importantly there was a lot of work on the&lt;br /&gt;
transaction and log subsystems.  Starting with a large patchset to&lt;br /&gt;
clean up and refactor the transaction subsystem and introducing more&lt;br /&gt;
flexible I/O containers in the low-level logging code work is&lt;br /&gt;
progressing to a new, more efficient logging implementation.  While&lt;br /&gt;
this preparatory work has already been merged in the development tree,&lt;br /&gt;
the actual delayed logging implementation still needs more work after&lt;br /&gt;
the initial public posting.  The delayed logging implementation which&lt;br /&gt;
is very briefly modeled after the journaling mode in the ext3/4&lt;br /&gt;
and reiserfs filesystems allows to accumulated multiple asynchronous&lt;br /&gt;
transactions in memory instead of possibly writing them out&lt;br /&gt;
many times.  Using the new delayed logging mechanism I/O bandwidth&lt;br /&gt;
used for the log decreases by orders of magnitude and performance&lt;br /&gt;
on metadata intensive workloads increases massively.&lt;br /&gt;
&lt;br /&gt;
In addition to that a new version of the discard (aka TRIM) support&lt;br /&gt;
has been posted, this time entirely contained in kernel space&lt;br /&gt;
and without the need of a userspace utility to drive it.  Last but&lt;br /&gt;
not least the usual steady stream of cleanups and bug fixes has not&lt;br /&gt;
ceased this month either.&lt;br /&gt;
&lt;br /&gt;
Besides the usual flow of fixes and new test cases in the xfstests&lt;br /&gt;
test suite development on the userspace side has been rather slow.&lt;br /&gt;
Xfsprogs has only seen a single fix for SMP locking in xfs_repair&lt;br /&gt;
and support for building on Debian GNU/kFreeBSD, and xfsdump&lt;br /&gt;
has seen no commit at all.&lt;br /&gt;
&lt;br /&gt;
== XFS status update for February 2010 ==&lt;br /&gt;
&lt;br /&gt;
February saw the release of the Linux 2.6.33 kernel, which includes&lt;br /&gt;
a large XFS update.  The biggest user-visible change in Linux 2.6.33&lt;br /&gt;
is that XFS now support the generic Linux trace event infrastructure,&lt;br /&gt;
which allows tracing lots of XFS behavior with a normal production&lt;br /&gt;
built kernel.  Except for this Linux 2.6.33 has been mostly a bug-fix&lt;br /&gt;
release, fixing various user reported bugs in previous releases.&lt;br /&gt;
The total diffstat for XFS in Linux 2.6.33 looks like:&lt;br /&gt;
&lt;br /&gt;
  84 files changed, 3023 insertions(+), 3550 deletions(-)&lt;br /&gt;
&lt;br /&gt;
In addition to that the merge window for Linux 2.6.34 opened and the&lt;br /&gt;
first merge of the XFS tree made it into Linus tree.  Unlike Linux&lt;br /&gt;
2.6.33 this merge window includes major feature work.  The most&lt;br /&gt;
important change for users is a new algorithm for inode and quota&lt;br /&gt;
writeback that leads to better I/O locality and improved metadata&lt;br /&gt;
performance.  The second big change is a rewrite of the per-allocation&lt;br /&gt;
group data lookup which fixes a long-standing problem in the code&lt;br /&gt;
to grow a life filesystem and will also ease future filesystem&lt;br /&gt;
shrinking support.  Not merged through the XFS tree, but of great&lt;br /&gt;
importance for embedded users is a new API that allows XFS to properly&lt;br /&gt;
flush cache lines on it&#039;s log and large directory buffers, making&lt;br /&gt;
XFS work properly on architectures with virtually indexed caches,&lt;br /&gt;
such as parisc and various arm and mips variants.  Last but not&lt;br /&gt;
least there is an above average amount of cleanups that went into&lt;br /&gt;
Linus tree in this cycle.&lt;br /&gt;
&lt;br /&gt;
There have been more patches on the mailing list that haven&#039;t made&lt;br /&gt;
it to Linus tree yet, including an optimized implementation of&lt;br /&gt;
fdatasync(2) and massive speedups for metadata workloads on&lt;br /&gt;
NFS exported XFS filesystems.&lt;br /&gt;
&lt;br /&gt;
On the userspace side February has been a relatively quiet month.&lt;br /&gt;
Lead by xfstests only a moderate amount of fixes made it into&lt;br /&gt;
the respective trees.&lt;br /&gt;
&lt;br /&gt;
== XFS status update for January 2010 ==&lt;br /&gt;
&lt;br /&gt;
January saw additional release candidates of the Linux 2.6.33 kernel,&lt;br /&gt;
including a couple of bug fixes for XFS.  In the meantime the XFS tree&lt;br /&gt;
has been growing a large number of patches destined for the Linux 2.6.34&lt;br /&gt;
merge window: a large rework of the handling of per-AG data, support for&lt;br /&gt;
the quota netlink interface, and better power saving behavior of the&lt;br /&gt;
XFS kernel threads, and of course various cleanups.&lt;br /&gt;
&lt;br /&gt;
A large patch series to replace the current asynchronous inode writeback&lt;br /&gt;
with a new scheme that uses the delayed write buffers was posted to&lt;br /&gt;
the list.  The new scheme, which allows archive better I/O locality by&lt;br /&gt;
dispatching meta-data I/O from a single place has been discussed&lt;br /&gt;
extensively and is expected to be merged in February.&lt;br /&gt;
&lt;br /&gt;
On the userspace side January saw the 3.1.0 and 3.1.1 releases of xfsprogs,&lt;br /&gt;
as well as the 3.0.4 release of xfsdump.  The biggest changes in xfsprogs&lt;br /&gt;
3.1.0 were optimizations in xfs_repair that lead to a much lower memory&lt;br /&gt;
usage, and optional use of the blkid library for filesystem detection&lt;br /&gt;
and retrieving storage topology information.  The 3.1.1 release contained&lt;br /&gt;
various important bug fixes for these changes and a various improvements to&lt;br /&gt;
the build system.  The major feature of xfsdump 3.0.4 were fixes for&lt;br /&gt;
time stamp handling on 64-bit systems.&lt;br /&gt;
&lt;br /&gt;
The xfstests package also lots of activity including various new testcases&lt;br /&gt;
and an improved build system.&lt;br /&gt;
&lt;br /&gt;
== XFS status update for December 2009 ==&lt;br /&gt;
&lt;br /&gt;
December finally saw the long awaited release of Linux 2.6.32, which for&lt;br /&gt;
XFS is mostly a bug fix release, with the major changes being various&lt;br /&gt;
improvement to the sync path, including working around the expectation&lt;br /&gt;
from the grub boot loader where metadata is supposed to be after a sync()&lt;br /&gt;
system call.  Together with a refactoring of the inode allocator this&lt;br /&gt;
gives a nice diffstat for this kernel release:&lt;br /&gt;
&lt;br /&gt;
 46 files changed, 767 insertions(+), 1048 deletions(-)&lt;br /&gt;
&lt;br /&gt;
In the meantime development for the 2.6.33 has been going strong.  The&lt;br /&gt;
new event tracing code that allows to observe the inner workings of XFS&lt;br /&gt;
in production systems has finally been merged, with another patch to&lt;br /&gt;
reduce the size of the tracing code by using new upstream kernel features&lt;br /&gt;
posted for review.  Also a large patch series has been posted which&lt;br /&gt;
changes per-AG data to be looked up by a radix tree instead of the&lt;br /&gt;
existing array.  This works around possible deadlocks and user after&lt;br /&gt;
free issues during growfs, and prepares for removing a global (shared)&lt;br /&gt;
lock from the free space allocators.  In addition to that a wide range&lt;br /&gt;
of fixes has been posted and applied.&lt;br /&gt;
&lt;br /&gt;
Work on the userspace packages has been just as busy.  In mkfs.xfs the&lt;br /&gt;
lazy superblock counter feature has now been enabled by default for the&lt;br /&gt;
upcoming xfsprogs 3.1.0 release, which will require kernel 2.6.22 for&lt;br /&gt;
the default mkfs invocation.  Also for mkfs.xfs as patch was posted&lt;br /&gt;
to correct the automatic detection of 4 kilobyte sector drivers which&lt;br /&gt;
are expected to show up in large quantities the real work soon.  The&lt;br /&gt;
norepair mode in xfs_repair has been enhanced with additional freespace&lt;br /&gt;
btree correction checks from xfs_db and is now identical to xfs_check in&lt;br /&gt;
filesystem consistency checking coverage.  A temporary file permission&lt;br /&gt;
problems has been fixed in xfs_fsr, and the libhandle library has been&lt;br /&gt;
fixed to better deal with symbolic links.  In xfs_io a few commands&lt;br /&gt;
that were added years ago have finally been wired up to actually be&lt;br /&gt;
usable.  And last but not least xfsdump saw a fix to the time stamp&lt;br /&gt;
handling in the backup format and some usability and documentation&lt;br /&gt;
improvements to xfsinvutil.&lt;br /&gt;
&lt;br /&gt;
== XFS status update for November 2009 ==&lt;br /&gt;
&lt;br /&gt;
November was a relatively slow month for XFS development.  The XFS tree&lt;br /&gt;
that is destined for the Linux 2.6.33 merge window saw a few fixes and&lt;br /&gt;
cleanups applied to it, and few important fixes still made it into the&lt;br /&gt;
last Linux 2.6.32 release candidates.  A few more patches including a&lt;br /&gt;
final version of the event tracing support for XFS were posted but not&lt;br /&gt;
reviewed yet.&lt;br /&gt;
&lt;br /&gt;
On the userspace side there has been a fair amount of xfsprogs activity.&lt;br /&gt;
The repair speedup patches have finally been merged into the main development&lt;br /&gt;
branch and a couple of other fixes to the various utilities made it in, too.&lt;br /&gt;
The xfstests test suite saw another new regression test suite and a build&lt;br /&gt;
system fix up.&lt;br /&gt;
&lt;br /&gt;
== XFS status update for October 2009 ==&lt;br /&gt;
In October we saw the Linux 2.6.32 merge window with a major XFS update.&lt;br /&gt;
This update includes a refactoring of the inode allocator which also&lt;br /&gt;
allows for speedups for very large filesystems, major sync fixes, updates&lt;br /&gt;
to the fsync and O_SYNC handling which merge the two code paths into a single&lt;br /&gt;
and more efficient one, a workaround for the VFS time stamp behavior,&lt;br /&gt;
and of course various smaller fixes.  A couple of additional fixes have been&lt;br /&gt;
queued up for the next merge window.&lt;br /&gt;
&lt;br /&gt;
On the userspace side there has been a healthy activity on xfsprogs:  mkfs can&lt;br /&gt;
now discard unused sectors on SSDs and thinly provisioned storage devices and&lt;br /&gt;
use the more generic libblkid for topology information and filesystems detection&lt;br /&gt;
instead of the older libdisk, and the build system gained some updates to&lt;br /&gt;
make the source package generation simpler and shared for different package&lt;br /&gt;
types.  A patch has been out to the list but yet committed to add symbol&lt;br /&gt;
versioning to the libhandle library to make future ABI additions easier.&lt;br /&gt;
The xfstests package only saw some minor activity with a new test case&lt;br /&gt;
and small build system fixes.&lt;br /&gt;
&lt;br /&gt;
New minor releases of xfsprogs and xfsdump were tagged but not formally&lt;br /&gt;
released after additional discussion.  Instead a new major xfsprogs release&lt;br /&gt;
is planned for next month.&lt;br /&gt;
&lt;br /&gt;
== XFS status update for September 2009 ==&lt;br /&gt;
&lt;br /&gt;
In September the Linux 2.6.31 kernel was finally released, including another&lt;br /&gt;
last minute XFS fix for the swapext (defragmentation) compat ioctl handler.&lt;br /&gt;
The final patch from 2.6.30 to 2.6.31 shows the following impressive diffstat&lt;br /&gt;
for XFS:&lt;br /&gt;
&lt;br /&gt;
   55 files changed, 1476 insertions(+), 2269 deletions(-)&lt;br /&gt;
&lt;br /&gt;
The 2.6.32 merge window started with a large XFS merge that included changes&lt;br /&gt;
to the inode allocator, and a few smaller fixes.  New versions of the sync&lt;br /&gt;
and time stamp fixes as well as the event tracing support have been posted&lt;br /&gt;
in September but not yet merged into the XFS development tree and/or mainline.&lt;br /&gt;
&lt;br /&gt;
On the userspace side a large patch series to reduce the memory usage in&lt;br /&gt;
xfs_repair to acceptable levels was posted, but not yet merged.  A new xfs_df&lt;br /&gt;
shell script to measure use of the on disk space was posted but not yet&lt;br /&gt;
merged pending some minor review comments and a missing man page.  In addition&lt;br /&gt;
we saw the usual amount of smaller fixes and cleanups.&lt;br /&gt;
&lt;br /&gt;
Also this month Felix Blyakher resigned from his post as XFS maintainer and handed off to Alex Elder.&lt;br /&gt;
&lt;br /&gt;
== XFS status update for August 2009 ==&lt;br /&gt;
&lt;br /&gt;
In August the Linux 2.6.31 kernel has still been in the release candidate&lt;br /&gt;
stage, but a couple of important XFS fixes made it in time for the release,&lt;br /&gt;
including a fix for the inode cache races with NFS workloads that have&lt;br /&gt;
plagued us for a long time.&lt;br /&gt;
&lt;br /&gt;
The list saw various patches destined for the Linux 2.6.32 merge window,&lt;br /&gt;
including a merge of the fsync and O_SYNC handling code to address various&lt;br /&gt;
issues with the latter, a workaround for deficits in the timestamp handling&lt;br /&gt;
interface between the VFS and filesystems, a repost of the sync improvements&lt;br /&gt;
patch series and various smaller patches.&lt;br /&gt;
&lt;br /&gt;
August also saw the minor 3.0.3 release of xfsprogs which collects smaller&lt;br /&gt;
fixes to the various tools and most importantly a fix to allow xfsprogs to&lt;br /&gt;
work again on SPARC and other strict alignment handling which regressed a&lt;br /&gt;
few releases ago.  The xfstests repository saw a few new test cases and a&lt;br /&gt;
various small improvements.&lt;br /&gt;
&lt;br /&gt;
== XFS status update for July 2009 ==&lt;br /&gt;
&lt;br /&gt;
As a traditional summer vacation month July has not seen a lot of XFS&lt;br /&gt;
activity.  The mainline 2.6.31 kernel made it to the 5th release candidate&lt;br /&gt;
but besides a few kernel-wide patches touching XFS the only activity were&lt;br /&gt;
two small patches fixing a bug in FIEMAP and working around writeback&lt;br /&gt;
performance problems in the VM.&lt;br /&gt;
&lt;br /&gt;
A few more patches were posted to the list but haven&#039;t been merged yet.&lt;br /&gt;
Two big patch series deal with theoretically possible deadlocks due to&lt;br /&gt;
locks taken in reclaim contexts, which are now detected by lockdep.&lt;br /&gt;
&lt;br /&gt;
The pace on the userspace side has been slow.  There have been a couple&lt;br /&gt;
of fixes to xfs_repair and xfs_db, and xfstests grew a few more testcases.&lt;br /&gt;
&lt;br /&gt;
== XFS status update for June 2009 ==&lt;br /&gt;
&lt;br /&gt;
On June 9th we finally saw the release of Linux 2.6.30.  For XFS&lt;br /&gt;
this release mostly contains the improved ENOSPC handling, but also&lt;br /&gt;
various smaller bugfixes and lots of cleanups.  The code size of XFS&lt;br /&gt;
decreased again by 500 lines of code in this release.&lt;br /&gt;
&lt;br /&gt;
The Linux 2.6.31 merge opened in the mid of the month and some big XFS&lt;br /&gt;
changes have been pushed: A removal of the quotaops&lt;br /&gt;
infrastructure which simplifies the quota implementation, the switch&lt;br /&gt;
from XFS&#039;s own Posix ACL implementation to the generic one shared&lt;br /&gt;
by various other filesystems which also supports in-memory caching of&lt;br /&gt;
ACLs and another incremental refactoring of the sync code.&lt;br /&gt;
&lt;br /&gt;
A patch to better track dirty inodes and work around issues in the&lt;br /&gt;
way the VFS updates the access time stamp on inodes has been reposted&lt;br /&gt;
and discussed. Another patch to converting the existing XFS tracing&lt;br /&gt;
infrastructure to use the ftrace even tracer has been posted.&lt;br /&gt;
&lt;br /&gt;
On the userspace side there have been a few updates to xfsprogs, including&lt;br /&gt;
some repair fixes and a new fallocate command for xfs_io.  There were&lt;br /&gt;
major updates for xfstests:  The existing aio-dio-regress testsuite has&lt;br /&gt;
been merged into xfstests, and various changes went into the tree to make&lt;br /&gt;
xfstests better suitable for use with other filesystems.&lt;br /&gt;
&lt;br /&gt;
The attr and acl projects which have been traditionally been hosted&lt;br /&gt;
as part of the XFS userspace utilities have now been split into a separate&lt;br /&gt;
project maintained by Andreas Gruenbacher, who has been doing most of&lt;br /&gt;
the work on it, and moved to the Savannah hosting platform.&lt;br /&gt;
&lt;br /&gt;
== XFS status update for May 2009 ==&lt;br /&gt;
&lt;br /&gt;
In May Linux 2.6.30 was getting close to be released, and various&lt;br /&gt;
important XFS fixes made it during the latest release candidates.&lt;br /&gt;
In the meantime some big patch series to rework the sync code and&lt;br /&gt;
the inode allocator have been posted for the next merge window.&lt;br /&gt;
&lt;br /&gt;
On the userspace side xfsprogs and xfsdump 3.0.1 were finally released,&lt;br /&gt;
quickly followed by 3.0.2 releases with updated Debian packaging.&lt;br /&gt;
After that various small patches that were held back made it into xfsprogs.&lt;br /&gt;
A patch to add the xfs_reno tool which allows to move inodes around to&lt;br /&gt;
fit into 32 bit inode number space has been posted which is also one&lt;br /&gt;
central aspect of future online shrinking support.&lt;br /&gt;
&lt;br /&gt;
There has been major activity on xfstests including adding generic&lt;br /&gt;
filesystems support to allow running tests that aren&#039;t XFS-specific on&lt;br /&gt;
any Linux filesystems.&lt;br /&gt;
&lt;br /&gt;
== XFS status update for April 2009 ==&lt;br /&gt;
&lt;br /&gt;
In April development for Linux 2.6.30 was in full motion.  A patchset to correct flushing of delayed allocations with near full filesystems has been committed in early April, as well as various smaller fixes. A patch series to improve the behavior of sys_sync has been posted but is waiting for VFS changes queued for Linux 2.6.31.&lt;br /&gt;
&lt;br /&gt;
On the userspace side xfsprogs and xfsdump 3.0.1 have managed to split their release dates into May again after a lot of last-minute build system updates.&lt;br /&gt;
&lt;br /&gt;
== XFS status update for March 2009 ==&lt;br /&gt;
&lt;br /&gt;
Linux 2.6.29 has been released which includes major XFS updates like the&lt;br /&gt;
new generic btree code, a fully functional 32bit compat ioctl implementation&lt;br /&gt;
and the new combined XFS and Linux inode.  (See previous status reports&lt;br /&gt;
for more details). A patch series to improve correctness and performance&lt;br /&gt;
has been posted but not yet applied.  Various minor fixes and cleanups&lt;br /&gt;
have been sent to Linus for 2.6.30 which looks like it will be a minor&lt;br /&gt;
release for XFS after the big churn in 2.6.29.&lt;br /&gt;
&lt;br /&gt;
On userspace a lot of time has been spent on fixing and improving the&lt;br /&gt;
build system shared by the various XFS utilities as well as various smaller&lt;br /&gt;
improvements leading to the xfsprogs and xfsdump 3.0.1 releases which are&lt;br /&gt;
still outstanding.&lt;br /&gt;
&lt;br /&gt;
== XFS status update for February 2009 ==&lt;br /&gt;
&lt;br /&gt;
In February various smaller fixes have been sent to Linus for 2.6.29,&lt;br /&gt;
including a revert of the faster vmap APIs which don&#039;t seem to be quite&lt;br /&gt;
ready yet on the VM side.  At the same time various patches have been&lt;br /&gt;
queued up for 2.6.30, with another big batch pending.  There also has&lt;br /&gt;
been a repost of the CRC patch series, including support for a new,&lt;br /&gt;
larger inode core.&lt;br /&gt;
&lt;br /&gt;
SGI released various bits of work in progress from former employees&lt;br /&gt;
that will be extremely helpful for the future development of XFS,&lt;br /&gt;
thanks a lot to Mark Goodwin for making this happen.&lt;br /&gt;
&lt;br /&gt;
On the userspace side the long awaited 3.0.0 releases of xfsprogs and&lt;br /&gt;
xfsdump finally happened early in the month, accompanied by a 2.2.9&lt;br /&gt;
release of the dmapi userspace.  There have been some issues with packaging&lt;br /&gt;
so a new minor release might follow soon.&lt;br /&gt;
&lt;br /&gt;
The xfs_irecover tool has been relicensed so that it can be merged into&lt;br /&gt;
the GPLv2 codebase of xfsprogs, but the actual integration work hasn&#039;t&lt;br /&gt;
happened yet.&lt;br /&gt;
&lt;br /&gt;
Important bits of XFS documentation that have been available on the XFS&lt;br /&gt;
website in PDF form have been released in the document source form under&lt;br /&gt;
the Creative Commons license so that they can be updated as a community&lt;br /&gt;
effort, and checked into a public git tree.&lt;br /&gt;
&lt;br /&gt;
== XFS status update for January 2009 ==&lt;br /&gt;
&lt;br /&gt;
January has been an extremely busy month on the userspace front.  Many&lt;br /&gt;
smaller and medium updates went into xfsprogs, xfstests and to a lesser&lt;br /&gt;
extent xfsdump.  xfsprogs and xfsdump are ramping up for getting a 3.0.0&lt;br /&gt;
release out in early February which will include the first major re-sync&lt;br /&gt;
with the kernel code in libxfs, a cleanup of the exported library interfaces&lt;br /&gt;
and the move of two tools (xfs_fsr and xfs_estimate) from the xfsdump&lt;br /&gt;
package to xfsprogs.  After this the xfsprogs package will contain all&lt;br /&gt;
tools that use internal libxfs interfaces which fortunately equates to those&lt;br /&gt;
needed for normal administration.  The xfsdump package now only contains&lt;br /&gt;
the xfsdump/xfsrestore tools needed for backing up and restoring XFS&lt;br /&gt;
filesystems.  In addition it grew a fix to support dump/restore on systems&lt;br /&gt;
with a 64k page size.  A large number of acl/attr package patches was&lt;br /&gt;
posted to the list, but pending a possible split of these packages from the&lt;br /&gt;
XFS project these weren&#039;t processed yet.&lt;br /&gt;
&lt;br /&gt;
On the kernel side the big excitement in January was an in-memory corruption&lt;br /&gt;
introduced in the btree refactoring which hit people running 32bit platforms&lt;br /&gt;
without support for large block devices.  This issue was fixed and pushed&lt;br /&gt;
to the 2.6.29 development tree after a long collaborative debugging effort&lt;br /&gt;
at linux.conf.au.  Besides that about a dozen minor fixes were pushed to&lt;br /&gt;
2.6.29 and the first batch of misc patches for the 2.6.30 release cycle&lt;br /&gt;
was sent out.&lt;br /&gt;
&lt;br /&gt;
At the end of December the SGI group in Melbourne which the previous&lt;br /&gt;
XFS maintainer and some other developers worked for has been closed down&lt;br /&gt;
and they will be missed greatly.  As a result maintainership has been passed&lt;br /&gt;
on in a way that has been slightly controversial in the community, and the&lt;br /&gt;
first patchset of work in progress in Melbourne have been posted to the list&lt;br /&gt;
to be picked up by others.&lt;br /&gt;
&lt;br /&gt;
The xfs.org wiki has gotten a little facelift on it&#039;s front page making it&lt;br /&gt;
a lot easier to read.&lt;br /&gt;
&lt;br /&gt;
== XFS status update for December 2008 ==&lt;br /&gt;
&lt;br /&gt;
On Christmas Eve the 2.6.28 mainline kernel was release, with only minor XFS&lt;br /&gt;
bug fixes over 2.6.27.&lt;br /&gt;
&lt;br /&gt;
On the development side December has been busy but unspectacular month.&lt;br /&gt;
All lot of misc fixes and improvements have been sent out, tested and committed&lt;br /&gt;
especially on the user land side.&lt;br /&gt;
&lt;br /&gt;
== XFS status update for November 2008 ==&lt;br /&gt;
&lt;br /&gt;
The mainline kernel is now at 2.6.28-rc6 and includes a small number of&lt;br /&gt;
XFS fixes.  There have been no updates to the XFS development tree during&lt;br /&gt;
November.  Without new regressions that large number of changes that&lt;br /&gt;
missed 2.6.28 has thus stabilized to be ready for 2.6.29.  In the meantime&lt;br /&gt;
kernel-side development has been slow, with the only major patch set&lt;br /&gt;
being a wide number of fixes to the compatibility for 32 bit ioctls on&lt;br /&gt;
a 64 bit kernel.&lt;br /&gt;
&lt;br /&gt;
In the meantime there has been a large number of commits to the user space&lt;br /&gt;
tree, which mostly consist of smaller fixes.  xfsprogs is getting close&lt;br /&gt;
to have the 3.0.0 release which will be the first full resync with the&lt;br /&gt;
kernel sources since the year 2005.&lt;br /&gt;
&lt;br /&gt;
== XFS status update for October 2008 ==&lt;br /&gt;
&lt;br /&gt;
Linux 2.6.27 released with all the bits covered in last month&#039;s report.  It&lt;br /&gt;
did however miss two important fixes for regressions that a few people hit.&lt;br /&gt;
2.6.27.3 or later are recommended for use with XFS.&lt;br /&gt;
&lt;br /&gt;
In the meantime the generic btree implementation, the sync reorganization&lt;br /&gt;
and after a lot of merge pain the XFS and VFS inode unification hit the&lt;br /&gt;
development tree during the time allocated for the merge window.  No XFS&lt;br /&gt;
updates other than the two regression fixes also in 2.6.27.3 have made it&lt;br /&gt;
into mainline as of 2.6.28-rc3.&lt;br /&gt;
&lt;br /&gt;
The only new feature on the list in October is support for the fiemap&lt;br /&gt;
interface that has been added to the VFS during the 2.6.28 merge window.&lt;br /&gt;
However there was lot of patch traffic consisting of fixes and respun&lt;br /&gt;
versions of previously known patches.  There still is a large backlog of&lt;br /&gt;
patches on the list that is not applied to the development tree yet.&lt;br /&gt;
&lt;br /&gt;
== XFS status update for September 2008 ==&lt;br /&gt;
&lt;br /&gt;
With Linux 2.6.27 still not released but only making slow progress from 2.6.27-rc5 to 2.6.27-rc8 XFS changes in mainline have been minimal in September with only about half a dozen bug fixes patches.&lt;br /&gt;
&lt;br /&gt;
In the meantime the generic btree patch set has been committed to the development tree, but not many other updates yet. On the user space side xfsprogs 2.10.1 has been released on September 5th with a number of important bug fixes. Following the release of xfsprogs 2.10.1 open season for development of the user space code has started. The first full update of the shared kernel / user space code in libxfs since 2005 has been committed. In addition to that the number of headers installed for the regular devel package has been reduced to the required minimum and support for checking the source code for endianess errors using sparse has been added.&lt;br /&gt;
&lt;br /&gt;
The patch sets to unify the XFS and Linux inode structures, and rewrite various bits of the sync code have seen various iterations on the XFS list, but haven&#039;t been committed yet. A first set of patches implementing CRCs for various metadata structures has been posted to the list.&lt;br /&gt;
&lt;br /&gt;
== XFS status update for August 2008 ==&lt;br /&gt;
&lt;br /&gt;
With the 2.6.27-rc5 release the 2.6.27 cycle is nearing it&#039;s end. The major XFS feature in 2.6.27-rc5 is support for case-insensitive file names. At this point it is still limited to 7bit ASCII file names, with updates for utf8 file names expected to follow later. In addition to that 2.6.27-rc5 fixes a long-standing problem with non-EABI arm compiler which pack some XFS data structures wrongly. Besides this 2.6.27-rc5 also contains various cleanups, most notably the removal of the last bhv_vnode_t instances, and most uses of semaphores. As usual the diffstat for XFS from 2.6.26 to 2.6.26-rc5 is negative:&lt;br /&gt;
&lt;br /&gt;
       100 files changed, 3819 insertions(+), 4409 deletions(-)&lt;br /&gt;
&lt;br /&gt;
On the user space front a new minor xfsprogs version is about to be released containing various fixes including the user space part of arm packing fix.&lt;br /&gt;
&lt;br /&gt;
Work in progress on the XFS mailing list are a large patch set to unify the alloc, inobt and bmap btree implementation into a single that supports arbitrarily pluggable key and record formats. These btree changes are the first major preparation for adding CRC checks to all metadata structures in XFS, and an even larger patch set to unify the XFS and Linux inode structures, and perform all inode write back from the btree uses instead of an inode cache in XFS.&lt;br /&gt;
&lt;br /&gt;
== Updates before 2008 ==&lt;br /&gt;
&lt;br /&gt;
News up to 2007 can be found on a separate page: [[OLD_News]]&lt;/div&gt;</summary>
		<author><name>Hch</name></author>
	</entry>
	<entry>
		<id>https://xfs.org/index.php?title=Main_Page&amp;diff=2256</id>
		<title>Main Page</title>
		<link rel="alternate" type="text/html" href="https://xfs.org/index.php?title=Main_Page&amp;diff=2256"/>
		<updated>2011-03-15T17:06:32Z</updated>

		<summary type="html">&lt;p&gt;Hch: Protected &amp;quot;Main Page&amp;quot; [edit=autoconfirmed:move=autoconfirmed]&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;!-- Welcome &lt;br /&gt;
&amp;lt;div style=&amp;quot;margin:0; margin-top:10px; margin-right:10px; border:1px solid #dfdfdf; padding:0 1em 1em 1em; background-color:#C5C5FF; align:right;&amp;quot;&amp;gt;&lt;br /&gt;
Welcome to XFS.org. This site is set up to help with the XFS file system.&amp;lt;/div&amp;gt;&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
{| width=&amp;quot;100%&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;vertical-align:top&amp;quot; |&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Information --&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin:0; margin-top:10px; margin-right:10px; border:1px solid #dfdfdf; padding:0 1em 1em 1em; background-color:#E2EAFF; align:right;&amp;quot;&amp;gt;&lt;br /&gt;
== Information about XFS ==&lt;br /&gt;
&lt;br /&gt;
* [[XFS FAQ]]&lt;br /&gt;
* [[XFS Status Updates]]&lt;br /&gt;
* [[XFS Papers and Documentation]]&lt;br /&gt;
* [[Linux Distributions shipping XFS]]&lt;br /&gt;
* [[XFS Rpm for RedHat|XFS RPMs for RedHat]]&lt;br /&gt;
* [[XFS Companies]]&lt;br /&gt;
* [http://oss.sgi.com/projects/xfs SGI XFS website]&lt;br /&gt;
* [http://en.wikipedia.org/wiki/XFS Wikipedia XFS page]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Consulting --&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin:0; margin-top:10px; margin-right:10px; border:1px solid #dfdfdf; padding:0 1em 1em 1em; background-color:#fffff0; align:right; &amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Professional XFS Consulting Services == &lt;br /&gt;
&lt;br /&gt;
[[Consulting Resources]]&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
| width=&amp;quot;50%&amp;quot; style=&amp;quot;vertical-align:top&amp;quot; |&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Developers --&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin:0; margin-top:10px; margin-right:10px; border:1px solid #dfdfdf; padding:0 1em 1em 1em; background-color:#F8F8FF; align:right;&amp;quot;&amp;gt;&lt;br /&gt;
== XFS Developer Resources ==&lt;br /&gt;
&lt;br /&gt;
* [[XFS email list and archives]]&lt;br /&gt;
* [http://oss.sgi.com/bugzilla/buglist.cgi?product=XFS&amp;amp;bug_status=NEW&amp;amp;bug_status=ASSIGNED&amp;amp;bug_status=REOPENED Bugzilla @ oss.sgi.com]&lt;br /&gt;
* [http://bugzilla.kernel.org/buglist.cgi?product=File+System&amp;amp;component=XFS&amp;amp;bug_status=NEW&amp;amp;bug_status=ASSIGNED&amp;amp;bug_status=REOPENED Bugzilla @ kernel.org]&lt;br /&gt;
* [[Getting the latest source code]]&lt;br /&gt;
* [[Unfinished work]]&lt;br /&gt;
* [[Shrinking Support]]&lt;br /&gt;
* [[Ideas for XFS]]&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{#meta: | u+4/+rib+YG96TifD0SN88xS84YSDm2cl61IU7ZIk9g= | verify-v1 }}&lt;br /&gt;
&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>Hch</name></author>
	</entry>
	<entry>
		<id>https://xfs.org/index.php?title=XFS_Status_Updates&amp;diff=2255</id>
		<title>XFS Status Updates</title>
		<link rel="alternate" type="text/html" href="https://xfs.org/index.php?title=XFS_Status_Updates&amp;diff=2255"/>
		<updated>2011-03-15T17:06:12Z</updated>

		<summary type="html">&lt;p&gt;Hch: Protected &amp;quot;XFS Status Updates&amp;quot; [edit=autoconfirmed:move=autoconfirmed]&lt;/p&gt;
&lt;hr /&gt;
&lt;div&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&#039; tree, and the XFS development tree&lt;br /&gt;
has been similarly quite 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 quite 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&#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&#039;t been committed yet were discussed on the mailing list.&lt;br /&gt;
&lt;br /&gt;
== XFS status update for December 2010 ==&lt;br /&gt;
&lt;br /&gt;
The release process of the Linux 2.6.37 kernel with it&#039;s large XFS updates&lt;br /&gt;
was in it&#039;s final days in December, which explains why we only saw a single&lt;br /&gt;
one-liner regression fix for XFS in Linus&#039; tree.  The XFS development tree&lt;br /&gt;
finally saw some updates when the writeback updates and some small cleanups&lt;br /&gt;
to the allocator and log recovery code were merged, but the large metadata&lt;br /&gt;
scalability updates that have been posted to the list multiple times are&lt;br /&gt;
still missing.  In addition to this on-going work the list also saw patches&lt;br /&gt;
that fix smaller issues, which are also still waiting to be merged.&lt;br /&gt;
&lt;br /&gt;
On the userspace side xfsprogs and xfsdump development has been quit, with&lt;br /&gt;
no commits to either repository in December, although a large series of&lt;br /&gt;
updates to the metadump command has been reposted near the end of the month.&lt;br /&gt;
The xfstests repository saw a new regression test for a btrfs problem,&lt;br /&gt;
and various updates to existing tests.&lt;br /&gt;
&lt;br /&gt;
== XFS status update for November 2010 ==&lt;br /&gt;
&lt;br /&gt;
From looking at the kernel git commits November looked like a pretty&lt;br /&gt;
slow month with just two hand full fixes going into the release candidates&lt;br /&gt;
for Linux 2.6.37, and none at all going into the development tree.&lt;br /&gt;
But in this case git statistics didn&#039;t tell the whole story - there&lt;br /&gt;
was a lot of activity on patches for the next merge window on the list.&lt;br /&gt;
The focus in November was still at metadata scalability, with various&lt;br /&gt;
patchsets that improves parallel creates and unlinks again, and also&lt;br /&gt;
improves 8-way dbench throughput by 30%.  In addition to that there&lt;br /&gt;
were patches to improve preallocation for NFS servers, to simplify&lt;br /&gt;
the writeback code, and to remove the XFS-internal percpu counters&lt;br /&gt;
for free space for the generic kernel percpu counters, which just needed&lt;br /&gt;
a small improvement.&lt;br /&gt;
&lt;br /&gt;
On the user space side we saw the release of xfsprogs 3.1.4, which&lt;br /&gt;
contains various accumulated bug fixes and Debian packaging updates.&lt;br /&gt;
The xfsdump tree saw a large update to speed up restore by using&lt;br /&gt;
mmap for an internal database and remove the limitation of ~ 214&lt;br /&gt;
million directory entries per dump file.  The xfstests test suite&lt;br /&gt;
saw three new testcases and various fixes, including support for the&lt;br /&gt;
hfsplus filesystem.&lt;br /&gt;
&lt;br /&gt;
== XFS status update for October 2010 ==&lt;br /&gt;
&lt;br /&gt;
Near the end of the month we finally saw the release of Linux 2.6.36.&lt;br /&gt;
Just a single fix made it into mainline in this month, showing that the&lt;br /&gt;
stabilization period before has worked very well.&lt;br /&gt;
&lt;br /&gt;
Linux 2.6.36 has been another impressive release for XFS, seeing&lt;br /&gt;
various performance improvements in the new delayed logging code,&lt;br /&gt;
for direct I/O and the sync system call, a few bug fixes, and lots&lt;br /&gt;
of cleanups, resulting in a net removal of over 2000 lines of code:&lt;br /&gt;
&lt;br /&gt;
        89 files changed, 1998 insertions(+), 4279 deletions(-)&lt;br /&gt;
&lt;br /&gt;
The merge window for Linux 2.6.37 opened just a few days after the&lt;br /&gt;
release of Linux 2.6.36 and already contains another large XFS update&lt;br /&gt;
at the end of October.  Highlights of the XFS tree merged into 2.6.37-rc1&lt;br /&gt;
are another large set of metadata scalability patches, support for 32-bit&lt;br /&gt;
wide project IDs, and support for the new XFS_IOC_ZERO_RANGE ioctl,&lt;br /&gt;
which allows to punch a whole and convert it to an unwritten extent&lt;br /&gt;
in a single atomic operation.&lt;br /&gt;
&lt;br /&gt;
The metadata scalability changes improve 8-way fs_mark of 50 million files&lt;br /&gt;
by over 15% and removal of those files by over 100%, with further&lt;br /&gt;
improvements expected by the next round of XFS metadata scalability&lt;br /&gt;
and VFS scalability improvements targeted at Linux 2.6.38.&lt;br /&gt;
&lt;br /&gt;
On the user space side October was a rather quit month for xfsprogs, which&lt;br /&gt;
only saw the addition of 32-bit project ID handling, and a fix for&lt;br /&gt;
parsing the mount table in fsr when used together with disk encryption&lt;br /&gt;
tools.  A few patches for xfsdump were posted on the list, but none&lt;br /&gt;
was applied, leaving the majority of the user space activity to&lt;br /&gt;
xfstests, which saw very active development.  Various patches went&lt;br /&gt;
into xfstests to improve portability to filesystems with a limited&lt;br /&gt;
feature set, and to move more filters to generic code.  In addition&lt;br /&gt;
various cleanups to test cases in test programs were applied.&lt;br /&gt;
&lt;br /&gt;
== XFS status update for September 2010 ==&lt;br /&gt;
&lt;br /&gt;
Mainline activity has been rather low in September while with only&lt;br /&gt;
two more fixes going into the 2.6.36 release candidates after the&lt;br /&gt;
large merge activity in August.  Development for the next merge&lt;br /&gt;
window has been more active.  The largest item was the inclusion&lt;br /&gt;
of the metadata scalability patch series, which provides very large&lt;br /&gt;
speedups for parallel metadata operations.  In addition a new&lt;br /&gt;
ioctl to punch holes and convert the whole to an unwritten extent&lt;br /&gt;
was added and a small number of cleanups also made it into the tree.&lt;br /&gt;
&lt;br /&gt;
Patches to add support for 32bit wide project ID identifiers and&lt;br /&gt;
using group and project quotas concurrently were posted to the list&lt;br /&gt;
and discussed but not yet included.&lt;br /&gt;
&lt;br /&gt;
Userspace development has been rather quited again, with a single fix&lt;br /&gt;
committed to xfsprogs and xfsdump each.  The xfstests test suite grew&lt;br /&gt;
a new test case and received a few additional fixes.  Last but not least&lt;br /&gt;
the [http://xfs.org/docs/xfsdocs-xml-dev/XFS_User_Guide//tmp/en-US/html/index.html XFS Users Guide]&lt;br /&gt;
was updated with various factual corrections and spelling fixes.&lt;br /&gt;
&lt;br /&gt;
== XFS status update for August 2010 ==&lt;br /&gt;
&lt;br /&gt;
At the first of August we finally saw the release of Linux 2.6.35,&lt;br /&gt;
which includes a large XFS update.  The most prominent feature in&lt;br /&gt;
Linux 2.6.35 is the new delayed logging code which provides massive&lt;br /&gt;
speedups for metadata-intensive workloads, but there has been&lt;br /&gt;
a large amount of other fixes and cleanups, leading to the following&lt;br /&gt;
diffstat:&lt;br /&gt;
&lt;br /&gt;
         67 files changed, 4426 insertions(+), 3835 deletions(-)&lt;br /&gt;
&lt;br /&gt;
Given the early release of Linux 2.6.35 the merge window for the&lt;br /&gt;
next release fully fell into the month of August.  The XFS updates&lt;br /&gt;
for Linux 2.6.36 include various additional performance improvements&lt;br /&gt;
in the delayed logging code, for direct I/O writes and for avoiding&lt;br /&gt;
synchronous transactions, as well as various fixed and large amount&lt;br /&gt;
of cleanups, including the removal of the remaining dead DMAPI&lt;br /&gt;
code.&lt;br /&gt;
&lt;br /&gt;
On the userspace side we saw the 3.1.3 release of xfsprogs, which includes&lt;br /&gt;
various smaller fixes, support for the new XFS_IOC_ZERO_RANGE ioctl and&lt;br /&gt;
Debian packaging updates.  The xfstests package saw one new test case&lt;br /&gt;
and a couple of smaller patches, and xfsdump has not seen any updates at&lt;br /&gt;
all.&lt;br /&gt;
&lt;br /&gt;
The XMLified versions of the XFS users guide, training labs and filesystem&lt;br /&gt;
structure documentation are now available as on the fly generated html on&lt;br /&gt;
the xfs.org website and can be found at [[XFS_Papers_and_Documentation|Papers &amp;amp; Documentation]].&lt;br /&gt;
&lt;br /&gt;
== XFS status update for July 2010 ==&lt;br /&gt;
&lt;br /&gt;
July saw three more release candidates for the Linux 2.6.35 kernel, which&lt;br /&gt;
included a relatively large number of XFS updates.  There were two security&lt;br /&gt;
fixes, a small one to prevent swapext to operate on write-only file&lt;br /&gt;
descriptors, and a much larger one to properly validate inode numbers&lt;br /&gt;
coming from NFS clients or userspace applications using the bulkstat or&lt;br /&gt;
the open-by-handle interfaces.  In addition to that another relatively&lt;br /&gt;
large patch fixes the way inodes get reclaimed in the background, and&lt;br /&gt;
avoids inode caches growing out of bounds.&lt;br /&gt;
&lt;br /&gt;
In the meantime the code for the Linux 2.6.36 got the last touches before&lt;br /&gt;
the expected opening of the merge window, by merging a few more last&lt;br /&gt;
minute fixes and cleanups.  The most notable one is a patch series&lt;br /&gt;
that fixes in-memory corruption when concurrently accessing unwritten&lt;br /&gt;
extents using the in-kernel AIO code.&lt;br /&gt;
&lt;br /&gt;
The userspace side was still quite slow, but some a bit more activity&lt;br /&gt;
than June.  In xfsprogs the xfs_db code grew two bug fixes, as did&lt;br /&gt;
the xfs_io script.  The xfstests package saw one new test cases and&lt;br /&gt;
various fixes to existing code.  Last but not least a few patches&lt;br /&gt;
affecting the build system for all userspace tools were committed.&lt;br /&gt;
&lt;br /&gt;
== XFS status update for June 2010 ==&lt;br /&gt;
&lt;br /&gt;
The month of June saw a few important bug fixes for the Linux 2.6.35&lt;br /&gt;
release candidates.  That includes ensuring that files used for the&lt;br /&gt;
swapext ioctl are writable to the user, and doing proper validation&lt;br /&gt;
of inodes coming from untrusted sources, such as NFS exporting and&lt;br /&gt;
the open by handle system calls.  The main work however has been&lt;br /&gt;
focused on development for the Linux 2.6.36 merge window, including&lt;br /&gt;
merging various patches that have been out on the mainline list&lt;br /&gt;
for a long time.  Highlights include further performance improvements&lt;br /&gt;
for sync heavy metadata workloads, stack space reduction in the&lt;br /&gt;
writeback path and improvements of the XFS tracing infrastructure.&lt;br /&gt;
Also after some discussion the remaining hooks for DMAPI are going&lt;br /&gt;
to be dropped in mainline.   As a replacement a tree containing&lt;br /&gt;
full DMAPI support with a slightly cleaner XFS interaction will be&lt;br /&gt;
hosted by SGI.&lt;br /&gt;
&lt;br /&gt;
On the userspace side June was a rather slow month, with no updates&lt;br /&gt;
to xfsprogs and xfsdump at all, and just one new test case and a cleanup&lt;br /&gt;
applied to xfstests.&lt;br /&gt;
&lt;br /&gt;
== XFS status update for May 2010 ==&lt;br /&gt;
&lt;br /&gt;
In May 2010 we saw the long awaited release of Linux 2.6.34, which includes&lt;br /&gt;
a large XFS update.  The most important features appearing in 2.6.34 was the&lt;br /&gt;
new inode and quota flushing code, which leads to much better I/O patterns&lt;br /&gt;
for metadata-intensive workloads.  Additionally support for synchronous NFS&lt;br /&gt;
exports has been improved to give much better performance, and performance&lt;br /&gt;
for the fsync, fdatasync and sync system calls has been improved slightly.&lt;br /&gt;
A bug when resizing extremely busy filesystems has been fixed, which required&lt;br /&gt;
extensive modification to the data structure used for looking up the&lt;br /&gt;
per-allocation group data.  Last but not least there was a steady flow of&lt;br /&gt;
minor bug fixes and cleanups, leading to the following diffstat from&lt;br /&gt;
2.6.33 to 2.6.34:&lt;br /&gt;
&lt;br /&gt;
  86 files changed, 3209 insertions(+), 3178 deletions(-)&lt;br /&gt;
&lt;br /&gt;
Meanwhile active development aimed at 2.6.35 merge progressed.  The&lt;br /&gt;
major feature for this window is the merge of the delayed logging code,&lt;br /&gt;
which adds a new logging mode that dramatically reduces the bandwidth&lt;br /&gt;
required for log I/O.  See the &lt;br /&gt;
[http://git.kernel.org/?p=linux/kernel/git/torvalds/linux-2.6.git;a=blob;f=Documentation/filesystems/xfs-delayed-logging-design.txt;h=96d0df28bed323d5596fc051b0ffb96ed8e3c8df;hb=HEAD documentation] for details.  Testers&lt;br /&gt;
for this new code are welcome.&lt;br /&gt;
&lt;br /&gt;
In userland xfsprogs saw the long awaited 3.1.2 release, which can be&lt;br /&gt;
considered a bug fix release for xfs_repair, xfs_fsr and mkfs.xfs.  After&lt;br /&gt;
the release a few more fixes were merged into the development tree.&lt;br /&gt;
The xfstests package saw various new tests, including many tests to&lt;br /&gt;
exercise the quota code, and a few fixes to existing tests.&lt;br /&gt;
&lt;br /&gt;
== XFS status update for April 2010 ==&lt;br /&gt;
&lt;br /&gt;
In April 2.6.34 still was in the release candidate phase, with&lt;br /&gt;
a hand full of XFS fixes making it into mainline.  Development for&lt;br /&gt;
the 2.6.35 merge window went ahead full steam at the same time.&lt;br /&gt;
&lt;br /&gt;
While a fair amount of patches hit the development tree these were&lt;br /&gt;
largely cleanups, with the real development activity happening on&lt;br /&gt;
the mailing list.  There was another round of patches and following&lt;br /&gt;
discussion on the scalable busy extent tracking and delayed logging&lt;br /&gt;
features mentioned last month.  They are expected to be merged in&lt;br /&gt;
May and queue up for the Linux 2.6.35 window.  Last but not least&lt;br /&gt;
April saw a large number of XFS fixes backported to the 2.6.32 and&lt;br /&gt;
2.6.33 -stable series.&lt;br /&gt;
&lt;br /&gt;
In user land xfsprogs has seen few but important updates, preparing&lt;br /&gt;
for a new release next month.  The xfs_repair tool saw a fix to&lt;br /&gt;
correctly enable the lazy superblock counters on an existing&lt;br /&gt;
filesystem, and xfs_fsr saw updates to better deal with dynamic&lt;br /&gt;
attribute forks.  Last but not a least a port to Debian GNU/kFreeBSD&lt;br /&gt;
got merged. The xfstests test suite saw two new test cases and various&lt;br /&gt;
smaller fixes.&lt;br /&gt;
&lt;br /&gt;
== XFS status update for March 2010 ==&lt;br /&gt;
&lt;br /&gt;
The merge window for Linux 2.6.34 closed in the first week of March,&lt;br /&gt;
with the important XFS features already landing in February.  Not&lt;br /&gt;
surprisingly the XFS merge activity in March has been rather slow,&lt;br /&gt;
with only about a dozen bug fixes patches making it towards Linus&#039;&lt;br /&gt;
tree in that time.&lt;br /&gt;
&lt;br /&gt;
On the other hand active development for the 2.6.35 merge window has&lt;br /&gt;
been very active.  Most importantly there was a lot of work on the&lt;br /&gt;
transaction and log subsystems.  Starting with a large patchset to&lt;br /&gt;
clean up and refactor the transaction subsystem and introducing more&lt;br /&gt;
flexible I/O containers in the low-level logging code work is&lt;br /&gt;
progressing to a new, more efficient logging implementation.  While&lt;br /&gt;
this preparatory work has already been merged in the development tree,&lt;br /&gt;
the actual delayed logging implementation still needs more work after&lt;br /&gt;
the initial public posting.  The delayed logging implementation which&lt;br /&gt;
is very briefly modeled after the journaling mode in the ext3/4&lt;br /&gt;
and reiserfs filesystems allows to accumulated multiple asynchronous&lt;br /&gt;
transactions in memory instead of possibly writing them out&lt;br /&gt;
many times.  Using the new delayed logging mechanism I/O bandwidth&lt;br /&gt;
used for the log decreases by orders of magnitude and performance&lt;br /&gt;
on metadata intensive workloads increases massively.&lt;br /&gt;
&lt;br /&gt;
In addition to that a new version of the discard (aka TRIM) support&lt;br /&gt;
has been posted, this time entirely contained in kernel space&lt;br /&gt;
and without the need of a userspace utility to drive it.  Last but&lt;br /&gt;
not least the usual steady stream of cleanups and bug fixes has not&lt;br /&gt;
ceased this month either.&lt;br /&gt;
&lt;br /&gt;
Besides the usual flow of fixes and new test cases in the xfstests&lt;br /&gt;
test suite development on the userspace side has been rather slow.&lt;br /&gt;
Xfsprogs has only seen a single fix for SMP locking in xfs_repair&lt;br /&gt;
and support for building on Debian GNU/kFreeBSD, and xfsdump&lt;br /&gt;
has seen no commit at all.&lt;br /&gt;
&lt;br /&gt;
== XFS status update for February 2010 ==&lt;br /&gt;
&lt;br /&gt;
February saw the release of the Linux 2.6.33 kernel, which includes&lt;br /&gt;
a large XFS update.  The biggest user-visible change in Linux 2.6.33&lt;br /&gt;
is that XFS now support the generic Linux trace event infrastructure,&lt;br /&gt;
which allows tracing lots of XFS behavior with a normal production&lt;br /&gt;
built kernel.  Except for this Linux 2.6.33 has been mostly a bug-fix&lt;br /&gt;
release, fixing various user reported bugs in previous releases.&lt;br /&gt;
The total diffstat for XFS in Linux 2.6.33 looks like:&lt;br /&gt;
&lt;br /&gt;
  84 files changed, 3023 insertions(+), 3550 deletions(-)&lt;br /&gt;
&lt;br /&gt;
In addition to that the merge window for Linux 2.6.34 opened and the&lt;br /&gt;
first merge of the XFS tree made it into Linus tree.  Unlike Linux&lt;br /&gt;
2.6.33 this merge window includes major feature work.  The most&lt;br /&gt;
important change for users is a new algorithm for inode and quota&lt;br /&gt;
writeback that leads to better I/O locality and improved metadata&lt;br /&gt;
performance.  The second big change is a rewrite of the per-allocation&lt;br /&gt;
group data lookup which fixes a long-standing problem in the code&lt;br /&gt;
to grow a life filesystem and will also ease future filesystem&lt;br /&gt;
shrinking support.  Not merged through the XFS tree, but of great&lt;br /&gt;
importance for embedded users is a new API that allows XFS to properly&lt;br /&gt;
flush cache lines on it&#039;s log and large directory buffers, making&lt;br /&gt;
XFS work properly on architectures with virtually indexed caches,&lt;br /&gt;
such as parisc and various arm and mips variants.  Last but not&lt;br /&gt;
least there is an above average amount of cleanups that went into&lt;br /&gt;
Linus tree in this cycle.&lt;br /&gt;
&lt;br /&gt;
There have been more patches on the mailing list that haven&#039;t made&lt;br /&gt;
it to Linus tree yet, including an optimized implementation of&lt;br /&gt;
fdatasync(2) and massive speedups for metadata workloads on&lt;br /&gt;
NFS exported XFS filesystems.&lt;br /&gt;
&lt;br /&gt;
On the userspace side February has been a relatively quite month.&lt;br /&gt;
Lead by xfstests only a moderate amount of fixes made it into&lt;br /&gt;
the respective trees.&lt;br /&gt;
&lt;br /&gt;
== XFS status update for January 2010 ==&lt;br /&gt;
&lt;br /&gt;
January saw additional release candidates of the Linux 2.6.33 kernel,&lt;br /&gt;
including a couple of bug fixes for XFS.  In the meantime the XFS tree&lt;br /&gt;
has been growing a large number of patches destined for the Linux 2.6.34&lt;br /&gt;
merge window: a large rework of the handling of per-AG data, support for&lt;br /&gt;
the quota netlink interface, and better power saving behavior of the&lt;br /&gt;
XFS kernel threads, and of course various cleanups.&lt;br /&gt;
&lt;br /&gt;
A large patch series to replace the current asynchronous inode writeback&lt;br /&gt;
with a new scheme that uses the delayed write buffers was posted to&lt;br /&gt;
the list.  The new scheme, which allows archive better I/O locality by&lt;br /&gt;
dispatching meta-data I/O from a single place has been discussed&lt;br /&gt;
extensively and is expected to be merged in February.&lt;br /&gt;
&lt;br /&gt;
On the userspace side January saw the 3.1.0 and 3.1.1 releases of xfsprogs,&lt;br /&gt;
as well as the 3.0.4 release of xfsdump.  The biggest changes in xfsprogs&lt;br /&gt;
3.1.0 were optimizations in xfs_repair that lead to a much lower memory&lt;br /&gt;
usage, and optional use of the blkid library for filesystem detection&lt;br /&gt;
and retrieving storage topology information.  The 3.1.1 release contained&lt;br /&gt;
various important bug fixes for these changes and a various improvements to&lt;br /&gt;
the build system.  The major feature of xfsdump 3.0.4 were fixes for&lt;br /&gt;
time stamp handling on 64-bit systems.&lt;br /&gt;
&lt;br /&gt;
The xfstests package also lots of activity including various new testcases&lt;br /&gt;
and an improved build system.&lt;br /&gt;
&lt;br /&gt;
== XFS status update for December 2009 ==&lt;br /&gt;
&lt;br /&gt;
December finally saw the long awaited release of Linux 2.6.32, which for&lt;br /&gt;
XFS is mostly a bug fix release, with the major changes being various&lt;br /&gt;
improvement to the sync path, including working around the expectation&lt;br /&gt;
from the grub boot loader where metadata is supposed to be after a sync()&lt;br /&gt;
system call.  Together with a refactoring of the inode allocator this&lt;br /&gt;
gives a nice diffstat for this kernel release:&lt;br /&gt;
&lt;br /&gt;
 46 files changed, 767 insertions(+), 1048 deletions(-)&lt;br /&gt;
&lt;br /&gt;
In the meantime development for the 2.6.33 has been going strong.  The&lt;br /&gt;
new event tracing code that allows to observe the inner workings of XFS&lt;br /&gt;
in production systems has finally been merged, with another patch to&lt;br /&gt;
reduce the size of the tracing code by using new upstream kernel features&lt;br /&gt;
posted for review.  Also a large patch series has been posted which&lt;br /&gt;
changes per-AG data to be looked up by a radix tree instead of the&lt;br /&gt;
existing array.  This works around possible deadlocks and user after&lt;br /&gt;
free issues during growfs, and prepares for removing a global (shared)&lt;br /&gt;
lock from the free space allocators.  In addition to that a wide range&lt;br /&gt;
of fixes has been posted and applied.&lt;br /&gt;
&lt;br /&gt;
Work on the userspace packages has been just as busy.  In mkfs.xfs the&lt;br /&gt;
lazy superblock counter feature has now been enabled by default for the&lt;br /&gt;
upcoming xfsprogs 3.1.0 release, which will require kernel 2.6.22 for&lt;br /&gt;
the default mkfs invocation.  Also for mkfs.xfs as patch was posted&lt;br /&gt;
to correct the automatic detection of 4 kilobyte sector drivers which&lt;br /&gt;
are expected to show up in large quantities the real work soon.  The&lt;br /&gt;
norepair mode in xfs_repair has been enhanced with additional freespace&lt;br /&gt;
btree correction checks from xfs_db and is now identical to xfs_check in&lt;br /&gt;
filesystem consistency checking coverage.  A temporary file permission&lt;br /&gt;
problems has been fixed in xfs_fsr, and the libhandle library has been&lt;br /&gt;
fixed to better deal with symbolic links.  In xfs_io a few commands&lt;br /&gt;
that were added years ago have finally been wired up to actually be&lt;br /&gt;
usable.  And last but not least xfsdump saw a fix to the time stamp&lt;br /&gt;
handling in the backup format and some usability and documentation&lt;br /&gt;
improvements to xfsinvutil.&lt;br /&gt;
&lt;br /&gt;
== XFS status update for November 2009 ==&lt;br /&gt;
&lt;br /&gt;
November was a relatively slow month for XFS development.  The XFS tree&lt;br /&gt;
that is destined for the Linux 2.6.33 merge window saw a few fixes and&lt;br /&gt;
cleanups applied to it, and few important fixes still made it into the&lt;br /&gt;
last Linux 2.6.32 release candidates.  A few more patches including a&lt;br /&gt;
final version of the event tracing support for XFS were posted but not&lt;br /&gt;
reviewed yet.&lt;br /&gt;
&lt;br /&gt;
On the userspace side there has been a fair amount of xfsprogs activity.&lt;br /&gt;
The repair speedup patches have finally been merged into the main development&lt;br /&gt;
branch and a couple of other fixes to the various utilities made it in, too.&lt;br /&gt;
The xfstests test suite saw another new regression test suite and a build&lt;br /&gt;
system fix up.&lt;br /&gt;
&lt;br /&gt;
== XFS status update for October 2009 ==&lt;br /&gt;
In October we saw the Linux 2.6.32 merge window with a major XFS update.&lt;br /&gt;
This update includes a refactoring of the inode allocator which also&lt;br /&gt;
allows for speedups for very large filesystems, major sync fixes, updates&lt;br /&gt;
to the fsync and O_SYNC handling which merge the two code paths into a single&lt;br /&gt;
and more efficient one, a workaround for the VFS time stamp behavior,&lt;br /&gt;
and of course various smaller fixes.  A couple of additional fixes have been&lt;br /&gt;
queued up for the next merge window.&lt;br /&gt;
&lt;br /&gt;
On the userspace side there has been a healthy activity on xfsprogs:  mkfs can&lt;br /&gt;
now discard unused sectors on SSDs and thinly provisioned storage devices and&lt;br /&gt;
use the more generic libblkid for topology information and filesystems detection&lt;br /&gt;
instead of the older libdisk, and the build system gained some updates to&lt;br /&gt;
make the source package generation simpler and shared for different package&lt;br /&gt;
types.  A patch has been out to the list but yet committed to add symbol&lt;br /&gt;
versioning to the libhandle library to make future ABI additions easier.&lt;br /&gt;
The xfstests package only saw some minor activity with a new test case&lt;br /&gt;
and small build system fixes.&lt;br /&gt;
&lt;br /&gt;
New minor releases of xfsprogs and xfsdump were tagged but not formally&lt;br /&gt;
released after additional discussion.  Instead a new major xfsprogs release&lt;br /&gt;
is planned for next month.&lt;br /&gt;
&lt;br /&gt;
== XFS status update for September 2009 ==&lt;br /&gt;
&lt;br /&gt;
In September the Linux 2.6.31 kernel was finally released, including another&lt;br /&gt;
last minute XFS fix for the swapext (defragmentation) compat ioctl handler.&lt;br /&gt;
The final patch from 2.6.30 to 2.6.31 shows the following impressive diffstat&lt;br /&gt;
for XFS:&lt;br /&gt;
&lt;br /&gt;
   55 files changed, 1476 insertions(+), 2269 deletions(-)&lt;br /&gt;
&lt;br /&gt;
The 2.6.32 merge window started with a large XFS merge that included changes&lt;br /&gt;
to the inode allocator, and a few smaller fixes.  New versions of the sync&lt;br /&gt;
and time stamp fixes as well as the event tracing support have been posted&lt;br /&gt;
in September but not yet merged into the XFS development tree and/or mainline.&lt;br /&gt;
&lt;br /&gt;
On the userspace side a large patch series to reduce the memory usage in&lt;br /&gt;
xfs_repair to acceptable levels was posted, but not yet merged.  A new xfs_df&lt;br /&gt;
shell script to measure use of the on disk space was posted but not yet&lt;br /&gt;
merged pending some minor review comments and a missing man page.  In addition&lt;br /&gt;
we saw the usual amount of smaller fixes and cleanups.&lt;br /&gt;
&lt;br /&gt;
Also this month Felix Blyakher resigned from his post as XFS maintainer and handed off to Alex Elder.&lt;br /&gt;
&lt;br /&gt;
== XFS status update for August 2009 ==&lt;br /&gt;
&lt;br /&gt;
In August the Linux 2.6.31 kernel has still been in the release candidate&lt;br /&gt;
stage, but a couple of important XFS fixes made it in time for the release,&lt;br /&gt;
including a fix for the inode cache races with NFS workloads that have&lt;br /&gt;
plagued us for a long time.&lt;br /&gt;
&lt;br /&gt;
The list saw various patches destined for the Linux 2.6.32 merge window,&lt;br /&gt;
including a merge of the fsync and O_SYNC handling code to address various&lt;br /&gt;
issues with the latter, a workaround for deficits in the timestamp handling&lt;br /&gt;
interface between the VFS and filesystems, a repost of the sync improvements&lt;br /&gt;
patch series and various smaller patches.&lt;br /&gt;
&lt;br /&gt;
August also saw the minor 3.0.3 release of xfsprogs which collects smaller&lt;br /&gt;
fixes to the various tools and most importantly a fix to allow xfsprogs to&lt;br /&gt;
work again on SPARC and other strict alignment handling which regressed a&lt;br /&gt;
few releases ago.  The xfstests repository saw a few new test cases and a&lt;br /&gt;
various small improvements.&lt;br /&gt;
&lt;br /&gt;
== XFS status update for July 2009 ==&lt;br /&gt;
&lt;br /&gt;
As a traditional summer vacation month July has not seen a lot of XFS&lt;br /&gt;
activity.  The mainline 2.6.31 kernel made it to the 5th release candidate&lt;br /&gt;
but besides a few kernel-wide patches touching XFS the only activity were&lt;br /&gt;
two small patches fixing a bug in FIEMAP and working around writeback&lt;br /&gt;
performance problems in the VM.&lt;br /&gt;
&lt;br /&gt;
A few more patches were posted to the list but haven&#039;t been merged yet.&lt;br /&gt;
Two big patch series deal with theoretically possible deadlocks due to&lt;br /&gt;
locks taken in reclaim contexts, which are now detected by lockdep.&lt;br /&gt;
&lt;br /&gt;
The pace on the userspace side has been slow.  There have been a couple&lt;br /&gt;
of fixes to xfs_repair and xfs_db, and xfstests grew a few more testcases.&lt;br /&gt;
&lt;br /&gt;
== XFS status update for June 2009 ==&lt;br /&gt;
&lt;br /&gt;
On June 9th we finally saw the release of Linux 2.6.30.  For XFS&lt;br /&gt;
this release mostly contains the improved ENOSPC handling, but also&lt;br /&gt;
various smaller bugfixes and lots of cleanups.  The code size of XFS&lt;br /&gt;
decreased again by 500 lines of code in this release.&lt;br /&gt;
&lt;br /&gt;
The Linux 2.6.31 merge opened in the mid of the month and some big XFS&lt;br /&gt;
changes have been pushed: A removal of the quotaops&lt;br /&gt;
infrastructure which simplifies the quota implementation, the switch&lt;br /&gt;
from XFS&#039;s own Posix ACL implementation to the generic one shared&lt;br /&gt;
by various other filesystems which also supports in-memory caching of&lt;br /&gt;
ACLs and another incremental refactoring of the sync code.&lt;br /&gt;
&lt;br /&gt;
A patch to better track dirty inodes and work around issues in the&lt;br /&gt;
way the VFS updates the access time stamp on inodes has been reposted&lt;br /&gt;
and discussed. Another patch to converting the existing XFS tracing&lt;br /&gt;
infrastructure to use the ftrace even tracer has been posted.&lt;br /&gt;
&lt;br /&gt;
On the userspace side there have been a few updates to xfsprogs, including&lt;br /&gt;
some repair fixes and a new fallocate command for xfs_io.  There were&lt;br /&gt;
major updates for xfstests:  The existing aio-dio-regress testsuite has&lt;br /&gt;
been merged into xfstests, and various changes went into the tree to make&lt;br /&gt;
xfstests better suitable for use with other filesystems.&lt;br /&gt;
&lt;br /&gt;
The attr and acl projects which have been traditionally been hosted&lt;br /&gt;
as part of the XFS userspace utilities have now been split into a separate&lt;br /&gt;
project maintained by Andreas Gruenbacher, who has been doing most of&lt;br /&gt;
the work on it, and moved to the Savannah hosting platform.&lt;br /&gt;
&lt;br /&gt;
== XFS status update for May 2009 ==&lt;br /&gt;
&lt;br /&gt;
In May Linux 2.6.30 was getting close to be released, and various&lt;br /&gt;
important XFS fixes made it during the latest release candidates.&lt;br /&gt;
In the meantime some big patch series to rework the sync code and&lt;br /&gt;
the inode allocator have been posted for the next merge window.&lt;br /&gt;
&lt;br /&gt;
On the userspace side xfsprogs and xfsdump 3.0.1 were finally released,&lt;br /&gt;
quickly followed by 3.0.2 releases with updated Debian packaging.&lt;br /&gt;
After that various small patches that were held back made it into xfsprogs.&lt;br /&gt;
A patch to add the xfs_reno tool which allows to move inodes around to&lt;br /&gt;
fit into 32 bit inode number space has been posted which is also one&lt;br /&gt;
central aspect of future online shrinking support.&lt;br /&gt;
&lt;br /&gt;
There has been major activity on xfstests including adding generic&lt;br /&gt;
filesystems support to allow running tests that aren&#039;t XFS-specific on&lt;br /&gt;
any Linux filesystems.&lt;br /&gt;
&lt;br /&gt;
== XFS status update for April 2009 ==&lt;br /&gt;
&lt;br /&gt;
In April development for Linux 2.6.30 was in full motion.  A patchset to correct flushing of delayed allocations with near full filesystems has been committed in early April, as well as various smaller fixes. A patch series to improve the behavior of sys_sync has been posted but is waiting for VFS changes queued for Linux 2.6.31.&lt;br /&gt;
&lt;br /&gt;
On the userspace side xfsprogs and xfsdump 3.0.1 have managed to split their release dates into May again after a lot of last-minute build system updates.&lt;br /&gt;
&lt;br /&gt;
== XFS status update for March 2009 ==&lt;br /&gt;
&lt;br /&gt;
Linux 2.6.29 has been released which includes major XFS updates like the&lt;br /&gt;
new generic btree code, a fully functional 32bit compat ioctl implementation&lt;br /&gt;
and the new combined XFS and Linux inode.  (See previous status reports&lt;br /&gt;
for more details). A patch series to improve correctness and performance&lt;br /&gt;
has been posted but not yet applied.  Various minor fixes and cleanups&lt;br /&gt;
have been sent to Linus for 2.6.30 which looks like it will be a minor&lt;br /&gt;
release for XFS after the big churn in 2.6.29.&lt;br /&gt;
&lt;br /&gt;
On userspace a lot of time has been spent on fixing and improving the&lt;br /&gt;
build system shared by the various XFS utilities as well as various smaller&lt;br /&gt;
improvements leading to the xfsprogs and xfsdump 3.0.1 releases which are&lt;br /&gt;
still outstanding.&lt;br /&gt;
&lt;br /&gt;
== XFS status update for February 2009 ==&lt;br /&gt;
&lt;br /&gt;
In February various smaller fixes have been sent to Linus for 2.6.29,&lt;br /&gt;
including a revert of the faster vmap APIs which don&#039;t seem to be quite&lt;br /&gt;
ready yet on the VM side.  At the same time various patches have been&lt;br /&gt;
queued up for 2.6.30, with another big batch pending.  There also has&lt;br /&gt;
been a repost of the CRC patch series, including support for a new,&lt;br /&gt;
larger inode core.&lt;br /&gt;
&lt;br /&gt;
SGI released various bits of work in progress from former employees&lt;br /&gt;
that will be extremely helpful for the future development of XFS,&lt;br /&gt;
thanks a lot to Mark Goodwin for making this happen.&lt;br /&gt;
&lt;br /&gt;
On the userspace side the long awaited 3.0.0 releases of xfsprogs and&lt;br /&gt;
xfsdump finally happened early in the month, accompanied by a 2.2.9&lt;br /&gt;
release of the dmapi userspace.  There have been some issues with packaging&lt;br /&gt;
so a new minor release might follow soon.&lt;br /&gt;
&lt;br /&gt;
The xfs_irecover tool has been relicensed so that it can be merged into&lt;br /&gt;
the GPLv2 codebase of xfsprogs, but the actual integration work hasn&#039;t&lt;br /&gt;
happened yet.&lt;br /&gt;
&lt;br /&gt;
Important bits of XFS documentation that have been available on the XFS&lt;br /&gt;
website in PDF form have been released in the document source form under&lt;br /&gt;
the Creative Commons license so that they can be updated as a community&lt;br /&gt;
effort, and checked into a public git tree.&lt;br /&gt;
&lt;br /&gt;
== XFS status update for January 2009 ==&lt;br /&gt;
&lt;br /&gt;
January has been an extremely busy month on the userspace front.  Many&lt;br /&gt;
smaller and medium updates went into xfsprogs, xfstests and to a lesser&lt;br /&gt;
extent xfsdump.  xfsprogs and xfsdump are ramping up for getting a 3.0.0&lt;br /&gt;
release out in early February which will include the first major re-sync&lt;br /&gt;
with the kernel code in libxfs, a cleanup of the exported library interfaces&lt;br /&gt;
and the move of two tools (xfs_fsr and xfs_estimate) from the xfsdump&lt;br /&gt;
package to xfsprogs.  After this the xfsprogs package will contain all&lt;br /&gt;
tools that use internal libxfs interfaces which fortunately equates to those&lt;br /&gt;
needed for normal administration.  The xfsdump package now only contains&lt;br /&gt;
the xfsdump/xfsrestore tools needed for backing up and restoring XFS&lt;br /&gt;
filesystems.  In addition it grew a fix to support dump/restore on systems&lt;br /&gt;
with a 64k page size.  A large number of acl/attr package patches was&lt;br /&gt;
posted to the list, but pending a possible split of these packages from the&lt;br /&gt;
XFS project these weren&#039;t processed yet.&lt;br /&gt;
&lt;br /&gt;
On the kernel side the big excitement in January was an in-memory corruption&lt;br /&gt;
introduced in the btree refactoring which hit people running 32bit platforms&lt;br /&gt;
without support for large block devices.  This issue was fixed and pushed&lt;br /&gt;
to the 2.6.29 development tree after a long collaborative debugging effort&lt;br /&gt;
at linux.conf.au.  Besides that about a dozen minor fixes were pushed to&lt;br /&gt;
2.6.29 and the first batch of misc patches for the 2.6.30 release cycle&lt;br /&gt;
was sent out.&lt;br /&gt;
&lt;br /&gt;
At the end of December the SGI group in Melbourne which the previous&lt;br /&gt;
XFS maintainer and some other developers worked for has been closed down&lt;br /&gt;
and they will be missed greatly.  As a result maintainership has been passed&lt;br /&gt;
on in a way that has been slightly controversial in the community, and the&lt;br /&gt;
first patchset of work in progress in Melbourne have been posted to the list&lt;br /&gt;
to be picked up by others.&lt;br /&gt;
&lt;br /&gt;
The xfs.org wiki has gotten a little facelift on it&#039;s front page making it&lt;br /&gt;
a lot easier to read.&lt;br /&gt;
&lt;br /&gt;
== XFS status update for December 2008 ==&lt;br /&gt;
&lt;br /&gt;
On Christmas Eve the 2.6.28 mainline kernel was release, with only minor XFS&lt;br /&gt;
bug fixes over 2.6.27.&lt;br /&gt;
&lt;br /&gt;
On the development side December has been busy but unspectacular month.&lt;br /&gt;
All lot of misc fixes and improvements have been sent out, tested and committed&lt;br /&gt;
especially on the user land side.&lt;br /&gt;
&lt;br /&gt;
== XFS status update for November 2008 ==&lt;br /&gt;
&lt;br /&gt;
The mainline kernel is now at 2.6.28-rc6 and includes a small number of&lt;br /&gt;
XFS fixes.  There have been no updates to the XFS development tree during&lt;br /&gt;
November.  Without new regressions that large number of changes that&lt;br /&gt;
missed 2.6.28 has thus stabilized to be ready for 2.6.29.  In the meantime&lt;br /&gt;
kernel-side development has been slow, with the only major patch set&lt;br /&gt;
being a wide number of fixes to the compatibility for 32 bit ioctls on&lt;br /&gt;
a 64 bit kernel.&lt;br /&gt;
&lt;br /&gt;
In the meantime there has been a large number of commits to the user space&lt;br /&gt;
tree, which mostly consist of smaller fixes.  xfsprogs is getting close&lt;br /&gt;
to have the 3.0.0 release which will be the first full resync with the&lt;br /&gt;
kernel sources since the year 2005.&lt;br /&gt;
&lt;br /&gt;
== XFS status update for October 2008 ==&lt;br /&gt;
&lt;br /&gt;
Linux 2.6.27 released with all the bits covered in last month&#039;s report.  It&lt;br /&gt;
did however miss two important fixes for regressions that a few people hit.&lt;br /&gt;
2.6.27.3 or later are recommended for use with XFS.&lt;br /&gt;
&lt;br /&gt;
In the meantime the generic btree implementation, the sync reorganization&lt;br /&gt;
and after a lot of merge pain the XFS and VFS inode unification hit the&lt;br /&gt;
development tree during the time allocated for the merge window.  No XFS&lt;br /&gt;
updates other than the two regression fixes also in 2.6.27.3 have made it&lt;br /&gt;
into mainline as of 2.6.28-rc3.&lt;br /&gt;
&lt;br /&gt;
The only new feature on the list in October is support for the fiemap&lt;br /&gt;
interface that has been added to the VFS during the 2.6.28 merge window.&lt;br /&gt;
However there was lot of patch traffic consisting of fixes and respun&lt;br /&gt;
versions of previously known patches.  There still is a large backlog of&lt;br /&gt;
patches on the list that is not applied to the development tree yet.&lt;br /&gt;
&lt;br /&gt;
== XFS status update for September 2008 ==&lt;br /&gt;
&lt;br /&gt;
With Linux 2.6.27 still not released but only making slow progress from 2.6.27-rc5 to 2.6.27-rc8 XFS changes in mainline have been minimal in September with only about half a dozen bug fixes patches.&lt;br /&gt;
&lt;br /&gt;
In the meantime the generic btree patch set has been committed to the development tree, but not many other updates yet. On the user space side xfsprogs 2.10.1 has been released on September 5th with a number of important bug fixes. Following the release of xfsprogs 2.10.1 open season for development of the user space code has started. The first full update of the shared kernel / user space code in libxfs since 2005 has been committed. In addition to that the number of headers installed for the regular devel package has been reduced to the required minimum and support for checking the source code for endianess errors using sparse has been added.&lt;br /&gt;
&lt;br /&gt;
The patch sets to unify the XFS and Linux inode structures, and rewrite various bits of the sync code have seen various iterations on the XFS list, but haven&#039;t been committed yet. A first set of patches implementing CRCs for various metadata structures has been posted to the list.&lt;br /&gt;
&lt;br /&gt;
== XFS status update for August 2008 ==&lt;br /&gt;
&lt;br /&gt;
With the 2.6.27-rc5 release the 2.6.27 cycle is nearing it&#039;s end. The major XFS feature in 2.6.27-rc5 is support for case-insensitive file names. At this point it is still limited to 7bit ASCII file names, with updates for utf8 file names expected to follow later. In addition to that 2.6.27-rc5 fixes a long-standing problem with non-EABI arm compiler which pack some XFS data structures wrongly. Besides this 2.6.27-rc5 also contains various cleanups, most notably the removal of the last bhv_vnode_t instances, and most uses of semaphores. As usual the diffstat for XFS from 2.6.26 to 2.6.26-rc5 is negative:&lt;br /&gt;
&lt;br /&gt;
       100 files changed, 3819 insertions(+), 4409 deletions(-)&lt;br /&gt;
&lt;br /&gt;
On the user space front a new minor xfsprogs version is about to be released containing various fixes including the user space part of arm packing fix.&lt;br /&gt;
&lt;br /&gt;
Work in progress on the XFS mailing list are a large patch set to unify the alloc, inobt and bmap btree implementation into a single that supports arbitrarily pluggable key and record formats. These btree changes are the first major preparation for adding CRC checks to all metadata structures in XFS, and an even larger patch set to unify the XFS and Linux inode structures, and perform all inode write back from the btree uses instead of an inode cache in XFS.&lt;br /&gt;
&lt;br /&gt;
== Updates before 2008 ==&lt;br /&gt;
&lt;br /&gt;
News up to 2007 can be found on a separate page: [[OLD_News]]&lt;/div&gt;</summary>
		<author><name>Hch</name></author>
	</entry>
	<entry>
		<id>https://xfs.org/index.php?title=XFS_Status_Updates&amp;diff=2254</id>
		<title>XFS Status Updates</title>
		<link rel="alternate" type="text/html" href="https://xfs.org/index.php?title=XFS_Status_Updates&amp;diff=2254"/>
		<updated>2011-03-15T16:37:33Z</updated>

		<summary type="html">&lt;p&gt;Hch: February update&lt;/p&gt;
&lt;hr /&gt;
&lt;div&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&#039; tree, and the XFS development tree&lt;br /&gt;
has been similarly quite 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 quite 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&#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&#039;t been committed yet were discussed on the mailing list.&lt;br /&gt;
&lt;br /&gt;
== XFS status update for December 2010 ==&lt;br /&gt;
&lt;br /&gt;
The release process of the Linux 2.6.37 kernel with it&#039;s large XFS updates&lt;br /&gt;
was in it&#039;s final days in December, which explains why we only saw a single&lt;br /&gt;
one-liner regression fix for XFS in Linus&#039; tree.  The XFS development tree&lt;br /&gt;
finally saw some updates when the writeback updates and some small cleanups&lt;br /&gt;
to the allocator and log recovery code were merged, but the large metadata&lt;br /&gt;
scalability updates that have been posted to the list multiple times are&lt;br /&gt;
still missing.  In addition to this on-going work the list also saw patches&lt;br /&gt;
that fix smaller issues, which are also still waiting to be merged.&lt;br /&gt;
&lt;br /&gt;
On the userspace side xfsprogs and xfsdump development has been quit, with&lt;br /&gt;
no commits to either repository in December, although a large series of&lt;br /&gt;
updates to the metadump command has been reposted near the end of the month.&lt;br /&gt;
The xfstests repository saw a new regression test for a btrfs problem,&lt;br /&gt;
and various updates to existing tests.&lt;br /&gt;
&lt;br /&gt;
== XFS status update for November 2010 ==&lt;br /&gt;
&lt;br /&gt;
From looking at the kernel git commits November looked like a pretty&lt;br /&gt;
slow month with just two hand full fixes going into the release candidates&lt;br /&gt;
for Linux 2.6.37, and none at all going into the development tree.&lt;br /&gt;
But in this case git statistics didn&#039;t tell the whole story - there&lt;br /&gt;
was a lot of activity on patches for the next merge window on the list.&lt;br /&gt;
The focus in November was still at metadata scalability, with various&lt;br /&gt;
patchsets that improves parallel creates and unlinks again, and also&lt;br /&gt;
improves 8-way dbench throughput by 30%.  In addition to that there&lt;br /&gt;
were patches to improve preallocation for NFS servers, to simplify&lt;br /&gt;
the writeback code, and to remove the XFS-internal percpu counters&lt;br /&gt;
for free space for the generic kernel percpu counters, which just needed&lt;br /&gt;
a small improvement.&lt;br /&gt;
&lt;br /&gt;
On the user space side we saw the release of xfsprogs 3.1.4, which&lt;br /&gt;
contains various accumulated bug fixes and Debian packaging updates.&lt;br /&gt;
The xfsdump tree saw a large update to speed up restore by using&lt;br /&gt;
mmap for an internal database and remove the limitation of ~ 214&lt;br /&gt;
million directory entries per dump file.  The xfstests test suite&lt;br /&gt;
saw three new testcases and various fixes, including support for the&lt;br /&gt;
hfsplus filesystem.&lt;br /&gt;
&lt;br /&gt;
== XFS status update for October 2010 ==&lt;br /&gt;
&lt;br /&gt;
Near the end of the month we finally saw the release of Linux 2.6.36.&lt;br /&gt;
Just a single fix made it into mainline in this month, showing that the&lt;br /&gt;
stabilization period before has worked very well.&lt;br /&gt;
&lt;br /&gt;
Linux 2.6.36 has been another impressive release for XFS, seeing&lt;br /&gt;
various performance improvements in the new delayed logging code,&lt;br /&gt;
for direct I/O and the sync system call, a few bug fixes, and lots&lt;br /&gt;
of cleanups, resulting in a net removal of over 2000 lines of code:&lt;br /&gt;
&lt;br /&gt;
        89 files changed, 1998 insertions(+), 4279 deletions(-)&lt;br /&gt;
&lt;br /&gt;
The merge window for Linux 2.6.37 opened just a few days after the&lt;br /&gt;
release of Linux 2.6.36 and already contains another large XFS update&lt;br /&gt;
at the end of October.  Highlights of the XFS tree merged into 2.6.37-rc1&lt;br /&gt;
are another large set of metadata scalability patches, support for 32-bit&lt;br /&gt;
wide project IDs, and support for the new XFS_IOC_ZERO_RANGE ioctl,&lt;br /&gt;
which allows to punch a whole and convert it to an unwritten extent&lt;br /&gt;
in a single atomic operation.&lt;br /&gt;
&lt;br /&gt;
The metadata scalability changes improve 8-way fs_mark of 50 million files&lt;br /&gt;
by over 15% and removal of those files by over 100%, with further&lt;br /&gt;
improvements expected by the next round of XFS metadata scalability&lt;br /&gt;
and VFS scalability improvements targeted at Linux 2.6.38.&lt;br /&gt;
&lt;br /&gt;
On the user space side October was a rather quit month for xfsprogs, which&lt;br /&gt;
only saw the addition of 32-bit project ID handling, and a fix for&lt;br /&gt;
parsing the mount table in fsr when used together with disk encryption&lt;br /&gt;
tools.  A few patches for xfsdump were posted on the list, but none&lt;br /&gt;
was applied, leaving the majority of the user space activity to&lt;br /&gt;
xfstests, which saw very active development.  Various patches went&lt;br /&gt;
into xfstests to improve portability to filesystems with a limited&lt;br /&gt;
feature set, and to move more filters to generic code.  In addition&lt;br /&gt;
various cleanups to test cases in test programs were applied.&lt;br /&gt;
&lt;br /&gt;
== XFS status update for September 2010 ==&lt;br /&gt;
&lt;br /&gt;
Mainline activity has been rather low in September while with only&lt;br /&gt;
two more fixes going into the 2.6.36 release candidates after the&lt;br /&gt;
large merge activity in August.  Development for the next merge&lt;br /&gt;
window has been more active.  The largest item was the inclusion&lt;br /&gt;
of the metadata scalability patch series, which provides very large&lt;br /&gt;
speedups for parallel metadata operations.  In addition a new&lt;br /&gt;
ioctl to punch holes and convert the whole to an unwritten extent&lt;br /&gt;
was added and a small number of cleanups also made it into the tree.&lt;br /&gt;
&lt;br /&gt;
Patches to add support for 32bit wide project ID identifiers and&lt;br /&gt;
using group and project quotas concurrently were posted to the list&lt;br /&gt;
and discussed but not yet included.&lt;br /&gt;
&lt;br /&gt;
Userspace development has been rather quited again, with a single fix&lt;br /&gt;
committed to xfsprogs and xfsdump each.  The xfstests test suite grew&lt;br /&gt;
a new test case and received a few additional fixes.  Last but not least&lt;br /&gt;
the [http://xfs.org/docs/xfsdocs-xml-dev/XFS_User_Guide//tmp/en-US/html/index.html XFS Users Guide]&lt;br /&gt;
was updated with various factual corrections and spelling fixes.&lt;br /&gt;
&lt;br /&gt;
== XFS status update for August 2010 ==&lt;br /&gt;
&lt;br /&gt;
At the first of August we finally saw the release of Linux 2.6.35,&lt;br /&gt;
which includes a large XFS update.  The most prominent feature in&lt;br /&gt;
Linux 2.6.35 is the new delayed logging code which provides massive&lt;br /&gt;
speedups for metadata-intensive workloads, but there has been&lt;br /&gt;
a large amount of other fixes and cleanups, leading to the following&lt;br /&gt;
diffstat:&lt;br /&gt;
&lt;br /&gt;
         67 files changed, 4426 insertions(+), 3835 deletions(-)&lt;br /&gt;
&lt;br /&gt;
Given the early release of Linux 2.6.35 the merge window for the&lt;br /&gt;
next release fully fell into the month of August.  The XFS updates&lt;br /&gt;
for Linux 2.6.36 include various additional performance improvements&lt;br /&gt;
in the delayed logging code, for direct I/O writes and for avoiding&lt;br /&gt;
synchronous transactions, as well as various fixed and large amount&lt;br /&gt;
of cleanups, including the removal of the remaining dead DMAPI&lt;br /&gt;
code.&lt;br /&gt;
&lt;br /&gt;
On the userspace side we saw the 3.1.3 release of xfsprogs, which includes&lt;br /&gt;
various smaller fixes, support for the new XFS_IOC_ZERO_RANGE ioctl and&lt;br /&gt;
Debian packaging updates.  The xfstests package saw one new test case&lt;br /&gt;
and a couple of smaller patches, and xfsdump has not seen any updates at&lt;br /&gt;
all.&lt;br /&gt;
&lt;br /&gt;
The XMLified versions of the XFS users guide, training labs and filesystem&lt;br /&gt;
structure documentation are now available as on the fly generated html on&lt;br /&gt;
the xfs.org website and can be found at [[XFS_Papers_and_Documentation|Papers &amp;amp; Documentation]].&lt;br /&gt;
&lt;br /&gt;
== XFS status update for July 2010 ==&lt;br /&gt;
&lt;br /&gt;
July saw three more release candidates for the Linux 2.6.35 kernel, which&lt;br /&gt;
included a relatively large number of XFS updates.  There were two security&lt;br /&gt;
fixes, a small one to prevent swapext to operate on write-only file&lt;br /&gt;
descriptors, and a much larger one to properly validate inode numbers&lt;br /&gt;
coming from NFS clients or userspace applications using the bulkstat or&lt;br /&gt;
the open-by-handle interfaces.  In addition to that another relatively&lt;br /&gt;
large patch fixes the way inodes get reclaimed in the background, and&lt;br /&gt;
avoids inode caches growing out of bounds.&lt;br /&gt;
&lt;br /&gt;
In the meantime the code for the Linux 2.6.36 got the last touches before&lt;br /&gt;
the expected opening of the merge window, by merging a few more last&lt;br /&gt;
minute fixes and cleanups.  The most notable one is a patch series&lt;br /&gt;
that fixes in-memory corruption when concurrently accessing unwritten&lt;br /&gt;
extents using the in-kernel AIO code.&lt;br /&gt;
&lt;br /&gt;
The userspace side was still quite slow, but some a bit more activity&lt;br /&gt;
than June.  In xfsprogs the xfs_db code grew two bug fixes, as did&lt;br /&gt;
the xfs_io script.  The xfstests package saw one new test cases and&lt;br /&gt;
various fixes to existing code.  Last but not least a few patches&lt;br /&gt;
affecting the build system for all userspace tools were committed.&lt;br /&gt;
&lt;br /&gt;
== XFS status update for June 2010 ==&lt;br /&gt;
&lt;br /&gt;
The month of June saw a few important bug fixes for the Linux 2.6.35&lt;br /&gt;
release candidates.  That includes ensuring that files used for the&lt;br /&gt;
swapext ioctl are writable to the user, and doing proper validation&lt;br /&gt;
of inodes coming from untrusted sources, such as NFS exporting and&lt;br /&gt;
the open by handle system calls.  The main work however has been&lt;br /&gt;
focused on development for the Linux 2.6.36 merge window, including&lt;br /&gt;
merging various patches that have been out on the mainline list&lt;br /&gt;
for a long time.  Highlights include further performance improvements&lt;br /&gt;
for sync heavy metadata workloads, stack space reduction in the&lt;br /&gt;
writeback path and improvements of the XFS tracing infrastructure.&lt;br /&gt;
Also after some discussion the remaining hooks for DMAPI are going&lt;br /&gt;
to be dropped in mainline.   As a replacement a tree containing&lt;br /&gt;
full DMAPI support with a slightly cleaner XFS interaction will be&lt;br /&gt;
hosted by SGI.&lt;br /&gt;
&lt;br /&gt;
On the userspace side June was a rather slow month, with no updates&lt;br /&gt;
to xfsprogs and xfsdump at all, and just one new test case and a cleanup&lt;br /&gt;
applied to xfstests.&lt;br /&gt;
&lt;br /&gt;
== XFS status update for May 2010 ==&lt;br /&gt;
&lt;br /&gt;
In May 2010 we saw the long awaited release of Linux 2.6.34, which includes&lt;br /&gt;
a large XFS update.  The most important features appearing in 2.6.34 was the&lt;br /&gt;
new inode and quota flushing code, which leads to much better I/O patterns&lt;br /&gt;
for metadata-intensive workloads.  Additionally support for synchronous NFS&lt;br /&gt;
exports has been improved to give much better performance, and performance&lt;br /&gt;
for the fsync, fdatasync and sync system calls has been improved slightly.&lt;br /&gt;
A bug when resizing extremely busy filesystems has been fixed, which required&lt;br /&gt;
extensive modification to the data structure used for looking up the&lt;br /&gt;
per-allocation group data.  Last but not least there was a steady flow of&lt;br /&gt;
minor bug fixes and cleanups, leading to the following diffstat from&lt;br /&gt;
2.6.33 to 2.6.34:&lt;br /&gt;
&lt;br /&gt;
  86 files changed, 3209 insertions(+), 3178 deletions(-)&lt;br /&gt;
&lt;br /&gt;
Meanwhile active development aimed at 2.6.35 merge progressed.  The&lt;br /&gt;
major feature for this window is the merge of the delayed logging code,&lt;br /&gt;
which adds a new logging mode that dramatically reduces the bandwidth&lt;br /&gt;
required for log I/O.  See the &lt;br /&gt;
[http://git.kernel.org/?p=linux/kernel/git/torvalds/linux-2.6.git;a=blob;f=Documentation/filesystems/xfs-delayed-logging-design.txt;h=96d0df28bed323d5596fc051b0ffb96ed8e3c8df;hb=HEAD documentation] for details.  Testers&lt;br /&gt;
for this new code are welcome.&lt;br /&gt;
&lt;br /&gt;
In userland xfsprogs saw the long awaited 3.1.2 release, which can be&lt;br /&gt;
considered a bug fix release for xfs_repair, xfs_fsr and mkfs.xfs.  After&lt;br /&gt;
the release a few more fixes were merged into the development tree.&lt;br /&gt;
The xfstests package saw various new tests, including many tests to&lt;br /&gt;
exercise the quota code, and a few fixes to existing tests.&lt;br /&gt;
&lt;br /&gt;
== XFS status update for April 2010 ==&lt;br /&gt;
&lt;br /&gt;
In April 2.6.34 still was in the release candidate phase, with&lt;br /&gt;
a hand full of XFS fixes making it into mainline.  Development for&lt;br /&gt;
the 2.6.35 merge window went ahead full steam at the same time.&lt;br /&gt;
&lt;br /&gt;
While a fair amount of patches hit the development tree these were&lt;br /&gt;
largely cleanups, with the real development activity happening on&lt;br /&gt;
the mailing list.  There was another round of patches and following&lt;br /&gt;
discussion on the scalable busy extent tracking and delayed logging&lt;br /&gt;
features mentioned last month.  They are expected to be merged in&lt;br /&gt;
May and queue up for the Linux 2.6.35 window.  Last but not least&lt;br /&gt;
April saw a large number of XFS fixes backported to the 2.6.32 and&lt;br /&gt;
2.6.33 -stable series.&lt;br /&gt;
&lt;br /&gt;
In user land xfsprogs has seen few but important updates, preparing&lt;br /&gt;
for a new release next month.  The xfs_repair tool saw a fix to&lt;br /&gt;
correctly enable the lazy superblock counters on an existing&lt;br /&gt;
filesystem, and xfs_fsr saw updates to better deal with dynamic&lt;br /&gt;
attribute forks.  Last but not a least a port to Debian GNU/kFreeBSD&lt;br /&gt;
got merged. The xfstests test suite saw two new test cases and various&lt;br /&gt;
smaller fixes.&lt;br /&gt;
&lt;br /&gt;
== XFS status update for March 2010 ==&lt;br /&gt;
&lt;br /&gt;
The merge window for Linux 2.6.34 closed in the first week of March,&lt;br /&gt;
with the important XFS features already landing in February.  Not&lt;br /&gt;
surprisingly the XFS merge activity in March has been rather slow,&lt;br /&gt;
with only about a dozen bug fixes patches making it towards Linus&#039;&lt;br /&gt;
tree in that time.&lt;br /&gt;
&lt;br /&gt;
On the other hand active development for the 2.6.35 merge window has&lt;br /&gt;
been very active.  Most importantly there was a lot of work on the&lt;br /&gt;
transaction and log subsystems.  Starting with a large patchset to&lt;br /&gt;
clean up and refactor the transaction subsystem and introducing more&lt;br /&gt;
flexible I/O containers in the low-level logging code work is&lt;br /&gt;
progressing to a new, more efficient logging implementation.  While&lt;br /&gt;
this preparatory work has already been merged in the development tree,&lt;br /&gt;
the actual delayed logging implementation still needs more work after&lt;br /&gt;
the initial public posting.  The delayed logging implementation which&lt;br /&gt;
is very briefly modeled after the journaling mode in the ext3/4&lt;br /&gt;
and reiserfs filesystems allows to accumulated multiple asynchronous&lt;br /&gt;
transactions in memory instead of possibly writing them out&lt;br /&gt;
many times.  Using the new delayed logging mechanism I/O bandwidth&lt;br /&gt;
used for the log decreases by orders of magnitude and performance&lt;br /&gt;
on metadata intensive workloads increases massively.&lt;br /&gt;
&lt;br /&gt;
In addition to that a new version of the discard (aka TRIM) support&lt;br /&gt;
has been posted, this time entirely contained in kernel space&lt;br /&gt;
and without the need of a userspace utility to drive it.  Last but&lt;br /&gt;
not least the usual steady stream of cleanups and bug fixes has not&lt;br /&gt;
ceased this month either.&lt;br /&gt;
&lt;br /&gt;
Besides the usual flow of fixes and new test cases in the xfstests&lt;br /&gt;
test suite development on the userspace side has been rather slow.&lt;br /&gt;
Xfsprogs has only seen a single fix for SMP locking in xfs_repair&lt;br /&gt;
and support for building on Debian GNU/kFreeBSD, and xfsdump&lt;br /&gt;
has seen no commit at all.&lt;br /&gt;
&lt;br /&gt;
== XFS status update for February 2010 ==&lt;br /&gt;
&lt;br /&gt;
February saw the release of the Linux 2.6.33 kernel, which includes&lt;br /&gt;
a large XFS update.  The biggest user-visible change in Linux 2.6.33&lt;br /&gt;
is that XFS now support the generic Linux trace event infrastructure,&lt;br /&gt;
which allows tracing lots of XFS behavior with a normal production&lt;br /&gt;
built kernel.  Except for this Linux 2.6.33 has been mostly a bug-fix&lt;br /&gt;
release, fixing various user reported bugs in previous releases.&lt;br /&gt;
The total diffstat for XFS in Linux 2.6.33 looks like:&lt;br /&gt;
&lt;br /&gt;
  84 files changed, 3023 insertions(+), 3550 deletions(-)&lt;br /&gt;
&lt;br /&gt;
In addition to that the merge window for Linux 2.6.34 opened and the&lt;br /&gt;
first merge of the XFS tree made it into Linus tree.  Unlike Linux&lt;br /&gt;
2.6.33 this merge window includes major feature work.  The most&lt;br /&gt;
important change for users is a new algorithm for inode and quota&lt;br /&gt;
writeback that leads to better I/O locality and improved metadata&lt;br /&gt;
performance.  The second big change is a rewrite of the per-allocation&lt;br /&gt;
group data lookup which fixes a long-standing problem in the code&lt;br /&gt;
to grow a life filesystem and will also ease future filesystem&lt;br /&gt;
shrinking support.  Not merged through the XFS tree, but of great&lt;br /&gt;
importance for embedded users is a new API that allows XFS to properly&lt;br /&gt;
flush cache lines on it&#039;s log and large directory buffers, making&lt;br /&gt;
XFS work properly on architectures with virtually indexed caches,&lt;br /&gt;
such as parisc and various arm and mips variants.  Last but not&lt;br /&gt;
least there is an above average amount of cleanups that went into&lt;br /&gt;
Linus tree in this cycle.&lt;br /&gt;
&lt;br /&gt;
There have been more patches on the mailing list that haven&#039;t made&lt;br /&gt;
it to Linus tree yet, including an optimized implementation of&lt;br /&gt;
fdatasync(2) and massive speedups for metadata workloads on&lt;br /&gt;
NFS exported XFS filesystems.&lt;br /&gt;
&lt;br /&gt;
On the userspace side February has been a relatively quite month.&lt;br /&gt;
Lead by xfstests only a moderate amount of fixes made it into&lt;br /&gt;
the respective trees.&lt;br /&gt;
&lt;br /&gt;
== XFS status update for January 2010 ==&lt;br /&gt;
&lt;br /&gt;
January saw additional release candidates of the Linux 2.6.33 kernel,&lt;br /&gt;
including a couple of bug fixes for XFS.  In the meantime the XFS tree&lt;br /&gt;
has been growing a large number of patches destined for the Linux 2.6.34&lt;br /&gt;
merge window: a large rework of the handling of per-AG data, support for&lt;br /&gt;
the quota netlink interface, and better power saving behavior of the&lt;br /&gt;
XFS kernel threads, and of course various cleanups.&lt;br /&gt;
&lt;br /&gt;
A large patch series to replace the current asynchronous inode writeback&lt;br /&gt;
with a new scheme that uses the delayed write buffers was posted to&lt;br /&gt;
the list.  The new scheme, which allows archive better I/O locality by&lt;br /&gt;
dispatching meta-data I/O from a single place has been discussed&lt;br /&gt;
extensively and is expected to be merged in February.&lt;br /&gt;
&lt;br /&gt;
On the userspace side January saw the 3.1.0 and 3.1.1 releases of xfsprogs,&lt;br /&gt;
as well as the 3.0.4 release of xfsdump.  The biggest changes in xfsprogs&lt;br /&gt;
3.1.0 were optimizations in xfs_repair that lead to a much lower memory&lt;br /&gt;
usage, and optional use of the blkid library for filesystem detection&lt;br /&gt;
and retrieving storage topology information.  The 3.1.1 release contained&lt;br /&gt;
various important bug fixes for these changes and a various improvements to&lt;br /&gt;
the build system.  The major feature of xfsdump 3.0.4 were fixes for&lt;br /&gt;
time stamp handling on 64-bit systems.&lt;br /&gt;
&lt;br /&gt;
The xfstests package also lots of activity including various new testcases&lt;br /&gt;
and an improved build system.&lt;br /&gt;
&lt;br /&gt;
== XFS status update for December 2009 ==&lt;br /&gt;
&lt;br /&gt;
December finally saw the long awaited release of Linux 2.6.32, which for&lt;br /&gt;
XFS is mostly a bug fix release, with the major changes being various&lt;br /&gt;
improvement to the sync path, including working around the expectation&lt;br /&gt;
from the grub boot loader where metadata is supposed to be after a sync()&lt;br /&gt;
system call.  Together with a refactoring of the inode allocator this&lt;br /&gt;
gives a nice diffstat for this kernel release:&lt;br /&gt;
&lt;br /&gt;
 46 files changed, 767 insertions(+), 1048 deletions(-)&lt;br /&gt;
&lt;br /&gt;
In the meantime development for the 2.6.33 has been going strong.  The&lt;br /&gt;
new event tracing code that allows to observe the inner workings of XFS&lt;br /&gt;
in production systems has finally been merged, with another patch to&lt;br /&gt;
reduce the size of the tracing code by using new upstream kernel features&lt;br /&gt;
posted for review.  Also a large patch series has been posted which&lt;br /&gt;
changes per-AG data to be looked up by a radix tree instead of the&lt;br /&gt;
existing array.  This works around possible deadlocks and user after&lt;br /&gt;
free issues during growfs, and prepares for removing a global (shared)&lt;br /&gt;
lock from the free space allocators.  In addition to that a wide range&lt;br /&gt;
of fixes has been posted and applied.&lt;br /&gt;
&lt;br /&gt;
Work on the userspace packages has been just as busy.  In mkfs.xfs the&lt;br /&gt;
lazy superblock counter feature has now been enabled by default for the&lt;br /&gt;
upcoming xfsprogs 3.1.0 release, which will require kernel 2.6.22 for&lt;br /&gt;
the default mkfs invocation.  Also for mkfs.xfs as patch was posted&lt;br /&gt;
to correct the automatic detection of 4 kilobyte sector drivers which&lt;br /&gt;
are expected to show up in large quantities the real work soon.  The&lt;br /&gt;
norepair mode in xfs_repair has been enhanced with additional freespace&lt;br /&gt;
btree correction checks from xfs_db and is now identical to xfs_check in&lt;br /&gt;
filesystem consistency checking coverage.  A temporary file permission&lt;br /&gt;
problems has been fixed in xfs_fsr, and the libhandle library has been&lt;br /&gt;
fixed to better deal with symbolic links.  In xfs_io a few commands&lt;br /&gt;
that were added years ago have finally been wired up to actually be&lt;br /&gt;
usable.  And last but not least xfsdump saw a fix to the time stamp&lt;br /&gt;
handling in the backup format and some usability and documentation&lt;br /&gt;
improvements to xfsinvutil.&lt;br /&gt;
&lt;br /&gt;
== XFS status update for November 2009 ==&lt;br /&gt;
&lt;br /&gt;
November was a relatively slow month for XFS development.  The XFS tree&lt;br /&gt;
that is destined for the Linux 2.6.33 merge window saw a few fixes and&lt;br /&gt;
cleanups applied to it, and few important fixes still made it into the&lt;br /&gt;
last Linux 2.6.32 release candidates.  A few more patches including a&lt;br /&gt;
final version of the event tracing support for XFS were posted but not&lt;br /&gt;
reviewed yet.&lt;br /&gt;
&lt;br /&gt;
On the userspace side there has been a fair amount of xfsprogs activity.&lt;br /&gt;
The repair speedup patches have finally been merged into the main development&lt;br /&gt;
branch and a couple of other fixes to the various utilities made it in, too.&lt;br /&gt;
The xfstests test suite saw another new regression test suite and a build&lt;br /&gt;
system fix up.&lt;br /&gt;
&lt;br /&gt;
== XFS status update for October 2009 ==&lt;br /&gt;
In October we saw the Linux 2.6.32 merge window with a major XFS update.&lt;br /&gt;
This update includes a refactoring of the inode allocator which also&lt;br /&gt;
allows for speedups for very large filesystems, major sync fixes, updates&lt;br /&gt;
to the fsync and O_SYNC handling which merge the two code paths into a single&lt;br /&gt;
and more efficient one, a workaround for the VFS time stamp behavior,&lt;br /&gt;
and of course various smaller fixes.  A couple of additional fixes have been&lt;br /&gt;
queued up for the next merge window.&lt;br /&gt;
&lt;br /&gt;
On the userspace side there has been a healthy activity on xfsprogs:  mkfs can&lt;br /&gt;
now discard unused sectors on SSDs and thinly provisioned storage devices and&lt;br /&gt;
use the more generic libblkid for topology information and filesystems detection&lt;br /&gt;
instead of the older libdisk, and the build system gained some updates to&lt;br /&gt;
make the source package generation simpler and shared for different package&lt;br /&gt;
types.  A patch has been out to the list but yet committed to add symbol&lt;br /&gt;
versioning to the libhandle library to make future ABI additions easier.&lt;br /&gt;
The xfstests package only saw some minor activity with a new test case&lt;br /&gt;
and small build system fixes.&lt;br /&gt;
&lt;br /&gt;
New minor releases of xfsprogs and xfsdump were tagged but not formally&lt;br /&gt;
released after additional discussion.  Instead a new major xfsprogs release&lt;br /&gt;
is planned for next month.&lt;br /&gt;
&lt;br /&gt;
== XFS status update for September 2009 ==&lt;br /&gt;
&lt;br /&gt;
In September the Linux 2.6.31 kernel was finally released, including another&lt;br /&gt;
last minute XFS fix for the swapext (defragmentation) compat ioctl handler.&lt;br /&gt;
The final patch from 2.6.30 to 2.6.31 shows the following impressive diffstat&lt;br /&gt;
for XFS:&lt;br /&gt;
&lt;br /&gt;
   55 files changed, 1476 insertions(+), 2269 deletions(-)&lt;br /&gt;
&lt;br /&gt;
The 2.6.32 merge window started with a large XFS merge that included changes&lt;br /&gt;
to the inode allocator, and a few smaller fixes.  New versions of the sync&lt;br /&gt;
and time stamp fixes as well as the event tracing support have been posted&lt;br /&gt;
in September but not yet merged into the XFS development tree and/or mainline.&lt;br /&gt;
&lt;br /&gt;
On the userspace side a large patch series to reduce the memory usage in&lt;br /&gt;
xfs_repair to acceptable levels was posted, but not yet merged.  A new xfs_df&lt;br /&gt;
shell script to measure use of the on disk space was posted but not yet&lt;br /&gt;
merged pending some minor review comments and a missing man page.  In addition&lt;br /&gt;
we saw the usual amount of smaller fixes and cleanups.&lt;br /&gt;
&lt;br /&gt;
Also this month Felix Blyakher resigned from his post as XFS maintainer and handed off to Alex Elder.&lt;br /&gt;
&lt;br /&gt;
== XFS status update for August 2009 ==&lt;br /&gt;
&lt;br /&gt;
In August the Linux 2.6.31 kernel has still been in the release candidate&lt;br /&gt;
stage, but a couple of important XFS fixes made it in time for the release,&lt;br /&gt;
including a fix for the inode cache races with NFS workloads that have&lt;br /&gt;
plagued us for a long time.&lt;br /&gt;
&lt;br /&gt;
The list saw various patches destined for the Linux 2.6.32 merge window,&lt;br /&gt;
including a merge of the fsync and O_SYNC handling code to address various&lt;br /&gt;
issues with the latter, a workaround for deficits in the timestamp handling&lt;br /&gt;
interface between the VFS and filesystems, a repost of the sync improvements&lt;br /&gt;
patch series and various smaller patches.&lt;br /&gt;
&lt;br /&gt;
August also saw the minor 3.0.3 release of xfsprogs which collects smaller&lt;br /&gt;
fixes to the various tools and most importantly a fix to allow xfsprogs to&lt;br /&gt;
work again on SPARC and other strict alignment handling which regressed a&lt;br /&gt;
few releases ago.  The xfstests repository saw a few new test cases and a&lt;br /&gt;
various small improvements.&lt;br /&gt;
&lt;br /&gt;
== XFS status update for July 2009 ==&lt;br /&gt;
&lt;br /&gt;
As a traditional summer vacation month July has not seen a lot of XFS&lt;br /&gt;
activity.  The mainline 2.6.31 kernel made it to the 5th release candidate&lt;br /&gt;
but besides a few kernel-wide patches touching XFS the only activity were&lt;br /&gt;
two small patches fixing a bug in FIEMAP and working around writeback&lt;br /&gt;
performance problems in the VM.&lt;br /&gt;
&lt;br /&gt;
A few more patches were posted to the list but haven&#039;t been merged yet.&lt;br /&gt;
Two big patch series deal with theoretically possible deadlocks due to&lt;br /&gt;
locks taken in reclaim contexts, which are now detected by lockdep.&lt;br /&gt;
&lt;br /&gt;
The pace on the userspace side has been slow.  There have been a couple&lt;br /&gt;
of fixes to xfs_repair and xfs_db, and xfstests grew a few more testcases.&lt;br /&gt;
&lt;br /&gt;
== XFS status update for June 2009 ==&lt;br /&gt;
&lt;br /&gt;
On June 9th we finally saw the release of Linux 2.6.30.  For XFS&lt;br /&gt;
this release mostly contains the improved ENOSPC handling, but also&lt;br /&gt;
various smaller bugfixes and lots of cleanups.  The code size of XFS&lt;br /&gt;
decreased again by 500 lines of code in this release.&lt;br /&gt;
&lt;br /&gt;
The Linux 2.6.31 merge opened in the mid of the month and some big XFS&lt;br /&gt;
changes have been pushed: A removal of the quotaops&lt;br /&gt;
infrastructure which simplifies the quota implementation, the switch&lt;br /&gt;
from XFS&#039;s own Posix ACL implementation to the generic one shared&lt;br /&gt;
by various other filesystems which also supports in-memory caching of&lt;br /&gt;
ACLs and another incremental refactoring of the sync code.&lt;br /&gt;
&lt;br /&gt;
A patch to better track dirty inodes and work around issues in the&lt;br /&gt;
way the VFS updates the access time stamp on inodes has been reposted&lt;br /&gt;
and discussed. Another patch to converting the existing XFS tracing&lt;br /&gt;
infrastructure to use the ftrace even tracer has been posted.&lt;br /&gt;
&lt;br /&gt;
On the userspace side there have been a few updates to xfsprogs, including&lt;br /&gt;
some repair fixes and a new fallocate command for xfs_io.  There were&lt;br /&gt;
major updates for xfstests:  The existing aio-dio-regress testsuite has&lt;br /&gt;
been merged into xfstests, and various changes went into the tree to make&lt;br /&gt;
xfstests better suitable for use with other filesystems.&lt;br /&gt;
&lt;br /&gt;
The attr and acl projects which have been traditionally been hosted&lt;br /&gt;
as part of the XFS userspace utilities have now been split into a separate&lt;br /&gt;
project maintained by Andreas Gruenbacher, who has been doing most of&lt;br /&gt;
the work on it, and moved to the Savannah hosting platform.&lt;br /&gt;
&lt;br /&gt;
== XFS status update for May 2009 ==&lt;br /&gt;
&lt;br /&gt;
In May Linux 2.6.30 was getting close to be released, and various&lt;br /&gt;
important XFS fixes made it during the latest release candidates.&lt;br /&gt;
In the meantime some big patch series to rework the sync code and&lt;br /&gt;
the inode allocator have been posted for the next merge window.&lt;br /&gt;
&lt;br /&gt;
On the userspace side xfsprogs and xfsdump 3.0.1 were finally released,&lt;br /&gt;
quickly followed by 3.0.2 releases with updated Debian packaging.&lt;br /&gt;
After that various small patches that were held back made it into xfsprogs.&lt;br /&gt;
A patch to add the xfs_reno tool which allows to move inodes around to&lt;br /&gt;
fit into 32 bit inode number space has been posted which is also one&lt;br /&gt;
central aspect of future online shrinking support.&lt;br /&gt;
&lt;br /&gt;
There has been major activity on xfstests including adding generic&lt;br /&gt;
filesystems support to allow running tests that aren&#039;t XFS-specific on&lt;br /&gt;
any Linux filesystems.&lt;br /&gt;
&lt;br /&gt;
== XFS status update for April 2009 ==&lt;br /&gt;
&lt;br /&gt;
In April development for Linux 2.6.30 was in full motion.  A patchset to correct flushing of delayed allocations with near full filesystems has been committed in early April, as well as various smaller fixes. A patch series to improve the behavior of sys_sync has been posted but is waiting for VFS changes queued for Linux 2.6.31.&lt;br /&gt;
&lt;br /&gt;
On the userspace side xfsprogs and xfsdump 3.0.1 have managed to split their release dates into May again after a lot of last-minute build system updates.&lt;br /&gt;
&lt;br /&gt;
== XFS status update for March 2009 ==&lt;br /&gt;
&lt;br /&gt;
Linux 2.6.29 has been released which includes major XFS updates like the&lt;br /&gt;
new generic btree code, a fully functional 32bit compat ioctl implementation&lt;br /&gt;
and the new combined XFS and Linux inode.  (See previous status reports&lt;br /&gt;
for more details). A patch series to improve correctness and performance&lt;br /&gt;
has been posted but not yet applied.  Various minor fixes and cleanups&lt;br /&gt;
have been sent to Linus for 2.6.30 which looks like it will be a minor&lt;br /&gt;
release for XFS after the big churn in 2.6.29.&lt;br /&gt;
&lt;br /&gt;
On userspace a lot of time has been spent on fixing and improving the&lt;br /&gt;
build system shared by the various XFS utilities as well as various smaller&lt;br /&gt;
improvements leading to the xfsprogs and xfsdump 3.0.1 releases which are&lt;br /&gt;
still outstanding.&lt;br /&gt;
&lt;br /&gt;
== XFS status update for February 2009 ==&lt;br /&gt;
&lt;br /&gt;
In February various smaller fixes have been sent to Linus for 2.6.29,&lt;br /&gt;
including a revert of the faster vmap APIs which don&#039;t seem to be quite&lt;br /&gt;
ready yet on the VM side.  At the same time various patches have been&lt;br /&gt;
queued up for 2.6.30, with another big batch pending.  There also has&lt;br /&gt;
been a repost of the CRC patch series, including support for a new,&lt;br /&gt;
larger inode core.&lt;br /&gt;
&lt;br /&gt;
SGI released various bits of work in progress from former employees&lt;br /&gt;
that will be extremely helpful for the future development of XFS,&lt;br /&gt;
thanks a lot to Mark Goodwin for making this happen.&lt;br /&gt;
&lt;br /&gt;
On the userspace side the long awaited 3.0.0 releases of xfsprogs and&lt;br /&gt;
xfsdump finally happened early in the month, accompanied by a 2.2.9&lt;br /&gt;
release of the dmapi userspace.  There have been some issues with packaging&lt;br /&gt;
so a new minor release might follow soon.&lt;br /&gt;
&lt;br /&gt;
The xfs_irecover tool has been relicensed so that it can be merged into&lt;br /&gt;
the GPLv2 codebase of xfsprogs, but the actual integration work hasn&#039;t&lt;br /&gt;
happened yet.&lt;br /&gt;
&lt;br /&gt;
Important bits of XFS documentation that have been available on the XFS&lt;br /&gt;
website in PDF form have been released in the document source form under&lt;br /&gt;
the Creative Commons license so that they can be updated as a community&lt;br /&gt;
effort, and checked into a public git tree.&lt;br /&gt;
&lt;br /&gt;
== XFS status update for January 2009 ==&lt;br /&gt;
&lt;br /&gt;
January has been an extremely busy month on the userspace front.  Many&lt;br /&gt;
smaller and medium updates went into xfsprogs, xfstests and to a lesser&lt;br /&gt;
extent xfsdump.  xfsprogs and xfsdump are ramping up for getting a 3.0.0&lt;br /&gt;
release out in early February which will include the first major re-sync&lt;br /&gt;
with the kernel code in libxfs, a cleanup of the exported library interfaces&lt;br /&gt;
and the move of two tools (xfs_fsr and xfs_estimate) from the xfsdump&lt;br /&gt;
package to xfsprogs.  After this the xfsprogs package will contain all&lt;br /&gt;
tools that use internal libxfs interfaces which fortunately equates to those&lt;br /&gt;
needed for normal administration.  The xfsdump package now only contains&lt;br /&gt;
the xfsdump/xfsrestore tools needed for backing up and restoring XFS&lt;br /&gt;
filesystems.  In addition it grew a fix to support dump/restore on systems&lt;br /&gt;
with a 64k page size.  A large number of acl/attr package patches was&lt;br /&gt;
posted to the list, but pending a possible split of these packages from the&lt;br /&gt;
XFS project these weren&#039;t processed yet.&lt;br /&gt;
&lt;br /&gt;
On the kernel side the big excitement in January was an in-memory corruption&lt;br /&gt;
introduced in the btree refactoring which hit people running 32bit platforms&lt;br /&gt;
without support for large block devices.  This issue was fixed and pushed&lt;br /&gt;
to the 2.6.29 development tree after a long collaborative debugging effort&lt;br /&gt;
at linux.conf.au.  Besides that about a dozen minor fixes were pushed to&lt;br /&gt;
2.6.29 and the first batch of misc patches for the 2.6.30 release cycle&lt;br /&gt;
was sent out.&lt;br /&gt;
&lt;br /&gt;
At the end of December the SGI group in Melbourne which the previous&lt;br /&gt;
XFS maintainer and some other developers worked for has been closed down&lt;br /&gt;
and they will be missed greatly.  As a result maintainership has been passed&lt;br /&gt;
on in a way that has been slightly controversial in the community, and the&lt;br /&gt;
first patchset of work in progress in Melbourne have been posted to the list&lt;br /&gt;
to be picked up by others.&lt;br /&gt;
&lt;br /&gt;
The xfs.org wiki has gotten a little facelift on it&#039;s front page making it&lt;br /&gt;
a lot easier to read.&lt;br /&gt;
&lt;br /&gt;
== XFS status update for December 2008 ==&lt;br /&gt;
&lt;br /&gt;
On Christmas Eve the 2.6.28 mainline kernel was release, with only minor XFS&lt;br /&gt;
bug fixes over 2.6.27.&lt;br /&gt;
&lt;br /&gt;
On the development side December has been busy but unspectacular month.&lt;br /&gt;
All lot of misc fixes and improvements have been sent out, tested and committed&lt;br /&gt;
especially on the user land side.&lt;br /&gt;
&lt;br /&gt;
== XFS status update for November 2008 ==&lt;br /&gt;
&lt;br /&gt;
The mainline kernel is now at 2.6.28-rc6 and includes a small number of&lt;br /&gt;
XFS fixes.  There have been no updates to the XFS development tree during&lt;br /&gt;
November.  Without new regressions that large number of changes that&lt;br /&gt;
missed 2.6.28 has thus stabilized to be ready for 2.6.29.  In the meantime&lt;br /&gt;
kernel-side development has been slow, with the only major patch set&lt;br /&gt;
being a wide number of fixes to the compatibility for 32 bit ioctls on&lt;br /&gt;
a 64 bit kernel.&lt;br /&gt;
&lt;br /&gt;
In the meantime there has been a large number of commits to the user space&lt;br /&gt;
tree, which mostly consist of smaller fixes.  xfsprogs is getting close&lt;br /&gt;
to have the 3.0.0 release which will be the first full resync with the&lt;br /&gt;
kernel sources since the year 2005.&lt;br /&gt;
&lt;br /&gt;
== XFS status update for October 2008 ==&lt;br /&gt;
&lt;br /&gt;
Linux 2.6.27 released with all the bits covered in last month&#039;s report.  It&lt;br /&gt;
did however miss two important fixes for regressions that a few people hit.&lt;br /&gt;
2.6.27.3 or later are recommended for use with XFS.&lt;br /&gt;
&lt;br /&gt;
In the meantime the generic btree implementation, the sync reorganization&lt;br /&gt;
and after a lot of merge pain the XFS and VFS inode unification hit the&lt;br /&gt;
development tree during the time allocated for the merge window.  No XFS&lt;br /&gt;
updates other than the two regression fixes also in 2.6.27.3 have made it&lt;br /&gt;
into mainline as of 2.6.28-rc3.&lt;br /&gt;
&lt;br /&gt;
The only new feature on the list in October is support for the fiemap&lt;br /&gt;
interface that has been added to the VFS during the 2.6.28 merge window.&lt;br /&gt;
However there was lot of patch traffic consisting of fixes and respun&lt;br /&gt;
versions of previously known patches.  There still is a large backlog of&lt;br /&gt;
patches on the list that is not applied to the development tree yet.&lt;br /&gt;
&lt;br /&gt;
== XFS status update for September 2008 ==&lt;br /&gt;
&lt;br /&gt;
With Linux 2.6.27 still not released but only making slow progress from 2.6.27-rc5 to 2.6.27-rc8 XFS changes in mainline have been minimal in September with only about half a dozen bug fixes patches.&lt;br /&gt;
&lt;br /&gt;
In the meantime the generic btree patch set has been committed to the development tree, but not many other updates yet. On the user space side xfsprogs 2.10.1 has been released on September 5th with a number of important bug fixes. Following the release of xfsprogs 2.10.1 open season for development of the user space code has started. The first full update of the shared kernel / user space code in libxfs since 2005 has been committed. In addition to that the number of headers installed for the regular devel package has been reduced to the required minimum and support for checking the source code for endianess errors using sparse has been added.&lt;br /&gt;
&lt;br /&gt;
The patch sets to unify the XFS and Linux inode structures, and rewrite various bits of the sync code have seen various iterations on the XFS list, but haven&#039;t been committed yet. A first set of patches implementing CRCs for various metadata structures has been posted to the list.&lt;br /&gt;
&lt;br /&gt;
== XFS status update for August 2008 ==&lt;br /&gt;
&lt;br /&gt;
With the 2.6.27-rc5 release the 2.6.27 cycle is nearing it&#039;s end. The major XFS feature in 2.6.27-rc5 is support for case-insensitive file names. At this point it is still limited to 7bit ASCII file names, with updates for utf8 file names expected to follow later. In addition to that 2.6.27-rc5 fixes a long-standing problem with non-EABI arm compiler which pack some XFS data structures wrongly. Besides this 2.6.27-rc5 also contains various cleanups, most notably the removal of the last bhv_vnode_t instances, and most uses of semaphores. As usual the diffstat for XFS from 2.6.26 to 2.6.26-rc5 is negative:&lt;br /&gt;
&lt;br /&gt;
       100 files changed, 3819 insertions(+), 4409 deletions(-)&lt;br /&gt;
&lt;br /&gt;
On the user space front a new minor xfsprogs version is about to be released containing various fixes including the user space part of arm packing fix.&lt;br /&gt;
&lt;br /&gt;
Work in progress on the XFS mailing list are a large patch set to unify the alloc, inobt and bmap btree implementation into a single that supports arbitrarily pluggable key and record formats. These btree changes are the first major preparation for adding CRC checks to all metadata structures in XFS, and an even larger patch set to unify the XFS and Linux inode structures, and perform all inode write back from the btree uses instead of an inode cache in XFS.&lt;br /&gt;
&lt;br /&gt;
== Updates before 2008 ==&lt;br /&gt;
&lt;br /&gt;
News up to 2007 can be found on a separate page: [[OLD_News]]&lt;/div&gt;</summary>
		<author><name>Hch</name></author>
	</entry>
	<entry>
		<id>https://xfs.org/index.php?title=XFS_Status_Updates&amp;diff=2152</id>
		<title>XFS Status Updates</title>
		<link rel="alternate" type="text/html" href="https://xfs.org/index.php?title=XFS_Status_Updates&amp;diff=2152"/>
		<updated>2011-02-13T18:41:15Z</updated>

		<summary type="html">&lt;p&gt;Hch: January update&lt;/p&gt;
&lt;hr /&gt;
&lt;div&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 quite, 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&#039;t been committed yet were discussed on the mailing list.&lt;br /&gt;
&lt;br /&gt;
== XFS status update for December 2010 ==&lt;br /&gt;
&lt;br /&gt;
The release process of the Linux 2.6.37 kernel with it&#039;s large XFS updates&lt;br /&gt;
was in it&#039;s final days in December, which explains why we only saw a single&lt;br /&gt;
one-liner regression fix for XFS in Linus&#039; tree.  The XFS development tree&lt;br /&gt;
finally saw some updates when the writeback updates and some small cleanups&lt;br /&gt;
to the allocator and log recovery code were merged, but the large metadata&lt;br /&gt;
scalability updates that have been posted to the list multiple times are&lt;br /&gt;
still missing.  In addition to this on-going work the list also saw patches&lt;br /&gt;
that fix smaller issues, which are also still waiting to be merged.&lt;br /&gt;
&lt;br /&gt;
On the userspace side xfsprogs and xfsdump development has been quit, with&lt;br /&gt;
no commits to either repository in December, although a large series of&lt;br /&gt;
updates to the metadump command has been reposted near the end of the month.&lt;br /&gt;
The xfstests repository saw a new regression test for a btrfs problem,&lt;br /&gt;
and various updates to existing tests.&lt;br /&gt;
&lt;br /&gt;
== XFS status update for November 2010 ==&lt;br /&gt;
&lt;br /&gt;
From looking at the kernel git commits November looked like a pretty&lt;br /&gt;
slow month with just two hand full fixes going into the release candidates&lt;br /&gt;
for Linux 2.6.37, and none at all going into the development tree.&lt;br /&gt;
But in this case git statistics didn&#039;t tell the whole story - there&lt;br /&gt;
was a lot of activity on patches for the next merge window on the list.&lt;br /&gt;
The focus in November was still at metadata scalability, with various&lt;br /&gt;
patchsets that improves parallel creates and unlinks again, and also&lt;br /&gt;
improves 8-way dbench throughput by 30%.  In addition to that there&lt;br /&gt;
were patches to improve preallocation for NFS servers, to simplify&lt;br /&gt;
the writeback code, and to remove the XFS-internal percpu counters&lt;br /&gt;
for free space for the generic kernel percpu counters, which just needed&lt;br /&gt;
a small improvement.&lt;br /&gt;
&lt;br /&gt;
On the user space side we saw the release of xfsprogs 3.1.4, which&lt;br /&gt;
contains various accumulated bug fixes and Debian packaging updates.&lt;br /&gt;
The xfsdump tree saw a large update to speed up restore by using&lt;br /&gt;
mmap for an internal database and remove the limitation of ~ 214&lt;br /&gt;
million directory entries per dump file.  The xfstests test suite&lt;br /&gt;
saw three new testcases and various fixes, including support for the&lt;br /&gt;
hfsplus filesystem.&lt;br /&gt;
&lt;br /&gt;
== XFS status update for October 2010 ==&lt;br /&gt;
&lt;br /&gt;
Near the end of the month we finally saw the release of Linux 2.6.36.&lt;br /&gt;
Just a single fix made it into mainline in this month, showing that the&lt;br /&gt;
stabilization period before has worked very well.&lt;br /&gt;
&lt;br /&gt;
Linux 2.6.36 has been another impressive release for XFS, seeing&lt;br /&gt;
various performance improvements in the new delayed logging code,&lt;br /&gt;
for direct I/O and the sync system call, a few bug fixes, and lots&lt;br /&gt;
of cleanups, resulting in a net removal of over 2000 lines of code:&lt;br /&gt;
&lt;br /&gt;
        89 files changed, 1998 insertions(+), 4279 deletions(-)&lt;br /&gt;
&lt;br /&gt;
The merge window for Linux 2.6.37 opened just a few days after the&lt;br /&gt;
release of Linux 2.6.36 and already contains another large XFS update&lt;br /&gt;
at the end of October.  Highlights of the XFS tree merged into 2.6.37-rc1&lt;br /&gt;
are another large set of metadata scalability patches, support for 32-bit&lt;br /&gt;
wide project IDs, and support for the new XFS_IOC_ZERO_RANGE ioctl,&lt;br /&gt;
which allows to punch a whole and convert it to an unwritten extent&lt;br /&gt;
in a single atomic operation.&lt;br /&gt;
&lt;br /&gt;
The metadata scalability changes improve 8-way fs_mark of 50 million files&lt;br /&gt;
by over 15% and removal of those files by over 100%, with further&lt;br /&gt;
improvements expected by the next round of XFS metadata scalability&lt;br /&gt;
and VFS scalability improvements targeted at Linux 2.6.38.&lt;br /&gt;
&lt;br /&gt;
On the user space side October was a rather quit month for xfsprogs, which&lt;br /&gt;
only saw the addition of 32-bit project ID handling, and a fix for&lt;br /&gt;
parsing the mount table in fsr when used together with disk encryption&lt;br /&gt;
tools.  A few patches for xfsdump were posted on the list, but none&lt;br /&gt;
was applied, leaving the majority of the user space activity to&lt;br /&gt;
xfstests, which saw very active development.  Various patches went&lt;br /&gt;
into xfstests to improve portability to filesystems with a limited&lt;br /&gt;
feature set, and to move more filters to generic code.  In addition&lt;br /&gt;
various cleanups to test cases in test programs were applied.&lt;br /&gt;
&lt;br /&gt;
== XFS status update for September 2010 ==&lt;br /&gt;
&lt;br /&gt;
Mainline activity has been rather low in September while with only&lt;br /&gt;
two more fixes going into the 2.6.36 release candidates after the&lt;br /&gt;
large merge activity in August.  Development for the next merge&lt;br /&gt;
window has been more active.  The largest item was the inclusion&lt;br /&gt;
of the metadata scalability patch series, which provides very large&lt;br /&gt;
speedups for parallel metadata operations.  In addition a new&lt;br /&gt;
ioctl to punch holes and convert the whole to an unwritten extent&lt;br /&gt;
was added and a small number of cleanups also made it into the tree.&lt;br /&gt;
&lt;br /&gt;
Patches to add support for 32bit wide project ID identifiers and&lt;br /&gt;
using group and project quotas concurrently were posted to the list&lt;br /&gt;
and discussed but not yet included.&lt;br /&gt;
&lt;br /&gt;
Userspace development has been rather quited again, with a single fix&lt;br /&gt;
committed to xfsprogs and xfsdump each.  The xfstests test suite grew&lt;br /&gt;
a new test case and received a few additional fixes.  Last but not least&lt;br /&gt;
the [http://xfs.org/docs/xfsdocs-xml-dev/XFS_User_Guide//tmp/en-US/html/index.html XFS Users Guide]&lt;br /&gt;
was updated with various factual corrections and spelling fixes.&lt;br /&gt;
&lt;br /&gt;
== XFS status update for August 2010 ==&lt;br /&gt;
&lt;br /&gt;
At the first of August we finally saw the release of Linux 2.6.35,&lt;br /&gt;
which includes a large XFS update.  The most prominent feature in&lt;br /&gt;
Linux 2.6.35 is the new delayed logging code which provides massive&lt;br /&gt;
speedups for metadata-intensive workloads, but there has been&lt;br /&gt;
a large amount of other fixes and cleanups, leading to the following&lt;br /&gt;
diffstat:&lt;br /&gt;
&lt;br /&gt;
         67 files changed, 4426 insertions(+), 3835 deletions(-)&lt;br /&gt;
&lt;br /&gt;
Given the early release of Linux 2.6.35 the merge window for the&lt;br /&gt;
next release fully fell into the month of August.  The XFS updates&lt;br /&gt;
for Linux 2.6.36 include various additional performance improvements&lt;br /&gt;
in the delayed logging code, for direct I/O writes and for avoiding&lt;br /&gt;
synchronous transactions, as well as various fixed and large amount&lt;br /&gt;
of cleanups, including the removal of the remaining dead DMAPI&lt;br /&gt;
code.&lt;br /&gt;
&lt;br /&gt;
On the userspace side we saw the 3.1.3 release of xfsprogs, which includes&lt;br /&gt;
various smaller fixes, support for the new XFS_IOC_ZERO_RANGE ioctl and&lt;br /&gt;
Debian packaging updates.  The xfstests package saw one new test case&lt;br /&gt;
and a couple of smaller patches, and xfsdump has not seen any updates at&lt;br /&gt;
all.&lt;br /&gt;
&lt;br /&gt;
The XMLified versions of the XFS users guide, training labs and filesystem&lt;br /&gt;
structure documentation are now available as on the fly generated html on&lt;br /&gt;
the xfs.org website and can be found at [[XFS_Papers_and_Documentation|Papers &amp;amp; Documentation]].&lt;br /&gt;
&lt;br /&gt;
== XFS status update for July 2010 ==&lt;br /&gt;
&lt;br /&gt;
July saw three more release candidates for the Linux 2.6.35 kernel, which&lt;br /&gt;
included a relatively large number of XFS updates.  There were two security&lt;br /&gt;
fixes, a small one to prevent swapext to operate on write-only file&lt;br /&gt;
descriptors, and a much larger one to properly validate inode numbers&lt;br /&gt;
coming from NFS clients or userspace applications using the bulkstat or&lt;br /&gt;
the open-by-handle interfaces.  In addition to that another relatively&lt;br /&gt;
large patch fixes the way inodes get reclaimed in the background, and&lt;br /&gt;
avoids inode caches growing out of bounds.&lt;br /&gt;
&lt;br /&gt;
In the meantime the code for the Linux 2.6.36 got the last touches before&lt;br /&gt;
the expected opening of the merge window, by merging a few more last&lt;br /&gt;
minute fixes and cleanups.  The most notable one is a patch series&lt;br /&gt;
that fixes in-memory corruption when concurrently accessing unwritten&lt;br /&gt;
extents using the in-kernel AIO code.&lt;br /&gt;
&lt;br /&gt;
The userspace side was still quite slow, but some a bit more activity&lt;br /&gt;
than June.  In xfsprogs the xfs_db code grew two bug fixes, as did&lt;br /&gt;
the xfs_io script.  The xfstests package saw one new test cases and&lt;br /&gt;
various fixes to existing code.  Last but not least a few patches&lt;br /&gt;
affecting the build system for all userspace tools were committed.&lt;br /&gt;
&lt;br /&gt;
== XFS status update for June 2010 ==&lt;br /&gt;
&lt;br /&gt;
The month of June saw a few important bug fixes for the Linux 2.6.35&lt;br /&gt;
release candidates.  That includes ensuring that files used for the&lt;br /&gt;
swapext ioctl are writable to the user, and doing proper validation&lt;br /&gt;
of inodes coming from untrusted sources, such as NFS exporting and&lt;br /&gt;
the open by handle system calls.  The main work however has been&lt;br /&gt;
focused on development for the Linux 2.6.36 merge window, including&lt;br /&gt;
merging various patches that have been out on the mainline list&lt;br /&gt;
for a long time.  Highlights include further performance improvements&lt;br /&gt;
for sync heavy metadata workloads, stack space reduction in the&lt;br /&gt;
writeback path and improvements of the XFS tracing infrastructure.&lt;br /&gt;
Also after some discussion the remaining hooks for DMAPI are going&lt;br /&gt;
to be dropped in mainline.   As a replacement a tree containing&lt;br /&gt;
full DMAPI support with a slightly cleaner XFS interaction will be&lt;br /&gt;
hosted by SGI.&lt;br /&gt;
&lt;br /&gt;
On the userspace side June was a rather slow month, with no updates&lt;br /&gt;
to xfsprogs and xfsdump at all, and just one new test case and a cleanup&lt;br /&gt;
applied to xfstests.&lt;br /&gt;
&lt;br /&gt;
== XFS status update for May 2010 ==&lt;br /&gt;
&lt;br /&gt;
In May 2010 we saw the long awaited release of Linux 2.6.34, which includes&lt;br /&gt;
a large XFS update.  The most important features appearing in 2.6.34 was the&lt;br /&gt;
new inode and quota flushing code, which leads to much better I/O patterns&lt;br /&gt;
for metadata-intensive workloads.  Additionally support for synchronous NFS&lt;br /&gt;
exports has been improved to give much better performance, and performance&lt;br /&gt;
for the fsync, fdatasync and sync system calls has been improved slightly.&lt;br /&gt;
A bug when resizing extremely busy filesystems has been fixed, which required&lt;br /&gt;
extensive modification to the data structure used for looking up the&lt;br /&gt;
per-allocation group data.  Last but not least there was a steady flow of&lt;br /&gt;
minor bug fixes and cleanups, leading to the following diffstat from&lt;br /&gt;
2.6.33 to 2.6.34:&lt;br /&gt;
&lt;br /&gt;
  86 files changed, 3209 insertions(+), 3178 deletions(-)&lt;br /&gt;
&lt;br /&gt;
Meanwhile active development aimed at 2.6.35 merge progressed.  The&lt;br /&gt;
major feature for this window is the merge of the delayed logging code,&lt;br /&gt;
which adds a new logging mode that dramatically reduces the bandwidth&lt;br /&gt;
required for log I/O.  See the &lt;br /&gt;
[http://git.kernel.org/?p=linux/kernel/git/torvalds/linux-2.6.git;a=blob;f=Documentation/filesystems/xfs-delayed-logging-design.txt;h=96d0df28bed323d5596fc051b0ffb96ed8e3c8df;hb=HEAD documentation] for details.  Testers&lt;br /&gt;
for this new code are welcome.&lt;br /&gt;
&lt;br /&gt;
In userland xfsprogs saw the long awaited 3.1.2 release, which can be&lt;br /&gt;
considered a bug fix release for xfs_repair, xfs_fsr and mkfs.xfs.  After&lt;br /&gt;
the release a few more fixes were merged into the development tree.&lt;br /&gt;
The xfstests package saw various new tests, including many tests to&lt;br /&gt;
exercise the quota code, and a few fixes to existing tests.&lt;br /&gt;
&lt;br /&gt;
== XFS status update for April 2010 ==&lt;br /&gt;
&lt;br /&gt;
In April 2.6.34 still was in the release candidate phase, with&lt;br /&gt;
a hand full of XFS fixes making it into mainline.  Development for&lt;br /&gt;
the 2.6.35 merge window went ahead full steam at the same time.&lt;br /&gt;
&lt;br /&gt;
While a fair amount of patches hit the development tree these were&lt;br /&gt;
largely cleanups, with the real development activity happening on&lt;br /&gt;
the mailing list.  There was another round of patches and following&lt;br /&gt;
discussion on the scalable busy extent tracking and delayed logging&lt;br /&gt;
features mentioned last month.  They are expected to be merged in&lt;br /&gt;
May and queue up for the Linux 2.6.35 window.  Last but not least&lt;br /&gt;
April saw a large number of XFS fixes backported to the 2.6.32 and&lt;br /&gt;
2.6.33 -stable series.&lt;br /&gt;
&lt;br /&gt;
In user land xfsprogs has seen few but important updates, preparing&lt;br /&gt;
for a new release next month.  The xfs_repair tool saw a fix to&lt;br /&gt;
correctly enable the lazy superblock counters on an existing&lt;br /&gt;
filesystem, and xfs_fsr saw updates to better deal with dynamic&lt;br /&gt;
attribute forks.  Last but not a least a port to Debian GNU/kFreeBSD&lt;br /&gt;
got merged. The xfstests test suite saw two new test cases and various&lt;br /&gt;
smaller fixes.&lt;br /&gt;
&lt;br /&gt;
== XFS status update for March 2010 ==&lt;br /&gt;
&lt;br /&gt;
The merge window for Linux 2.6.34 closed in the first week of March,&lt;br /&gt;
with the important XFS features already landing in February.  Not&lt;br /&gt;
surprisingly the XFS merge activity in March has been rather slow,&lt;br /&gt;
with only about a dozen bug fixes patches making it towards Linus&#039;&lt;br /&gt;
tree in that time.&lt;br /&gt;
&lt;br /&gt;
On the other hand active development for the 2.6.35 merge window has&lt;br /&gt;
been very active.  Most importantly there was a lot of work on the&lt;br /&gt;
transaction and log subsystems.  Starting with a large patchset to&lt;br /&gt;
clean up and refactor the transaction subsystem and introducing more&lt;br /&gt;
flexible I/O containers in the low-level logging code work is&lt;br /&gt;
progressing to a new, more efficient logging implementation.  While&lt;br /&gt;
this preparatory work has already been merged in the development tree,&lt;br /&gt;
the actual delayed logging implementation still needs more work after&lt;br /&gt;
the initial public posting.  The delayed logging implementation which&lt;br /&gt;
is very briefly modeled after the journaling mode in the ext3/4&lt;br /&gt;
and reiserfs filesystems allows to accumulated multiple asynchronous&lt;br /&gt;
transactions in memory instead of possibly writing them out&lt;br /&gt;
many times.  Using the new delayed logging mechanism I/O bandwidth&lt;br /&gt;
used for the log decreases by orders of magnitude and performance&lt;br /&gt;
on metadata intensive workloads increases massively.&lt;br /&gt;
&lt;br /&gt;
In addition to that a new version of the discard (aka TRIM) support&lt;br /&gt;
has been posted, this time entirely contained in kernel space&lt;br /&gt;
and without the need of a userspace utility to drive it.  Last but&lt;br /&gt;
not least the usual steady stream of cleanups and bug fixes has not&lt;br /&gt;
ceased this month either.&lt;br /&gt;
&lt;br /&gt;
Besides the usual flow of fixes and new test cases in the xfstests&lt;br /&gt;
test suite development on the userspace side has been rather slow.&lt;br /&gt;
Xfsprogs has only seen a single fix for SMP locking in xfs_repair&lt;br /&gt;
and support for building on Debian GNU/kFreeBSD, and xfsdump&lt;br /&gt;
has seen no commit at all.&lt;br /&gt;
&lt;br /&gt;
== XFS status update for February 2010 ==&lt;br /&gt;
&lt;br /&gt;
February saw the release of the Linux 2.6.33 kernel, which includes&lt;br /&gt;
a large XFS update.  The biggest user-visible change in Linux 2.6.33&lt;br /&gt;
is that XFS now support the generic Linux trace event infrastructure,&lt;br /&gt;
which allows tracing lots of XFS behavior with a normal production&lt;br /&gt;
built kernel.  Except for this Linux 2.6.33 has been mostly a bug-fix&lt;br /&gt;
release, fixing various user reported bugs in previous releases.&lt;br /&gt;
The total diffstat for XFS in Linux 2.6.33 looks like:&lt;br /&gt;
&lt;br /&gt;
  84 files changed, 3023 insertions(+), 3550 deletions(-)&lt;br /&gt;
&lt;br /&gt;
In addition to that the merge window for Linux 2.6.34 opened and the&lt;br /&gt;
first merge of the XFS tree made it into Linus tree.  Unlike Linux&lt;br /&gt;
2.6.33 this merge window includes major feature work.  The most&lt;br /&gt;
important change for users is a new algorithm for inode and quota&lt;br /&gt;
writeback that leads to better I/O locality and improved metadata&lt;br /&gt;
performance.  The second big change is a rewrite of the per-allocation&lt;br /&gt;
group data lookup which fixes a long-standing problem in the code&lt;br /&gt;
to grow a life filesystem and will also ease future filesystem&lt;br /&gt;
shrinking support.  Not merged through the XFS tree, but of great&lt;br /&gt;
importance for embedded users is a new API that allows XFS to properly&lt;br /&gt;
flush cache lines on it&#039;s log and large directory buffers, making&lt;br /&gt;
XFS work properly on architectures with virtually indexed caches,&lt;br /&gt;
such as parisc and various arm and mips variants.  Last but not&lt;br /&gt;
least there is an above average amount of cleanups that went into&lt;br /&gt;
Linus tree in this cycle.&lt;br /&gt;
&lt;br /&gt;
There have been more patches on the mailing list that haven&#039;t made&lt;br /&gt;
it to Linus tree yet, including an optimized implementation of&lt;br /&gt;
fdatasync(2) and massive speedups for metadata workloads on&lt;br /&gt;
NFS exported XFS filesystems.&lt;br /&gt;
&lt;br /&gt;
On the userspace side February has been a relatively quite month.&lt;br /&gt;
Lead by xfstests only a moderate amount of fixes made it into&lt;br /&gt;
the respective trees.&lt;br /&gt;
&lt;br /&gt;
== XFS status update for January 2010 ==&lt;br /&gt;
&lt;br /&gt;
January saw additional release candidates of the Linux 2.6.33 kernel,&lt;br /&gt;
including a couple of bug fixes for XFS.  In the meantime the XFS tree&lt;br /&gt;
has been growing a large number of patches destined for the Linux 2.6.34&lt;br /&gt;
merge window: a large rework of the handling of per-AG data, support for&lt;br /&gt;
the quota netlink interface, and better power saving behavior of the&lt;br /&gt;
XFS kernel threads, and of course various cleanups.&lt;br /&gt;
&lt;br /&gt;
A large patch series to replace the current asynchronous inode writeback&lt;br /&gt;
with a new scheme that uses the delayed write buffers was posted to&lt;br /&gt;
the list.  The new scheme, which allows archive better I/O locality by&lt;br /&gt;
dispatching meta-data I/O from a single place has been discussed&lt;br /&gt;
extensively and is expected to be merged in February.&lt;br /&gt;
&lt;br /&gt;
On the userspace side January saw the 3.1.0 and 3.1.1 releases of xfsprogs,&lt;br /&gt;
as well as the 3.0.4 release of xfsdump.  The biggest changes in xfsprogs&lt;br /&gt;
3.1.0 were optimizations in xfs_repair that lead to a much lower memory&lt;br /&gt;
usage, and optional use of the blkid library for filesystem detection&lt;br /&gt;
and retrieving storage topology information.  The 3.1.1 release contained&lt;br /&gt;
various important bug fixes for these changes and a various improvements to&lt;br /&gt;
the build system.  The major feature of xfsdump 3.0.4 were fixes for&lt;br /&gt;
time stamp handling on 64-bit systems.&lt;br /&gt;
&lt;br /&gt;
The xfstests package also lots of activity including various new testcases&lt;br /&gt;
and an improved build system.&lt;br /&gt;
&lt;br /&gt;
== XFS status update for December 2009 ==&lt;br /&gt;
&lt;br /&gt;
December finally saw the long awaited release of Linux 2.6.32, which for&lt;br /&gt;
XFS is mostly a bug fix release, with the major changes being various&lt;br /&gt;
improvement to the sync path, including working around the expectation&lt;br /&gt;
from the grub boot loader where metadata is supposed to be after a sync()&lt;br /&gt;
system call.  Together with a refactoring of the inode allocator this&lt;br /&gt;
gives a nice diffstat for this kernel release:&lt;br /&gt;
&lt;br /&gt;
 46 files changed, 767 insertions(+), 1048 deletions(-)&lt;br /&gt;
&lt;br /&gt;
In the meantime development for the 2.6.33 has been going strong.  The&lt;br /&gt;
new event tracing code that allows to observe the inner workings of XFS&lt;br /&gt;
in production systems has finally been merged, with another patch to&lt;br /&gt;
reduce the size of the tracing code by using new upstream kernel features&lt;br /&gt;
posted for review.  Also a large patch series has been posted which&lt;br /&gt;
changes per-AG data to be looked up by a radix tree instead of the&lt;br /&gt;
existing array.  This works around possible deadlocks and user after&lt;br /&gt;
free issues during growfs, and prepares for removing a global (shared)&lt;br /&gt;
lock from the free space allocators.  In addition to that a wide range&lt;br /&gt;
of fixes has been posted and applied.&lt;br /&gt;
&lt;br /&gt;
Work on the userspace packages has been just as busy.  In mkfs.xfs the&lt;br /&gt;
lazy superblock counter feature has now been enabled by default for the&lt;br /&gt;
upcoming xfsprogs 3.1.0 release, which will require kernel 2.6.22 for&lt;br /&gt;
the default mkfs invocation.  Also for mkfs.xfs as patch was posted&lt;br /&gt;
to correct the automatic detection of 4 kilobyte sector drivers which&lt;br /&gt;
are expected to show up in large quantities the real work soon.  The&lt;br /&gt;
norepair mode in xfs_repair has been enhanced with additional freespace&lt;br /&gt;
btree correction checks from xfs_db and is now identical to xfs_check in&lt;br /&gt;
filesystem consistency checking coverage.  A temporary file permission&lt;br /&gt;
problems has been fixed in xfs_fsr, and the libhandle library has been&lt;br /&gt;
fixed to better deal with symbolic links.  In xfs_io a few commands&lt;br /&gt;
that were added years ago have finally been wired up to actually be&lt;br /&gt;
usable.  And last but not least xfsdump saw a fix to the time stamp&lt;br /&gt;
handling in the backup format and some usability and documentation&lt;br /&gt;
improvements to xfsinvutil.&lt;br /&gt;
&lt;br /&gt;
== XFS status update for November 2009 ==&lt;br /&gt;
&lt;br /&gt;
November was a relatively slow month for XFS development.  The XFS tree&lt;br /&gt;
that is destined for the Linux 2.6.33 merge window saw a few fixes and&lt;br /&gt;
cleanups applied to it, and few important fixes still made it into the&lt;br /&gt;
last Linux 2.6.32 release candidates.  A few more patches including a&lt;br /&gt;
final version of the event tracing support for XFS were posted but not&lt;br /&gt;
reviewed yet.&lt;br /&gt;
&lt;br /&gt;
On the userspace side there has been a fair amount of xfsprogs activity.&lt;br /&gt;
The repair speedup patches have finally been merged into the main development&lt;br /&gt;
branch and a couple of other fixes to the various utilities made it in, too.&lt;br /&gt;
The xfstests test suite saw another new regression test suite and a build&lt;br /&gt;
system fix up.&lt;br /&gt;
&lt;br /&gt;
== XFS status update for October 2009 ==&lt;br /&gt;
In October we saw the Linux 2.6.32 merge window with a major XFS update.&lt;br /&gt;
This update includes a refactoring of the inode allocator which also&lt;br /&gt;
allows for speedups for very large filesystems, major sync fixes, updates&lt;br /&gt;
to the fsync and O_SYNC handling which merge the two code paths into a single&lt;br /&gt;
and more efficient one, a workaround for the VFS time stamp behavior,&lt;br /&gt;
and of course various smaller fixes.  A couple of additional fixes have been&lt;br /&gt;
queued up for the next merge window.&lt;br /&gt;
&lt;br /&gt;
On the userspace side there has been a healthy activity on xfsprogs:  mkfs can&lt;br /&gt;
now discard unused sectors on SSDs and thinly provisioned storage devices and&lt;br /&gt;
use the more generic libblkid for topology information and filesystems detection&lt;br /&gt;
instead of the older libdisk, and the build system gained some updates to&lt;br /&gt;
make the source package generation simpler and shared for different package&lt;br /&gt;
types.  A patch has been out to the list but yet committed to add symbol&lt;br /&gt;
versioning to the libhandle library to make future ABI additions easier.&lt;br /&gt;
The xfstests package only saw some minor activity with a new test case&lt;br /&gt;
and small build system fixes.&lt;br /&gt;
&lt;br /&gt;
New minor releases of xfsprogs and xfsdump were tagged but not formally&lt;br /&gt;
released after additional discussion.  Instead a new major xfsprogs release&lt;br /&gt;
is planned for next month.&lt;br /&gt;
&lt;br /&gt;
== XFS status update for September 2009 ==&lt;br /&gt;
&lt;br /&gt;
In September the Linux 2.6.31 kernel was finally released, including another&lt;br /&gt;
last minute XFS fix for the swapext (defragmentation) compat ioctl handler.&lt;br /&gt;
The final patch from 2.6.30 to 2.6.31 shows the following impressive diffstat&lt;br /&gt;
for XFS:&lt;br /&gt;
&lt;br /&gt;
   55 files changed, 1476 insertions(+), 2269 deletions(-)&lt;br /&gt;
&lt;br /&gt;
The 2.6.32 merge window started with a large XFS merge that included changes&lt;br /&gt;
to the inode allocator, and a few smaller fixes.  New versions of the sync&lt;br /&gt;
and time stamp fixes as well as the event tracing support have been posted&lt;br /&gt;
in September but not yet merged into the XFS development tree and/or mainline.&lt;br /&gt;
&lt;br /&gt;
On the userspace side a large patch series to reduce the memory usage in&lt;br /&gt;
xfs_repair to acceptable levels was posted, but not yet merged.  A new xfs_df&lt;br /&gt;
shell script to measure use of the on disk space was posted but not yet&lt;br /&gt;
merged pending some minor review comments and a missing man page.  In addition&lt;br /&gt;
we saw the usual amount of smaller fixes and cleanups.&lt;br /&gt;
&lt;br /&gt;
Also this month Felix Blyakher resigned from his post as XFS maintainer and handed off to Alex Elder.&lt;br /&gt;
&lt;br /&gt;
== XFS status update for August 2009 ==&lt;br /&gt;
&lt;br /&gt;
In August the Linux 2.6.31 kernel has still been in the release candidate&lt;br /&gt;
stage, but a couple of important XFS fixes made it in time for the release,&lt;br /&gt;
including a fix for the inode cache races with NFS workloads that have&lt;br /&gt;
plagued us for a long time.&lt;br /&gt;
&lt;br /&gt;
The list saw various patches destined for the Linux 2.6.32 merge window,&lt;br /&gt;
including a merge of the fsync and O_SYNC handling code to address various&lt;br /&gt;
issues with the latter, a workaround for deficits in the timestamp handling&lt;br /&gt;
interface between the VFS and filesystems, a repost of the sync improvements&lt;br /&gt;
patch series and various smaller patches.&lt;br /&gt;
&lt;br /&gt;
August also saw the minor 3.0.3 release of xfsprogs which collects smaller&lt;br /&gt;
fixes to the various tools and most importantly a fix to allow xfsprogs to&lt;br /&gt;
work again on SPARC and other strict alignment handling which regressed a&lt;br /&gt;
few releases ago.  The xfstests repository saw a few new test cases and a&lt;br /&gt;
various small improvements.&lt;br /&gt;
&lt;br /&gt;
== XFS status update for July 2009 ==&lt;br /&gt;
&lt;br /&gt;
As a traditional summer vacation month July has not seen a lot of XFS&lt;br /&gt;
activity.  The mainline 2.6.31 kernel made it to the 5th release candidate&lt;br /&gt;
but besides a few kernel-wide patches touching XFS the only activity were&lt;br /&gt;
two small patches fixing a bug in FIEMAP and working around writeback&lt;br /&gt;
performance problems in the VM.&lt;br /&gt;
&lt;br /&gt;
A few more patches were posted to the list but haven&#039;t been merged yet.&lt;br /&gt;
Two big patch series deal with theoretically possible deadlocks due to&lt;br /&gt;
locks taken in reclaim contexts, which are now detected by lockdep.&lt;br /&gt;
&lt;br /&gt;
The pace on the userspace side has been slow.  There have been a couple&lt;br /&gt;
of fixes to xfs_repair and xfs_db, and xfstests grew a few more testcases.&lt;br /&gt;
&lt;br /&gt;
== XFS status update for June 2009 ==&lt;br /&gt;
&lt;br /&gt;
On June 9th we finally saw the release of Linux 2.6.30.  For XFS&lt;br /&gt;
this release mostly contains the improved ENOSPC handling, but also&lt;br /&gt;
various smaller bugfixes and lots of cleanups.  The code size of XFS&lt;br /&gt;
decreased again by 500 lines of code in this release.&lt;br /&gt;
&lt;br /&gt;
The Linux 2.6.31 merge opened in the mid of the month and some big XFS&lt;br /&gt;
changes have been pushed: A removal of the quotaops&lt;br /&gt;
infrastructure which simplifies the quota implementation, the switch&lt;br /&gt;
from XFS&#039;s own Posix ACL implementation to the generic one shared&lt;br /&gt;
by various other filesystems which also supports in-memory caching of&lt;br /&gt;
ACLs and another incremental refactoring of the sync code.&lt;br /&gt;
&lt;br /&gt;
A patch to better track dirty inodes and work around issues in the&lt;br /&gt;
way the VFS updates the access time stamp on inodes has been reposted&lt;br /&gt;
and discussed. Another patch to converting the existing XFS tracing&lt;br /&gt;
infrastructure to use the ftrace even tracer has been posted.&lt;br /&gt;
&lt;br /&gt;
On the userspace side there have been a few updates to xfsprogs, including&lt;br /&gt;
some repair fixes and a new fallocate command for xfs_io.  There were&lt;br /&gt;
major updates for xfstests:  The existing aio-dio-regress testsuite has&lt;br /&gt;
been merged into xfstests, and various changes went into the tree to make&lt;br /&gt;
xfstests better suitable for use with other filesystems.&lt;br /&gt;
&lt;br /&gt;
The attr and acl projects which have been traditionally been hosted&lt;br /&gt;
as part of the XFS userspace utilities have now been split into a separate&lt;br /&gt;
project maintained by Andreas Gruenbacher, who has been doing most of&lt;br /&gt;
the work on it, and moved to the Savannah hosting platform.&lt;br /&gt;
&lt;br /&gt;
== XFS status update for May 2009 ==&lt;br /&gt;
&lt;br /&gt;
In May Linux 2.6.30 was getting close to be released, and various&lt;br /&gt;
important XFS fixes made it during the latest release candidates.&lt;br /&gt;
In the meantime some big patch series to rework the sync code and&lt;br /&gt;
the inode allocator have been posted for the next merge window.&lt;br /&gt;
&lt;br /&gt;
On the userspace side xfsprogs and xfsdump 3.0.1 were finally released,&lt;br /&gt;
quickly followed by 3.0.2 releases with updated Debian packaging.&lt;br /&gt;
After that various small patches that were held back made it into xfsprogs.&lt;br /&gt;
A patch to add the xfs_reno tool which allows to move inodes around to&lt;br /&gt;
fit into 32 bit inode number space has been posted which is also one&lt;br /&gt;
central aspect of future online shrinking support.&lt;br /&gt;
&lt;br /&gt;
There has been major activity on xfstests including adding generic&lt;br /&gt;
filesystems support to allow running tests that aren&#039;t XFS-specific on&lt;br /&gt;
any Linux filesystems.&lt;br /&gt;
&lt;br /&gt;
== XFS status update for April 2009 ==&lt;br /&gt;
&lt;br /&gt;
In April development for Linux 2.6.30 was in full motion.  A patchset to correct flushing of delayed allocations with near full filesystems has been committed in early April, as well as various smaller fixes. A patch series to improve the behavior of sys_sync has been posted but is waiting for VFS changes queued for Linux 2.6.31.&lt;br /&gt;
&lt;br /&gt;
On the userspace side xfsprogs and xfsdump 3.0.1 have managed to split their release dates into May again after a lot of last-minute build system updates.&lt;br /&gt;
&lt;br /&gt;
== XFS status update for March 2009 ==&lt;br /&gt;
&lt;br /&gt;
Linux 2.6.29 has been released which includes major XFS updates like the&lt;br /&gt;
new generic btree code, a fully functional 32bit compat ioctl implementation&lt;br /&gt;
and the new combined XFS and Linux inode.  (See previous status reports&lt;br /&gt;
for more details). A patch series to improve correctness and performance&lt;br /&gt;
has been posted but not yet applied.  Various minor fixes and cleanups&lt;br /&gt;
have been sent to Linus for 2.6.30 which looks like it will be a minor&lt;br /&gt;
release for XFS after the big churn in 2.6.29.&lt;br /&gt;
&lt;br /&gt;
On userspace a lot of time has been spent on fixing and improving the&lt;br /&gt;
build system shared by the various XFS utilities as well as various smaller&lt;br /&gt;
improvements leading to the xfsprogs and xfsdump 3.0.1 releases which are&lt;br /&gt;
still outstanding.&lt;br /&gt;
&lt;br /&gt;
== XFS status update for February 2009 ==&lt;br /&gt;
&lt;br /&gt;
In February various smaller fixes have been sent to Linus for 2.6.29,&lt;br /&gt;
including a revert of the faster vmap APIs which don&#039;t seem to be quite&lt;br /&gt;
ready yet on the VM side.  At the same time various patches have been&lt;br /&gt;
queued up for 2.6.30, with another big batch pending.  There also has&lt;br /&gt;
been a repost of the CRC patch series, including support for a new,&lt;br /&gt;
larger inode core.&lt;br /&gt;
&lt;br /&gt;
SGI released various bits of work in progress from former employees&lt;br /&gt;
that will be extremely helpful for the future development of XFS,&lt;br /&gt;
thanks a lot to Mark Goodwin for making this happen.&lt;br /&gt;
&lt;br /&gt;
On the userspace side the long awaited 3.0.0 releases of xfsprogs and&lt;br /&gt;
xfsdump finally happened early in the month, accompanied by a 2.2.9&lt;br /&gt;
release of the dmapi userspace.  There have been some issues with packaging&lt;br /&gt;
so a new minor release might follow soon.&lt;br /&gt;
&lt;br /&gt;
The xfs_irecover tool has been relicensed so that it can be merged into&lt;br /&gt;
the GPLv2 codebase of xfsprogs, but the actual integration work hasn&#039;t&lt;br /&gt;
happened yet.&lt;br /&gt;
&lt;br /&gt;
Important bits of XFS documentation that have been available on the XFS&lt;br /&gt;
website in PDF form have been released in the document source form under&lt;br /&gt;
the Creative Commons license so that they can be updated as a community&lt;br /&gt;
effort, and checked into a public git tree.&lt;br /&gt;
&lt;br /&gt;
== XFS status update for January 2009 ==&lt;br /&gt;
&lt;br /&gt;
January has been an extremely busy month on the userspace front.  Many&lt;br /&gt;
smaller and medium updates went into xfsprogs, xfstests and to a lesser&lt;br /&gt;
extent xfsdump.  xfsprogs and xfsdump are ramping up for getting a 3.0.0&lt;br /&gt;
release out in early February which will include the first major re-sync&lt;br /&gt;
with the kernel code in libxfs, a cleanup of the exported library interfaces&lt;br /&gt;
and the move of two tools (xfs_fsr and xfs_estimate) from the xfsdump&lt;br /&gt;
package to xfsprogs.  After this the xfsprogs package will contain all&lt;br /&gt;
tools that use internal libxfs interfaces which fortunately equates to those&lt;br /&gt;
needed for normal administration.  The xfsdump package now only contains&lt;br /&gt;
the xfsdump/xfsrestore tools needed for backing up and restoring XFS&lt;br /&gt;
filesystems.  In addition it grew a fix to support dump/restore on systems&lt;br /&gt;
with a 64k page size.  A large number of acl/attr package patches was&lt;br /&gt;
posted to the list, but pending a possible split of these packages from the&lt;br /&gt;
XFS project these weren&#039;t processed yet.&lt;br /&gt;
&lt;br /&gt;
On the kernel side the big excitement in January was an in-memory corruption&lt;br /&gt;
introduced in the btree refactoring which hit people running 32bit platforms&lt;br /&gt;
without support for large block devices.  This issue was fixed and pushed&lt;br /&gt;
to the 2.6.29 development tree after a long collaborative debugging effort&lt;br /&gt;
at linux.conf.au.  Besides that about a dozen minor fixes were pushed to&lt;br /&gt;
2.6.29 and the first batch of misc patches for the 2.6.30 release cycle&lt;br /&gt;
was sent out.&lt;br /&gt;
&lt;br /&gt;
At the end of December the SGI group in Melbourne which the previous&lt;br /&gt;
XFS maintainer and some other developers worked for has been closed down&lt;br /&gt;
and they will be missed greatly.  As a result maintainership has been passed&lt;br /&gt;
on in a way that has been slightly controversial in the community, and the&lt;br /&gt;
first patchset of work in progress in Melbourne have been posted to the list&lt;br /&gt;
to be picked up by others.&lt;br /&gt;
&lt;br /&gt;
The xfs.org wiki has gotten a little facelift on it&#039;s front page making it&lt;br /&gt;
a lot easier to read.&lt;br /&gt;
&lt;br /&gt;
== XFS status update for December 2008 ==&lt;br /&gt;
&lt;br /&gt;
On Christmas Eve the 2.6.28 mainline kernel was release, with only minor XFS&lt;br /&gt;
bug fixes over 2.6.27.&lt;br /&gt;
&lt;br /&gt;
On the development side December has been busy but unspectacular month.&lt;br /&gt;
All lot of misc fixes and improvements have been sent out, tested and committed&lt;br /&gt;
especially on the user land side.&lt;br /&gt;
&lt;br /&gt;
== XFS status update for November 2008 ==&lt;br /&gt;
&lt;br /&gt;
The mainline kernel is now at 2.6.28-rc6 and includes a small number of&lt;br /&gt;
XFS fixes.  There have been no updates to the XFS development tree during&lt;br /&gt;
November.  Without new regressions that large number of changes that&lt;br /&gt;
missed 2.6.28 has thus stabilized to be ready for 2.6.29.  In the meantime&lt;br /&gt;
kernel-side development has been slow, with the only major patch set&lt;br /&gt;
being a wide number of fixes to the compatibility for 32 bit ioctls on&lt;br /&gt;
a 64 bit kernel.&lt;br /&gt;
&lt;br /&gt;
In the meantime there has been a large number of commits to the user space&lt;br /&gt;
tree, which mostly consist of smaller fixes.  xfsprogs is getting close&lt;br /&gt;
to have the 3.0.0 release which will be the first full resync with the&lt;br /&gt;
kernel sources since the year 2005.&lt;br /&gt;
&lt;br /&gt;
== XFS status update for October 2008 ==&lt;br /&gt;
&lt;br /&gt;
Linux 2.6.27 released with all the bits covered in last month&#039;s report.  It&lt;br /&gt;
did however miss two important fixes for regressions that a few people hit.&lt;br /&gt;
2.6.27.3 or later are recommended for use with XFS.&lt;br /&gt;
&lt;br /&gt;
In the meantime the generic btree implementation, the sync reorganization&lt;br /&gt;
and after a lot of merge pain the XFS and VFS inode unification hit the&lt;br /&gt;
development tree during the time allocated for the merge window.  No XFS&lt;br /&gt;
updates other than the two regression fixes also in 2.6.27.3 have made it&lt;br /&gt;
into mainline as of 2.6.28-rc3.&lt;br /&gt;
&lt;br /&gt;
The only new feature on the list in October is support for the fiemap&lt;br /&gt;
interface that has been added to the VFS during the 2.6.28 merge window.&lt;br /&gt;
However there was lot of patch traffic consisting of fixes and respun&lt;br /&gt;
versions of previously known patches.  There still is a large backlog of&lt;br /&gt;
patches on the list that is not applied to the development tree yet.&lt;br /&gt;
&lt;br /&gt;
== XFS status update for September 2008 ==&lt;br /&gt;
&lt;br /&gt;
With Linux 2.6.27 still not released but only making slow progress from 2.6.27-rc5 to 2.6.27-rc8 XFS changes in mainline have been minimal in September with only about half a dozen bug fixes patches.&lt;br /&gt;
&lt;br /&gt;
In the meantime the generic btree patch set has been committed to the development tree, but not many other updates yet. On the user space side xfsprogs 2.10.1 has been released on September 5th with a number of important bug fixes. Following the release of xfsprogs 2.10.1 open season for development of the user space code has started. The first full update of the shared kernel / user space code in libxfs since 2005 has been committed. In addition to that the number of headers installed for the regular devel package has been reduced to the required minimum and support for checking the source code for endianess errors using sparse has been added.&lt;br /&gt;
&lt;br /&gt;
The patch sets to unify the XFS and Linux inode structures, and rewrite various bits of the sync code have seen various iterations on the XFS list, but haven&#039;t been committed yet. A first set of patches implementing CRCs for various metadata structures has been posted to the list.&lt;br /&gt;
&lt;br /&gt;
== XFS status update for August 2008 ==&lt;br /&gt;
&lt;br /&gt;
With the 2.6.27-rc5 release the 2.6.27 cycle is nearing it&#039;s end. The major XFS feature in 2.6.27-rc5 is support for case-insensitive file names. At this point it is still limited to 7bit ASCII file names, with updates for utf8 file names expected to follow later. In addition to that 2.6.27-rc5 fixes a long-standing problem with non-EABI arm compiler which pack some XFS data structures wrongly. Besides this 2.6.27-rc5 also contains various cleanups, most notably the removal of the last bhv_vnode_t instances, and most uses of semaphores. As usual the diffstat for XFS from 2.6.26 to 2.6.26-rc5 is negative:&lt;br /&gt;
&lt;br /&gt;
       100 files changed, 3819 insertions(+), 4409 deletions(-)&lt;br /&gt;
&lt;br /&gt;
On the user space front a new minor xfsprogs version is about to be released containing various fixes including the user space part of arm packing fix.&lt;br /&gt;
&lt;br /&gt;
Work in progress on the XFS mailing list are a large patch set to unify the alloc, inobt and bmap btree implementation into a single that supports arbitrarily pluggable key and record formats. These btree changes are the first major preparation for adding CRC checks to all metadata structures in XFS, and an even larger patch set to unify the XFS and Linux inode structures, and perform all inode write back from the btree uses instead of an inode cache in XFS.&lt;br /&gt;
&lt;br /&gt;
== Updates before 2008 ==&lt;br /&gt;
&lt;br /&gt;
News up to 2007 can be found on a separate page: [[OLD_News]]&lt;/div&gt;</summary>
		<author><name>Hch</name></author>
	</entry>
	<entry>
		<id>https://xfs.org/index.php?title=XFS_Status_Updates&amp;diff=2140</id>
		<title>XFS Status Updates</title>
		<link rel="alternate" type="text/html" href="https://xfs.org/index.php?title=XFS_Status_Updates&amp;diff=2140"/>
		<updated>2011-01-02T07:33:18Z</updated>

		<summary type="html">&lt;p&gt;Hch: december 2010 update&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== XFS status update for December 2010 ==&lt;br /&gt;
&lt;br /&gt;
The release process of the Linux 2.6.37 kernel with it&#039;s large XFS updates&lt;br /&gt;
was in it&#039;s final days in December, which explains why we only saw a single&lt;br /&gt;
one-liner regression fix for XFS in Linus&#039; tree.  The XFS development tree&lt;br /&gt;
finally saw some updates when the writeback updates and some small cleanups&lt;br /&gt;
to the allocator and log recovery code were merged, but the large metadata&lt;br /&gt;
scalability updates that have been posted to the list multiple times are&lt;br /&gt;
still missing.  In addition to this on-going work the list also saw patches&lt;br /&gt;
that fix smaller issues, which are also still waiting to be merged.&lt;br /&gt;
&lt;br /&gt;
On the userspace side xfsprogs and xfsdump development has been quit, with&lt;br /&gt;
no commits to either repository in December, although a large series of&lt;br /&gt;
updates to the metadump command has been reposted near the end of the month.&lt;br /&gt;
The xfstests repository saw a new regression test for a btrfs problem,&lt;br /&gt;
and various updates to existing tests.&lt;br /&gt;
&lt;br /&gt;
== XFS status update for November 2010 ==&lt;br /&gt;
&lt;br /&gt;
From looking at the kernel git commits November looked like a pretty&lt;br /&gt;
slow month with just two hand full fixes going into the release candidates&lt;br /&gt;
for Linux 2.6.37, and none at all going into the development tree.&lt;br /&gt;
But in this case git statistics didn&#039;t tell the whole story - there&lt;br /&gt;
was a lot of activity on patches for the next merge window on the list.&lt;br /&gt;
The focus in November was still at metadata scalability, with various&lt;br /&gt;
patchsets that improves parallel creates and unlinks again, and also&lt;br /&gt;
improves 8-way dbench throughput by 30%.  In addition to that there&lt;br /&gt;
were patches to improve preallocation for NFS servers, to simplify&lt;br /&gt;
the writeback code, and to remove the XFS-internal percpu counters&lt;br /&gt;
for free space for the generic kernel percpu counters, which just needed&lt;br /&gt;
a small improvement.&lt;br /&gt;
&lt;br /&gt;
On the user space side we saw the release of xfsprogs 3.1.4, which&lt;br /&gt;
contains various accumulated bug fixes and Debian packaging updates.&lt;br /&gt;
The xfsdump tree saw a large update to speed up restore by using&lt;br /&gt;
mmap for an internal database and remove the limitation of ~ 214&lt;br /&gt;
million directory entries per dump file.  The xfstests test suite&lt;br /&gt;
saw three new testcases and various fixes, including support for the&lt;br /&gt;
hfsplus filesystem.&lt;br /&gt;
&lt;br /&gt;
== XFS status update for October 2010 ==&lt;br /&gt;
&lt;br /&gt;
Near the end of the month we finally saw the release of Linux 2.6.36.&lt;br /&gt;
Just a single fix made it into mainline in this month, showing that the&lt;br /&gt;
stabilization period before has worked very well.&lt;br /&gt;
&lt;br /&gt;
Linux 2.6.36 has been another impressive release for XFS, seeing&lt;br /&gt;
various performance improvements in the new delayed logging code,&lt;br /&gt;
for direct I/O and the sync system call, a few bug fixes, and lots&lt;br /&gt;
of cleanups, resulting in a net removal of over 2000 lines of code:&lt;br /&gt;
&lt;br /&gt;
        89 files changed, 1998 insertions(+), 4279 deletions(-)&lt;br /&gt;
&lt;br /&gt;
The merge window for Linux 2.6.37 opened just a few days after the&lt;br /&gt;
release of Linux 2.6.36 and already contains another large XFS update&lt;br /&gt;
at the end of October.  Highlights of the XFS tree merged into 2.6.37-rc1&lt;br /&gt;
are another large set of metadata scalability patches, support for 32-bit&lt;br /&gt;
wide project IDs, and support for the new XFS_IOC_ZERO_RANGE ioctl,&lt;br /&gt;
which allows to punch a whole and convert it to an unwritten extent&lt;br /&gt;
in a single atomic operation.&lt;br /&gt;
&lt;br /&gt;
The metadata scalability changes improve 8-way fs_mark of 50 million files&lt;br /&gt;
by over 15% and removal of those files by over 100%, with further&lt;br /&gt;
improvements expected by the next round of XFS metadata scalability&lt;br /&gt;
and VFS scalability improvements targeted at Linux 2.6.38.&lt;br /&gt;
&lt;br /&gt;
On the user space side October was a rather quit month for xfsprogs, which&lt;br /&gt;
only saw the addition of 32-bit project ID handling, and a fix for&lt;br /&gt;
parsing the mount table in fsr when used together with disk encryption&lt;br /&gt;
tools.  A few patches for xfsdump were posted on the list, but none&lt;br /&gt;
was applied, leaving the majority of the user space activity to&lt;br /&gt;
xfstests, which saw very active development.  Various patches went&lt;br /&gt;
into xfstests to improve portability to filesystems with a limited&lt;br /&gt;
feature set, and to move more filters to generic code.  In addition&lt;br /&gt;
various cleanups to test cases in test programs were applied.&lt;br /&gt;
&lt;br /&gt;
== XFS status update for September 2010 ==&lt;br /&gt;
&lt;br /&gt;
Mainline activity has been rather low in September while with only&lt;br /&gt;
two more fixes going into the 2.6.36 release candidates after the&lt;br /&gt;
large merge activity in August.  Development for the next merge&lt;br /&gt;
window has been more active.  The largest item was the inclusion&lt;br /&gt;
of the metadata scalability patch series, which provides very large&lt;br /&gt;
speedups for parallel metadata operations.  In addition a new&lt;br /&gt;
ioctl to punch holes and convert the whole to an unwritten extent&lt;br /&gt;
was added and a small number of cleanups also made it into the tree.&lt;br /&gt;
&lt;br /&gt;
Patches to add support for 32bit wide project ID identifiers and&lt;br /&gt;
using group and project quotas concurrently were posted to the list&lt;br /&gt;
and discussed but not yet included.&lt;br /&gt;
&lt;br /&gt;
Userspace development has been rather quited again, with a single fix&lt;br /&gt;
committed to xfsprogs and xfsdump each.  The xfstests test suite grew&lt;br /&gt;
a new test case and received a few additional fixes.  Last but not least&lt;br /&gt;
the [http://xfs.org/docs/xfsdocs-xml-dev/XFS_User_Guide//tmp/en-US/html/index.html XFS Users Guide]&lt;br /&gt;
was updated with various factual corrections and spelling fixes.&lt;br /&gt;
&lt;br /&gt;
== XFS status update for August 2010 ==&lt;br /&gt;
&lt;br /&gt;
At the first of August we finally saw the release of Linux 2.6.35,&lt;br /&gt;
which includes a large XFS update.  The most prominent feature in&lt;br /&gt;
Linux 2.6.35 is the new delayed logging code which provides massive&lt;br /&gt;
speedups for metadata-intensive workloads, but there has been&lt;br /&gt;
a large amount of other fixes and cleanups, leading to the following&lt;br /&gt;
diffstat:&lt;br /&gt;
&lt;br /&gt;
         67 files changed, 4426 insertions(+), 3835 deletions(-)&lt;br /&gt;
&lt;br /&gt;
Given the early release of Linux 2.6.35 the merge window for the&lt;br /&gt;
next release fully fell into the month of August.  The XFS updates&lt;br /&gt;
for Linux 2.6.36 include various additional performance improvements&lt;br /&gt;
in the delayed logging code, for direct I/O writes and for avoiding&lt;br /&gt;
synchronous transactions, as well as various fixed and large amount&lt;br /&gt;
of cleanups, including the removal of the remaining dead DMAPI&lt;br /&gt;
code.&lt;br /&gt;
&lt;br /&gt;
On the userspace side we saw the 3.1.3 release of xfsprogs, which includes&lt;br /&gt;
various smaller fixes, support for the new XFS_IOC_ZERO_RANGE ioctl and&lt;br /&gt;
Debian packaging updates.  The xfstests package saw one new test case&lt;br /&gt;
and a couple of smaller patches, and xfsdump has not seen any updates at&lt;br /&gt;
all.&lt;br /&gt;
&lt;br /&gt;
The XMLified versions of the XFS users guide, training labs and filesystem&lt;br /&gt;
structure documentation are now available as on the fly generated html on&lt;br /&gt;
the xfs.org website and can be found at [[XFS_Papers_and_Documentation|Papers &amp;amp; Documentation]].&lt;br /&gt;
&lt;br /&gt;
== XFS status update for July 2010 ==&lt;br /&gt;
&lt;br /&gt;
July saw three more release candidates for the Linux 2.6.35 kernel, which&lt;br /&gt;
included a relatively large number of XFS updates.  There were two security&lt;br /&gt;
fixes, a small one to prevent swapext to operate on write-only file&lt;br /&gt;
descriptors, and a much larger one to properly validate inode numbers&lt;br /&gt;
coming from NFS clients or userspace applications using the bulkstat or&lt;br /&gt;
the open-by-handle interfaces.  In addition to that another relatively&lt;br /&gt;
large patch fixes the way inodes get reclaimed in the background, and&lt;br /&gt;
avoids inode caches growing out of bounds.&lt;br /&gt;
&lt;br /&gt;
In the meantime the code for the Linux 2.6.36 got the last touches before&lt;br /&gt;
the expected opening of the merge window, by merging a few more last&lt;br /&gt;
minute fixes and cleanups.  The most notable one is a patch series&lt;br /&gt;
that fixes in-memory corruption when concurrently accessing unwritten&lt;br /&gt;
extents using the in-kernel AIO code.&lt;br /&gt;
&lt;br /&gt;
The userspace side was still quite slow, but some a bit more activity&lt;br /&gt;
than June.  In xfsprogs the xfs_db code grew two bug fixes, as did&lt;br /&gt;
the xfs_io script.  The xfstests package saw one new test cases and&lt;br /&gt;
various fixes to existing code.  Last but not least a few patches&lt;br /&gt;
affecting the build system for all userspace tools were committed.&lt;br /&gt;
&lt;br /&gt;
== XFS status update for June 2010 ==&lt;br /&gt;
&lt;br /&gt;
The month of June saw a few important bug fixes for the Linux 2.6.35&lt;br /&gt;
release candidates.  That includes ensuring that files used for the&lt;br /&gt;
swapext ioctl are writable to the user, and doing proper validation&lt;br /&gt;
of inodes coming from untrusted sources, such as NFS exporting and&lt;br /&gt;
the open by handle system calls.  The main work however has been&lt;br /&gt;
focused on development for the Linux 2.6.36 merge window, including&lt;br /&gt;
merging various patches that have been out on the mainline list&lt;br /&gt;
for a long time.  Highlights include further performance improvements&lt;br /&gt;
for sync heavy metadata workloads, stack space reduction in the&lt;br /&gt;
writeback path and improvements of the XFS tracing infrastructure.&lt;br /&gt;
Also after some discussion the remaining hooks for DMAPI are going&lt;br /&gt;
to be dropped in mainline.   As a replacement a tree containing&lt;br /&gt;
full DMAPI support with a slightly cleaner XFS interaction will be&lt;br /&gt;
hosted by SGI.&lt;br /&gt;
&lt;br /&gt;
On the userspace side June was a rather slow month, with no updates&lt;br /&gt;
to xfsprogs and xfsdump at all, and just one new test case and a cleanup&lt;br /&gt;
applied to xfstests.&lt;br /&gt;
&lt;br /&gt;
== XFS status update for May 2010 ==&lt;br /&gt;
&lt;br /&gt;
In May 2010 we saw the long awaited release of Linux 2.6.34, which includes&lt;br /&gt;
a large XFS update.  The most important features appearing in 2.6.34 was the&lt;br /&gt;
new inode and quota flushing code, which leads to much better I/O patterns&lt;br /&gt;
for metadata-intensive workloads.  Additionally support for synchronous NFS&lt;br /&gt;
exports has been improved to give much better performance, and performance&lt;br /&gt;
for the fsync, fdatasync and sync system calls has been improved slightly.&lt;br /&gt;
A bug when resizing extremely busy filesystems has been fixed, which required&lt;br /&gt;
extensive modification to the data structure used for looking up the&lt;br /&gt;
per-allocation group data.  Last but not least there was a steady flow of&lt;br /&gt;
minor bug fixes and cleanups, leading to the following diffstat from&lt;br /&gt;
2.6.33 to 2.6.34:&lt;br /&gt;
&lt;br /&gt;
  86 files changed, 3209 insertions(+), 3178 deletions(-)&lt;br /&gt;
&lt;br /&gt;
Meanwhile active development aimed at 2.6.35 merge progressed.  The&lt;br /&gt;
major feature for this window is the merge of the delayed logging code,&lt;br /&gt;
which adds a new logging mode that dramatically reduces the bandwidth&lt;br /&gt;
required for log I/O.  See the &lt;br /&gt;
[http://git.kernel.org/?p=linux/kernel/git/torvalds/linux-2.6.git;a=blob;f=Documentation/filesystems/xfs-delayed-logging-design.txt;h=96d0df28bed323d5596fc051b0ffb96ed8e3c8df;hb=HEAD documentation] for details.  Testers&lt;br /&gt;
for this new code are welcome.&lt;br /&gt;
&lt;br /&gt;
In userland xfsprogs saw the long awaited 3.1.2 release, which can be&lt;br /&gt;
considered a bug fix release for xfs_repair, xfs_fsr and mkfs.xfs.  After&lt;br /&gt;
the release a few more fixes were merged into the development tree.&lt;br /&gt;
The xfstests package saw various new tests, including many tests to&lt;br /&gt;
exercise the quota code, and a few fixes to existing tests.&lt;br /&gt;
&lt;br /&gt;
== XFS status update for April 2010 ==&lt;br /&gt;
&lt;br /&gt;
In April 2.6.34 still was in the release candidate phase, with&lt;br /&gt;
a hand full of XFS fixes making it into mainline.  Development for&lt;br /&gt;
the 2.6.35 merge window went ahead full steam at the same time.&lt;br /&gt;
&lt;br /&gt;
While a fair amount of patches hit the development tree these were&lt;br /&gt;
largely cleanups, with the real development activity happening on&lt;br /&gt;
the mailing list.  There was another round of patches and following&lt;br /&gt;
discussion on the scalable busy extent tracking and delayed logging&lt;br /&gt;
features mentioned last month.  They are expected to be merged in&lt;br /&gt;
May and queue up for the Linux 2.6.35 window.  Last but not least&lt;br /&gt;
April saw a large number of XFS fixes backported to the 2.6.32 and&lt;br /&gt;
2.6.33 -stable series.&lt;br /&gt;
&lt;br /&gt;
In user land xfsprogs has seen few but important updates, preparing&lt;br /&gt;
for a new release next month.  The xfs_repair tool saw a fix to&lt;br /&gt;
correctly enable the lazy superblock counters on an existing&lt;br /&gt;
filesystem, and xfs_fsr saw updates to better deal with dynamic&lt;br /&gt;
attribute forks.  Last but not a least a port to Debian GNU/kFreeBSD&lt;br /&gt;
got merged. The xfstests test suite saw two new test cases and various&lt;br /&gt;
smaller fixes.&lt;br /&gt;
&lt;br /&gt;
== XFS status update for March 2010 ==&lt;br /&gt;
&lt;br /&gt;
The merge window for Linux 2.6.34 closed in the first week of March,&lt;br /&gt;
with the important XFS features already landing in February.  Not&lt;br /&gt;
surprisingly the XFS merge activity in March has been rather slow,&lt;br /&gt;
with only about a dozen bug fixes patches making it towards Linus&#039;&lt;br /&gt;
tree in that time.&lt;br /&gt;
&lt;br /&gt;
On the other hand active development for the 2.6.35 merge window has&lt;br /&gt;
been very active.  Most importantly there was a lot of work on the&lt;br /&gt;
transaction and log subsystems.  Starting with a large patchset to&lt;br /&gt;
clean up and refactor the transaction subsystem and introducing more&lt;br /&gt;
flexible I/O containers in the low-level logging code work is&lt;br /&gt;
progressing to a new, more efficient logging implementation.  While&lt;br /&gt;
this preparatory work has already been merged in the development tree,&lt;br /&gt;
the actual delayed logging implementation still needs more work after&lt;br /&gt;
the initial public posting.  The delayed logging implementation which&lt;br /&gt;
is very briefly modeled after the journaling mode in the ext3/4&lt;br /&gt;
and reiserfs filesystems allows to accumulated multiple asynchronous&lt;br /&gt;
transactions in memory instead of possibly writing them out&lt;br /&gt;
many times.  Using the new delayed logging mechanism I/O bandwidth&lt;br /&gt;
used for the log decreases by orders of magnitude and performance&lt;br /&gt;
on metadata intensive workloads increases massively.&lt;br /&gt;
&lt;br /&gt;
In addition to that a new version of the discard (aka TRIM) support&lt;br /&gt;
has been posted, this time entirely contained in kernel space&lt;br /&gt;
and without the need of a userspace utility to drive it.  Last but&lt;br /&gt;
not least the usual steady stream of cleanups and bug fixes has not&lt;br /&gt;
ceased this month either.&lt;br /&gt;
&lt;br /&gt;
Besides the usual flow of fixes and new test cases in the xfstests&lt;br /&gt;
test suite development on the userspace side has been rather slow.&lt;br /&gt;
Xfsprogs has only seen a single fix for SMP locking in xfs_repair&lt;br /&gt;
and support for building on Debian GNU/kFreeBSD, and xfsdump&lt;br /&gt;
has seen no commit at all.&lt;br /&gt;
&lt;br /&gt;
== XFS status update for February 2010 ==&lt;br /&gt;
&lt;br /&gt;
February saw the release of the Linux 2.6.33 kernel, which includes&lt;br /&gt;
a large XFS update.  The biggest user-visible change in Linux 2.6.33&lt;br /&gt;
is that XFS now support the generic Linux trace event infrastructure,&lt;br /&gt;
which allows tracing lots of XFS behavior with a normal production&lt;br /&gt;
built kernel.  Except for this Linux 2.6.33 has been mostly a bug-fix&lt;br /&gt;
release, fixing various user reported bugs in previous releases.&lt;br /&gt;
The total diffstat for XFS in Linux 2.6.33 looks like:&lt;br /&gt;
&lt;br /&gt;
  84 files changed, 3023 insertions(+), 3550 deletions(-)&lt;br /&gt;
&lt;br /&gt;
In addition to that the merge window for Linux 2.6.34 opened and the&lt;br /&gt;
first merge of the XFS tree made it into Linus tree.  Unlike Linux&lt;br /&gt;
2.6.33 this merge window includes major feature work.  The most&lt;br /&gt;
important change for users is a new algorithm for inode and quota&lt;br /&gt;
writeback that leads to better I/O locality and improved metadata&lt;br /&gt;
performance.  The second big change is a rewrite of the per-allocation&lt;br /&gt;
group data lookup which fixes a long-standing problem in the code&lt;br /&gt;
to grow a life filesystem and will also ease future filesystem&lt;br /&gt;
shrinking support.  Not merged through the XFS tree, but of great&lt;br /&gt;
importance for embedded users is a new API that allows XFS to properly&lt;br /&gt;
flush cache lines on it&#039;s log and large directory buffers, making&lt;br /&gt;
XFS work properly on architectures with virtually indexed caches,&lt;br /&gt;
such as parisc and various arm and mips variants.  Last but not&lt;br /&gt;
least there is an above average amount of cleanups that went into&lt;br /&gt;
Linus tree in this cycle.&lt;br /&gt;
&lt;br /&gt;
There have been more patches on the mailing list that haven&#039;t made&lt;br /&gt;
it to Linus tree yet, including an optimized implementation of&lt;br /&gt;
fdatasync(2) and massive speedups for metadata workloads on&lt;br /&gt;
NFS exported XFS filesystems.&lt;br /&gt;
&lt;br /&gt;
On the userspace side February has been a relatively quite month.&lt;br /&gt;
Lead by xfstests only a moderate amount of fixes made it into&lt;br /&gt;
the respective trees.&lt;br /&gt;
&lt;br /&gt;
== XFS status update for January 2010 ==&lt;br /&gt;
&lt;br /&gt;
January saw additional release candidates of the Linux 2.6.33 kernel,&lt;br /&gt;
including a couple of bug fixes for XFS.  In the meantime the XFS tree&lt;br /&gt;
has been growing a large number of patches destined for the Linux 2.6.34&lt;br /&gt;
merge window: a large rework of the handling of per-AG data, support for&lt;br /&gt;
the quota netlink interface, and better power saving behavior of the&lt;br /&gt;
XFS kernel threads, and of course various cleanups.&lt;br /&gt;
&lt;br /&gt;
A large patch series to replace the current asynchronous inode writeback&lt;br /&gt;
with a new scheme that uses the delayed write buffers was posted to&lt;br /&gt;
the list.  The new scheme, which allows archive better I/O locality by&lt;br /&gt;
dispatching meta-data I/O from a single place has been discussed&lt;br /&gt;
extensively and is expected to be merged in February.&lt;br /&gt;
&lt;br /&gt;
On the userspace side January saw the 3.1.0 and 3.1.1 releases of xfsprogs,&lt;br /&gt;
as well as the 3.0.4 release of xfsdump.  The biggest changes in xfsprogs&lt;br /&gt;
3.1.0 were optimizations in xfs_repair that lead to a much lower memory&lt;br /&gt;
usage, and optional use of the blkid library for filesystem detection&lt;br /&gt;
and retrieving storage topology information.  The 3.1.1 release contained&lt;br /&gt;
various important bug fixes for these changes and a various improvements to&lt;br /&gt;
the build system.  The major feature of xfsdump 3.0.4 were fixes for&lt;br /&gt;
time stamp handling on 64-bit systems.&lt;br /&gt;
&lt;br /&gt;
The xfstests package also lots of activity including various new testcases&lt;br /&gt;
and an improved build system.&lt;br /&gt;
&lt;br /&gt;
== XFS status update for December 2009 ==&lt;br /&gt;
&lt;br /&gt;
December finally saw the long awaited release of Linux 2.6.32, which for&lt;br /&gt;
XFS is mostly a bug fix release, with the major changes being various&lt;br /&gt;
improvement to the sync path, including working around the expectation&lt;br /&gt;
from the grub boot loader where metadata is supposed to be after a sync()&lt;br /&gt;
system call.  Together with a refactoring of the inode allocator this&lt;br /&gt;
gives a nice diffstat for this kernel release:&lt;br /&gt;
&lt;br /&gt;
 46 files changed, 767 insertions(+), 1048 deletions(-)&lt;br /&gt;
&lt;br /&gt;
In the meantime development for the 2.6.33 has been going strong.  The&lt;br /&gt;
new event tracing code that allows to observe the inner workings of XFS&lt;br /&gt;
in production systems has finally been merged, with another patch to&lt;br /&gt;
reduce the size of the tracing code by using new upstream kernel features&lt;br /&gt;
posted for review.  Also a large patch series has been posted which&lt;br /&gt;
changes per-AG data to be looked up by a radix tree instead of the&lt;br /&gt;
existing array.  This works around possible deadlocks and user after&lt;br /&gt;
free issues during growfs, and prepares for removing a global (shared)&lt;br /&gt;
lock from the free space allocators.  In addition to that a wide range&lt;br /&gt;
of fixes has been posted and applied.&lt;br /&gt;
&lt;br /&gt;
Work on the userspace packages has been just as busy.  In mkfs.xfs the&lt;br /&gt;
lazy superblock counter feature has now been enabled by default for the&lt;br /&gt;
upcoming xfsprogs 3.1.0 release, which will require kernel 2.6.22 for&lt;br /&gt;
the default mkfs invocation.  Also for mkfs.xfs as patch was posted&lt;br /&gt;
to correct the automatic detection of 4 kilobyte sector drivers which&lt;br /&gt;
are expected to show up in large quantities the real work soon.  The&lt;br /&gt;
norepair mode in xfs_repair has been enhanced with additional freespace&lt;br /&gt;
btree correction checks from xfs_db and is now identical to xfs_check in&lt;br /&gt;
filesystem consistency checking coverage.  A temporary file permission&lt;br /&gt;
problems has been fixed in xfs_fsr, and the libhandle library has been&lt;br /&gt;
fixed to better deal with symbolic links.  In xfs_io a few commands&lt;br /&gt;
that were added years ago have finally been wired up to actually be&lt;br /&gt;
usable.  And last but not least xfsdump saw a fix to the time stamp&lt;br /&gt;
handling in the backup format and some usability and documentation&lt;br /&gt;
improvements to xfsinvutil.&lt;br /&gt;
&lt;br /&gt;
== XFS status update for November 2009 ==&lt;br /&gt;
&lt;br /&gt;
November was a relatively slow month for XFS development.  The XFS tree&lt;br /&gt;
that is destined for the Linux 2.6.33 merge window saw a few fixes and&lt;br /&gt;
cleanups applied to it, and few important fixes still made it into the&lt;br /&gt;
last Linux 2.6.32 release candidates.  A few more patches including a&lt;br /&gt;
final version of the event tracing support for XFS were posted but not&lt;br /&gt;
reviewed yet.&lt;br /&gt;
&lt;br /&gt;
On the userspace side there has been a fair amount of xfsprogs activity.&lt;br /&gt;
The repair speedup patches have finally been merged into the main development&lt;br /&gt;
branch and a couple of other fixes to the various utilities made it in, too.&lt;br /&gt;
The xfstests test suite saw another new regression test suite and a build&lt;br /&gt;
system fix up.&lt;br /&gt;
&lt;br /&gt;
== XFS status update for October 2009 ==&lt;br /&gt;
In October we saw the Linux 2.6.32 merge window with a major XFS update.&lt;br /&gt;
This update includes a refactoring of the inode allocator which also&lt;br /&gt;
allows for speedups for very large filesystems, major sync fixes, updates&lt;br /&gt;
to the fsync and O_SYNC handling which merge the two code paths into a single&lt;br /&gt;
and more efficient one, a workaround for the VFS time stamp behavior,&lt;br /&gt;
and of course various smaller fixes.  A couple of additional fixes have been&lt;br /&gt;
queued up for the next merge window.&lt;br /&gt;
&lt;br /&gt;
On the userspace side there has been a healthy activity on xfsprogs:  mkfs can&lt;br /&gt;
now discard unused sectors on SSDs and thinly provisioned storage devices and&lt;br /&gt;
use the more generic libblkid for topology information and filesystems detection&lt;br /&gt;
instead of the older libdisk, and the build system gained some updates to&lt;br /&gt;
make the source package generation simpler and shared for different package&lt;br /&gt;
types.  A patch has been out to the list but yet committed to add symbol&lt;br /&gt;
versioning to the libhandle library to make future ABI additions easier.&lt;br /&gt;
The xfstests package only saw some minor activity with a new test case&lt;br /&gt;
and small build system fixes.&lt;br /&gt;
&lt;br /&gt;
New minor releases of xfsprogs and xfsdump were tagged but not formally&lt;br /&gt;
released after additional discussion.  Instead a new major xfsprogs release&lt;br /&gt;
is planned for next month.&lt;br /&gt;
&lt;br /&gt;
== XFS status update for September 2009 ==&lt;br /&gt;
&lt;br /&gt;
In September the Linux 2.6.31 kernel was finally released, including another&lt;br /&gt;
last minute XFS fix for the swapext (defragmentation) compat ioctl handler.&lt;br /&gt;
The final patch from 2.6.30 to 2.6.31 shows the following impressive diffstat&lt;br /&gt;
for XFS:&lt;br /&gt;
&lt;br /&gt;
   55 files changed, 1476 insertions(+), 2269 deletions(-)&lt;br /&gt;
&lt;br /&gt;
The 2.6.32 merge window started with a large XFS merge that included changes&lt;br /&gt;
to the inode allocator, and a few smaller fixes.  New versions of the sync&lt;br /&gt;
and time stamp fixes as well as the event tracing support have been posted&lt;br /&gt;
in September but not yet merged into the XFS development tree and/or mainline.&lt;br /&gt;
&lt;br /&gt;
On the userspace side a large patch series to reduce the memory usage in&lt;br /&gt;
xfs_repair to acceptable levels was posted, but not yet merged.  A new xfs_df&lt;br /&gt;
shell script to measure use of the on disk space was posted but not yet&lt;br /&gt;
merged pending some minor review comments and a missing man page.  In addition&lt;br /&gt;
we saw the usual amount of smaller fixes and cleanups.&lt;br /&gt;
&lt;br /&gt;
Also this month Felix Blyakher resigned from his post as XFS maintainer and handed off to Alex Elder.&lt;br /&gt;
&lt;br /&gt;
== XFS status update for August 2009 ==&lt;br /&gt;
&lt;br /&gt;
In August the Linux 2.6.31 kernel has still been in the release candidate&lt;br /&gt;
stage, but a couple of important XFS fixes made it in time for the release,&lt;br /&gt;
including a fix for the inode cache races with NFS workloads that have&lt;br /&gt;
plagued us for a long time.&lt;br /&gt;
&lt;br /&gt;
The list saw various patches destined for the Linux 2.6.32 merge window,&lt;br /&gt;
including a merge of the fsync and O_SYNC handling code to address various&lt;br /&gt;
issues with the latter, a workaround for deficits in the timestamp handling&lt;br /&gt;
interface between the VFS and filesystems, a repost of the sync improvements&lt;br /&gt;
patch series and various smaller patches.&lt;br /&gt;
&lt;br /&gt;
August also saw the minor 3.0.3 release of xfsprogs which collects smaller&lt;br /&gt;
fixes to the various tools and most importantly a fix to allow xfsprogs to&lt;br /&gt;
work again on SPARC and other strict alignment handling which regressed a&lt;br /&gt;
few releases ago.  The xfstests repository saw a few new test cases and a&lt;br /&gt;
various small improvements.&lt;br /&gt;
&lt;br /&gt;
== XFS status update for July 2009 ==&lt;br /&gt;
&lt;br /&gt;
As a traditional summer vacation month July has not seen a lot of XFS&lt;br /&gt;
activity.  The mainline 2.6.31 kernel made it to the 5th release candidate&lt;br /&gt;
but besides a few kernel-wide patches touching XFS the only activity were&lt;br /&gt;
two small patches fixing a bug in FIEMAP and working around writeback&lt;br /&gt;
performance problems in the VM.&lt;br /&gt;
&lt;br /&gt;
A few more patches were posted to the list but haven&#039;t been merged yet.&lt;br /&gt;
Two big patch series deal with theoretically possible deadlocks due to&lt;br /&gt;
locks taken in reclaim contexts, which are now detected by lockdep.&lt;br /&gt;
&lt;br /&gt;
The pace on the userspace side has been slow.  There have been a couple&lt;br /&gt;
of fixes to xfs_repair and xfs_db, and xfstests grew a few more testcases.&lt;br /&gt;
&lt;br /&gt;
== XFS status update for June 2009 ==&lt;br /&gt;
&lt;br /&gt;
On June 9th we finally saw the release of Linux 2.6.30.  For XFS&lt;br /&gt;
this release mostly contains the improved ENOSPC handling, but also&lt;br /&gt;
various smaller bugfixes and lots of cleanups.  The code size of XFS&lt;br /&gt;
decreased again by 500 lines of code in this release.&lt;br /&gt;
&lt;br /&gt;
The Linux 2.6.31 merge opened in the mid of the month and some big XFS&lt;br /&gt;
changes have been pushed: A removal of the quotaops&lt;br /&gt;
infrastructure which simplifies the quota implementation, the switch&lt;br /&gt;
from XFS&#039;s own Posix ACL implementation to the generic one shared&lt;br /&gt;
by various other filesystems which also supports in-memory caching of&lt;br /&gt;
ACLs and another incremental refactoring of the sync code.&lt;br /&gt;
&lt;br /&gt;
A patch to better track dirty inodes and work around issues in the&lt;br /&gt;
way the VFS updates the access time stamp on inodes has been reposted&lt;br /&gt;
and discussed. Another patch to converting the existing XFS tracing&lt;br /&gt;
infrastructure to use the ftrace even tracer has been posted.&lt;br /&gt;
&lt;br /&gt;
On the userspace side there have been a few updates to xfsprogs, including&lt;br /&gt;
some repair fixes and a new fallocate command for xfs_io.  There were&lt;br /&gt;
major updates for xfstests:  The existing aio-dio-regress testsuite has&lt;br /&gt;
been merged into xfstests, and various changes went into the tree to make&lt;br /&gt;
xfstests better suitable for use with other filesystems.&lt;br /&gt;
&lt;br /&gt;
The attr and acl projects which have been traditionally been hosted&lt;br /&gt;
as part of the XFS userspace utilities have now been split into a separate&lt;br /&gt;
project maintained by Andreas Gruenbacher, who has been doing most of&lt;br /&gt;
the work on it, and moved to the Savannah hosting platform.&lt;br /&gt;
&lt;br /&gt;
== XFS status update for May 2009 ==&lt;br /&gt;
&lt;br /&gt;
In May Linux 2.6.30 was getting close to be released, and various&lt;br /&gt;
important XFS fixes made it during the latest release candidates.&lt;br /&gt;
In the meantime some big patch series to rework the sync code and&lt;br /&gt;
the inode allocator have been posted for the next merge window.&lt;br /&gt;
&lt;br /&gt;
On the userspace side xfsprogs and xfsdump 3.0.1 were finally released,&lt;br /&gt;
quickly followed by 3.0.2 releases with updated Debian packaging.&lt;br /&gt;
After that various small patches that were held back made it into xfsprogs.&lt;br /&gt;
A patch to add the xfs_reno tool which allows to move inodes around to&lt;br /&gt;
fit into 32 bit inode number space has been posted which is also one&lt;br /&gt;
central aspect of future online shrinking support.&lt;br /&gt;
&lt;br /&gt;
There has been major activity on xfstests including adding generic&lt;br /&gt;
filesystems support to allow running tests that aren&#039;t XFS-specific on&lt;br /&gt;
any Linux filesystems.&lt;br /&gt;
&lt;br /&gt;
== XFS status update for April 2009 ==&lt;br /&gt;
&lt;br /&gt;
In April development for Linux 2.6.30 was in full motion.  A patchset to correct flushing of delayed allocations with near full filesystems has been committed in early April, as well as various smaller fixes. A patch series to improve the behavior of sys_sync has been posted but is waiting for VFS changes queued for Linux 2.6.31.&lt;br /&gt;
&lt;br /&gt;
On the userspace side xfsprogs and xfsdump 3.0.1 have managed to split their release dates into May again after a lot of last-minute build system updates.&lt;br /&gt;
&lt;br /&gt;
== XFS status update for March 2009 ==&lt;br /&gt;
&lt;br /&gt;
Linux 2.6.29 has been released which includes major XFS updates like the&lt;br /&gt;
new generic btree code, a fully functional 32bit compat ioctl implementation&lt;br /&gt;
and the new combined XFS and Linux inode.  (See previous status reports&lt;br /&gt;
for more details). A patch series to improve correctness and performance&lt;br /&gt;
has been posted but not yet applied.  Various minor fixes and cleanups&lt;br /&gt;
have been sent to Linus for 2.6.30 which looks like it will be a minor&lt;br /&gt;
release for XFS after the big churn in 2.6.29.&lt;br /&gt;
&lt;br /&gt;
On userspace a lot of time has been spent on fixing and improving the&lt;br /&gt;
build system shared by the various XFS utilities as well as various smaller&lt;br /&gt;
improvements leading to the xfsprogs and xfsdump 3.0.1 releases which are&lt;br /&gt;
still outstanding.&lt;br /&gt;
&lt;br /&gt;
== XFS status update for February 2009 ==&lt;br /&gt;
&lt;br /&gt;
In February various smaller fixes have been sent to Linus for 2.6.29,&lt;br /&gt;
including a revert of the faster vmap APIs which don&#039;t seem to be quite&lt;br /&gt;
ready yet on the VM side.  At the same time various patches have been&lt;br /&gt;
queued up for 2.6.30, with another big batch pending.  There also has&lt;br /&gt;
been a repost of the CRC patch series, including support for a new,&lt;br /&gt;
larger inode core.&lt;br /&gt;
&lt;br /&gt;
SGI released various bits of work in progress from former employees&lt;br /&gt;
that will be extremely helpful for the future development of XFS,&lt;br /&gt;
thanks a lot to Mark Goodwin for making this happen.&lt;br /&gt;
&lt;br /&gt;
On the userspace side the long awaited 3.0.0 releases of xfsprogs and&lt;br /&gt;
xfsdump finally happened early in the month, accompanied by a 2.2.9&lt;br /&gt;
release of the dmapi userspace.  There have been some issues with packaging&lt;br /&gt;
so a new minor release might follow soon.&lt;br /&gt;
&lt;br /&gt;
The xfs_irecover tool has been relicensed so that it can be merged into&lt;br /&gt;
the GPLv2 codebase of xfsprogs, but the actual integration work hasn&#039;t&lt;br /&gt;
happened yet.&lt;br /&gt;
&lt;br /&gt;
Important bits of XFS documentation that have been available on the XFS&lt;br /&gt;
website in PDF form have been released in the document source form under&lt;br /&gt;
the Creative Commons license so that they can be updated as a community&lt;br /&gt;
effort, and checked into a public git tree.&lt;br /&gt;
&lt;br /&gt;
== XFS status update for January 2009 ==&lt;br /&gt;
&lt;br /&gt;
January has been an extremely busy month on the userspace front.  Many&lt;br /&gt;
smaller and medium updates went into xfsprogs, xfstests and to a lesser&lt;br /&gt;
extent xfsdump.  xfsprogs and xfsdump are ramping up for getting a 3.0.0&lt;br /&gt;
release out in early February which will include the first major re-sync&lt;br /&gt;
with the kernel code in libxfs, a cleanup of the exported library interfaces&lt;br /&gt;
and the move of two tools (xfs_fsr and xfs_estimate) from the xfsdump&lt;br /&gt;
package to xfsprogs.  After this the xfsprogs package will contain all&lt;br /&gt;
tools that use internal libxfs interfaces which fortunately equates to those&lt;br /&gt;
needed for normal administration.  The xfsdump package now only contains&lt;br /&gt;
the xfsdump/xfsrestore tools needed for backing up and restoring XFS&lt;br /&gt;
filesystems.  In addition it grew a fix to support dump/restore on systems&lt;br /&gt;
with a 64k page size.  A large number of acl/attr package patches was&lt;br /&gt;
posted to the list, but pending a possible split of these packages from the&lt;br /&gt;
XFS project these weren&#039;t processed yet.&lt;br /&gt;
&lt;br /&gt;
On the kernel side the big excitement in January was an in-memory corruption&lt;br /&gt;
introduced in the btree refactoring which hit people running 32bit platforms&lt;br /&gt;
without support for large block devices.  This issue was fixed and pushed&lt;br /&gt;
to the 2.6.29 development tree after a long collaborative debugging effort&lt;br /&gt;
at linux.conf.au.  Besides that about a dozen minor fixes were pushed to&lt;br /&gt;
2.6.29 and the first batch of misc patches for the 2.6.30 release cycle&lt;br /&gt;
was sent out.&lt;br /&gt;
&lt;br /&gt;
At the end of December the SGI group in Melbourne which the previous&lt;br /&gt;
XFS maintainer and some other developers worked for has been closed down&lt;br /&gt;
and they will be missed greatly.  As a result maintainership has been passed&lt;br /&gt;
on in a way that has been slightly controversial in the community, and the&lt;br /&gt;
first patchset of work in progress in Melbourne have been posted to the list&lt;br /&gt;
to be picked up by others.&lt;br /&gt;
&lt;br /&gt;
The xfs.org wiki has gotten a little facelift on it&#039;s front page making it&lt;br /&gt;
a lot easier to read.&lt;br /&gt;
&lt;br /&gt;
== XFS status update for December 2008 ==&lt;br /&gt;
&lt;br /&gt;
On Christmas Eve the 2.6.28 mainline kernel was release, with only minor XFS&lt;br /&gt;
bug fixes over 2.6.27.&lt;br /&gt;
&lt;br /&gt;
On the development side December has been busy but unspectacular month.&lt;br /&gt;
All lot of misc fixes and improvements have been sent out, tested and committed&lt;br /&gt;
especially on the user land side.&lt;br /&gt;
&lt;br /&gt;
== XFS status update for November 2008 ==&lt;br /&gt;
&lt;br /&gt;
The mainline kernel is now at 2.6.28-rc6 and includes a small number of&lt;br /&gt;
XFS fixes.  There have been no updates to the XFS development tree during&lt;br /&gt;
November.  Without new regressions that large number of changes that&lt;br /&gt;
missed 2.6.28 has thus stabilized to be ready for 2.6.29.  In the meantime&lt;br /&gt;
kernel-side development has been slow, with the only major patch set&lt;br /&gt;
being a wide number of fixes to the compatibility for 32 bit ioctls on&lt;br /&gt;
a 64 bit kernel.&lt;br /&gt;
&lt;br /&gt;
In the meantime there has been a large number of commits to the user space&lt;br /&gt;
tree, which mostly consist of smaller fixes.  xfsprogs is getting close&lt;br /&gt;
to have the 3.0.0 release which will be the first full resync with the&lt;br /&gt;
kernel sources since the year 2005.&lt;br /&gt;
&lt;br /&gt;
== XFS status update for October 2008 ==&lt;br /&gt;
&lt;br /&gt;
Linux 2.6.27 released with all the bits covered in last month&#039;s report.  It&lt;br /&gt;
did however miss two important fixes for regressions that a few people hit.&lt;br /&gt;
2.6.27.3 or later are recommended for use with XFS.&lt;br /&gt;
&lt;br /&gt;
In the meantime the generic btree implementation, the sync reorganization&lt;br /&gt;
and after a lot of merge pain the XFS and VFS inode unification hit the&lt;br /&gt;
development tree during the time allocated for the merge window.  No XFS&lt;br /&gt;
updates other than the two regression fixes also in 2.6.27.3 have made it&lt;br /&gt;
into mainline as of 2.6.28-rc3.&lt;br /&gt;
&lt;br /&gt;
The only new feature on the list in October is support for the fiemap&lt;br /&gt;
interface that has been added to the VFS during the 2.6.28 merge window.&lt;br /&gt;
However there was lot of patch traffic consisting of fixes and respun&lt;br /&gt;
versions of previously known patches.  There still is a large backlog of&lt;br /&gt;
patches on the list that is not applied to the development tree yet.&lt;br /&gt;
&lt;br /&gt;
== XFS status update for September 2008 ==&lt;br /&gt;
&lt;br /&gt;
With Linux 2.6.27 still not released but only making slow progress from 2.6.27-rc5 to 2.6.27-rc8 XFS changes in mainline have been minimal in September with only about half a dozen bug fixes patches.&lt;br /&gt;
&lt;br /&gt;
In the meantime the generic btree patch set has been committed to the development tree, but not many other updates yet. On the user space side xfsprogs 2.10.1 has been released on September 5th with a number of important bug fixes. Following the release of xfsprogs 2.10.1 open season for development of the user space code has started. The first full update of the shared kernel / user space code in libxfs since 2005 has been committed. In addition to that the number of headers installed for the regular devel package has been reduced to the required minimum and support for checking the source code for endianess errors using sparse has been added.&lt;br /&gt;
&lt;br /&gt;
The patch sets to unify the XFS and Linux inode structures, and rewrite various bits of the sync code have seen various iterations on the XFS list, but haven&#039;t been committed yet. A first set of patches implementing CRCs for various metadata structures has been posted to the list.&lt;br /&gt;
&lt;br /&gt;
== XFS status update for August 2008 ==&lt;br /&gt;
&lt;br /&gt;
With the 2.6.27-rc5 release the 2.6.27 cycle is nearing it&#039;s end. The major XFS feature in 2.6.27-rc5 is support for case-insensitive file names. At this point it is still limited to 7bit ASCII file names, with updates for utf8 file names expected to follow later. In addition to that 2.6.27-rc5 fixes a long-standing problem with non-EABI arm compiler which pack some XFS data structures wrongly. Besides this 2.6.27-rc5 also contains various cleanups, most notably the removal of the last bhv_vnode_t instances, and most uses of semaphores. As usual the diffstat for XFS from 2.6.26 to 2.6.26-rc5 is negative:&lt;br /&gt;
&lt;br /&gt;
       100 files changed, 3819 insertions(+), 4409 deletions(-)&lt;br /&gt;
&lt;br /&gt;
On the user space front a new minor xfsprogs version is about to be released containing various fixes including the user space part of arm packing fix.&lt;br /&gt;
&lt;br /&gt;
Work in progress on the XFS mailing list are a large patch set to unify the alloc, inobt and bmap btree implementation into a single that supports arbitrarily pluggable key and record formats. These btree changes are the first major preparation for adding CRC checks to all metadata structures in XFS, and an even larger patch set to unify the XFS and Linux inode structures, and perform all inode write back from the btree uses instead of an inode cache in XFS.&lt;br /&gt;
&lt;br /&gt;
== Updates before 2008 ==&lt;br /&gt;
&lt;br /&gt;
News up to 2007 can be found on a separate page: [[OLD_News]]&lt;/div&gt;</summary>
		<author><name>Hch</name></author>
	</entry>
	<entry>
		<id>https://xfs.org/index.php?title=XFS_Status_Updates&amp;diff=2126</id>
		<title>XFS Status Updates</title>
		<link rel="alternate" type="text/html" href="https://xfs.org/index.php?title=XFS_Status_Updates&amp;diff=2126"/>
		<updated>2010-12-20T17:59:47Z</updated>

		<summary type="html">&lt;p&gt;Hch: November update&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== XFS status update for November 2010 ==&lt;br /&gt;
&lt;br /&gt;
From looking at the kernel git commits November looked like a pretty&lt;br /&gt;
slow month with just two hand full fixes going into the release candidates&lt;br /&gt;
for Linux 2.6.37, and none at all going into the development tree.&lt;br /&gt;
But in this case git statistics didn&#039;t tell the whole story - there&lt;br /&gt;
was a lot of activity on patches for the next merge window on the list.&lt;br /&gt;
The focus in November was still at metadata scalability, with various&lt;br /&gt;
patchsets that improves parallel creates and unlinks again, and also&lt;br /&gt;
improves 8-way dbench throughput by 30%.  In addition to that there&lt;br /&gt;
were patches to improve preallocation for NFS servers, to simplify&lt;br /&gt;
the writeback code, and to remove the XFS-internal percpu counters&lt;br /&gt;
for free space for the generic kernel percpu counters, which just needed&lt;br /&gt;
a small improvement.&lt;br /&gt;
&lt;br /&gt;
On the user space side we saw the release of xfsprogs 3.1.4, which&lt;br /&gt;
contains various accumulated bug fixes and Debian packaging updates.&lt;br /&gt;
The xfsdump tree saw a large update to speed up restore by using&lt;br /&gt;
mmap for an internal database and remove the limitation of ~ 214&lt;br /&gt;
million directory entries per dump file.  The xfstests test suite&lt;br /&gt;
saw three new testcases and various fixes, including support for the&lt;br /&gt;
hfsplus filesystem.&lt;br /&gt;
&lt;br /&gt;
== XFS status update for October 2010 ==&lt;br /&gt;
&lt;br /&gt;
Near the end of the month we finally saw the release of Linux 2.6.36.&lt;br /&gt;
Just a single fix made it into mainline in this month, showing that the&lt;br /&gt;
stabilization period before has worked very well.&lt;br /&gt;
&lt;br /&gt;
Linux 2.6.36 has been another impressive release for XFS, seeing&lt;br /&gt;
various performance improvements in the new delayed logging code,&lt;br /&gt;
for direct I/O and the sync system call, a few bug fixes, and lots&lt;br /&gt;
of cleanups, resulting in a net removal of over 2000 lines of code:&lt;br /&gt;
&lt;br /&gt;
        89 files changed, 1998 insertions(+), 4279 deletions(-)&lt;br /&gt;
&lt;br /&gt;
The merge window for Linux 2.6.37 opened just a few days after the&lt;br /&gt;
release of Linux 2.6.36 and already contains another large XFS update&lt;br /&gt;
at the end of October.  Highlights of the XFS tree merged into 2.6.37-rc1&lt;br /&gt;
are another large set of metadata scalability patches, support for 32-bit&lt;br /&gt;
wide project IDs, and support for the new XFS_IOC_ZERO_RANGE ioctl,&lt;br /&gt;
which allows to punch a whole and convert it to an unwritten extent&lt;br /&gt;
in a single atomic operation.&lt;br /&gt;
&lt;br /&gt;
The metadata scalability changes improve 8-way fs_mark of 50 million files&lt;br /&gt;
by over 15% and removal of those files by over 100%, with further&lt;br /&gt;
improvements expected by the next round of XFS metadata scalability&lt;br /&gt;
and VFS scalability improvements targeted at Linux 2.6.38.&lt;br /&gt;
&lt;br /&gt;
On the user space side October was a rather quit month for xfsprogs, which&lt;br /&gt;
only saw the addition of 32-bit project ID handling, and a fix for&lt;br /&gt;
parsing the mount table in fsr when used together with disk encryption&lt;br /&gt;
tools.  A few patches for xfsdump were posted on the list, but none&lt;br /&gt;
was applied, leaving the majority of the user space activity to&lt;br /&gt;
xfstests, which saw very active development.  Various patches went&lt;br /&gt;
into xfstests to improve portability to filesystems with a limited&lt;br /&gt;
feature set, and to move more filters to generic code.  In addition&lt;br /&gt;
various cleanups to test cases in test programs were applied.&lt;br /&gt;
&lt;br /&gt;
== XFS status update for September 2010 ==&lt;br /&gt;
&lt;br /&gt;
Mainline activity has been rather low in September while with only&lt;br /&gt;
two more fixes going into the 2.6.36 release candidates after the&lt;br /&gt;
large merge activity in August.  Development for the next merge&lt;br /&gt;
window has been more active.  The largest item was the inclusion&lt;br /&gt;
of the metadata scalability patch series, which provides very large&lt;br /&gt;
speedups for parallel metadata operations.  In addition a new&lt;br /&gt;
ioctl to punch holes and convert the whole to an unwritten extent&lt;br /&gt;
was added and a small number of cleanups also made it into the tree.&lt;br /&gt;
&lt;br /&gt;
Patches to add support for 32bit wide project ID identifiers and&lt;br /&gt;
using group and project quotas concurrently were posted to the list&lt;br /&gt;
and discussed but not yet included.&lt;br /&gt;
&lt;br /&gt;
Userspace development has been rather quited again, with a single fix&lt;br /&gt;
committed to xfsprogs and xfsdump each.  The xfstests test suite grew&lt;br /&gt;
a new test case and received a few additional fixes.  Last but not least&lt;br /&gt;
the [http://xfs.org/docs/xfsdocs-xml-dev/XFS_User_Guide//tmp/en-US/html/index.html XFS Users Guide]&lt;br /&gt;
was updated with various factual corrections and spelling fixes.&lt;br /&gt;
&lt;br /&gt;
== XFS status update for August 2010 ==&lt;br /&gt;
&lt;br /&gt;
At the first of August we finally saw the release of Linux 2.6.35,&lt;br /&gt;
which includes a large XFS update.  The most prominent feature in&lt;br /&gt;
Linux 2.6.35 is the new delayed logging code which provides massive&lt;br /&gt;
speedups for metadata-intensive workloads, but there has been&lt;br /&gt;
a large amount of other fixes and cleanups, leading to the following&lt;br /&gt;
diffstat:&lt;br /&gt;
&lt;br /&gt;
         67 files changed, 4426 insertions(+), 3835 deletions(-)&lt;br /&gt;
&lt;br /&gt;
Given the early release of Linux 2.6.35 the merge window for the&lt;br /&gt;
next release fully fell into the month of August.  The XFS updates&lt;br /&gt;
for Linux 2.6.36 include various additional performance improvements&lt;br /&gt;
in the delayed logging code, for direct I/O writes and for avoiding&lt;br /&gt;
synchronous transactions, as well as various fixed and large amount&lt;br /&gt;
of cleanups, including the removal of the remaining dead DMAPI&lt;br /&gt;
code.&lt;br /&gt;
&lt;br /&gt;
On the userspace side we saw the 3.1.3 release of xfsprogs, which includes&lt;br /&gt;
various smaller fixes, support for the new XFS_IOC_ZERO_RANGE ioctl and&lt;br /&gt;
Debian packaging updates.  The xfstests package saw one new test case&lt;br /&gt;
and a couple of smaller patches, and xfsdump has not seen any updates at&lt;br /&gt;
all.&lt;br /&gt;
&lt;br /&gt;
The XMLified versions of the XFS users guide, training labs and filesystem&lt;br /&gt;
structure documentation are now available as on the fly generated html on&lt;br /&gt;
the xfs.org website and can be found at [[XFS_Papers_and_Documentation|Papers &amp;amp; Documentation]].&lt;br /&gt;
&lt;br /&gt;
== XFS status update for July 2010 ==&lt;br /&gt;
&lt;br /&gt;
July saw three more release candidates for the Linux 2.6.35 kernel, which&lt;br /&gt;
included a relatively large number of XFS updates.  There were two security&lt;br /&gt;
fixes, a small one to prevent swapext to operate on write-only file&lt;br /&gt;
descriptors, and a much larger one to properly validate inode numbers&lt;br /&gt;
coming from NFS clients or userspace applications using the bulkstat or&lt;br /&gt;
the open-by-handle interfaces.  In addition to that another relatively&lt;br /&gt;
large patch fixes the way inodes get reclaimed in the background, and&lt;br /&gt;
avoids inode caches growing out of bounds.&lt;br /&gt;
&lt;br /&gt;
In the meantime the code for the Linux 2.6.36 got the last touches before&lt;br /&gt;
the expected opening of the merge window, by merging a few more last&lt;br /&gt;
minute fixes and cleanups.  The most notable one is a patch series&lt;br /&gt;
that fixes in-memory corruption when concurrently accessing unwritten&lt;br /&gt;
extents using the in-kernel AIO code.&lt;br /&gt;
&lt;br /&gt;
The userspace side was still quite slow, but some a bit more activity&lt;br /&gt;
than June.  In xfsprogs the xfs_db code grew two bug fixes, as did&lt;br /&gt;
the xfs_io script.  The xfstests package saw one new test cases and&lt;br /&gt;
various fixes to existing code.  Last but not least a few patches&lt;br /&gt;
affecting the build system for all userspace tools were committed.&lt;br /&gt;
&lt;br /&gt;
== XFS status update for June 2010 ==&lt;br /&gt;
&lt;br /&gt;
The month of June saw a few important bug fixes for the Linux 2.6.35&lt;br /&gt;
release candidates.  That includes ensuring that files used for the&lt;br /&gt;
swapext ioctl are writable to the user, and doing proper validation&lt;br /&gt;
of inodes coming from untrusted sources, such as NFS exporting and&lt;br /&gt;
the open by handle system calls.  The main work however has been&lt;br /&gt;
focused on development for the Linux 2.6.36 merge window, including&lt;br /&gt;
merging various patches that have been out on the mainline list&lt;br /&gt;
for a long time.  Highlights include further performance improvements&lt;br /&gt;
for sync heavy metadata workloads, stack space reduction in the&lt;br /&gt;
writeback path and improvements of the XFS tracing infrastructure.&lt;br /&gt;
Also after some discussion the remaining hooks for DMAPI are going&lt;br /&gt;
to be dropped in mainline.   As a replacement a tree containing&lt;br /&gt;
full DMAPI support with a slightly cleaner XFS interaction will be&lt;br /&gt;
hosted by SGI.&lt;br /&gt;
&lt;br /&gt;
On the userspace side June was a rather slow month, with no updates&lt;br /&gt;
to xfsprogs and xfsdump at all, and just one new test case and a cleanup&lt;br /&gt;
applied to xfstests.&lt;br /&gt;
&lt;br /&gt;
== XFS status update for May 2010 ==&lt;br /&gt;
&lt;br /&gt;
In May 2010 we saw the long awaited release of Linux 2.6.34, which includes&lt;br /&gt;
a large XFS update.  The most important features appearing in 2.6.34 was the&lt;br /&gt;
new inode and quota flushing code, which leads to much better I/O patterns&lt;br /&gt;
for metadata-intensive workloads.  Additionally support for synchronous NFS&lt;br /&gt;
exports has been improved to give much better performance, and performance&lt;br /&gt;
for the fsync, fdatasync and sync system calls has been improved slightly.&lt;br /&gt;
A bug when resizing extremely busy filesystems has been fixed, which required&lt;br /&gt;
extensive modification to the data structure used for looking up the&lt;br /&gt;
per-allocation group data.  Last but not least there was a steady flow of&lt;br /&gt;
minor bug fixes and cleanups, leading to the following diffstat from&lt;br /&gt;
2.6.33 to 2.6.34:&lt;br /&gt;
&lt;br /&gt;
  86 files changed, 3209 insertions(+), 3178 deletions(-)&lt;br /&gt;
&lt;br /&gt;
Meanwhile active development aimed at 2.6.35 merge progressed.  The&lt;br /&gt;
major feature for this window is the merge of the delayed logging code,&lt;br /&gt;
which adds a new logging mode that dramatically reduces the bandwidth&lt;br /&gt;
required for log I/O.  See the &lt;br /&gt;
[http://git.kernel.org/?p=linux/kernel/git/torvalds/linux-2.6.git;a=blob;f=Documentation/filesystems/xfs-delayed-logging-design.txt;h=96d0df28bed323d5596fc051b0ffb96ed8e3c8df;hb=HEAD documentation] for details.  Testers&lt;br /&gt;
for this new code are welcome.&lt;br /&gt;
&lt;br /&gt;
In userland xfsprogs saw the long awaited 3.1.2 release, which can be&lt;br /&gt;
considered a bug fix release for xfs_repair, xfs_fsr and mkfs.xfs.  After&lt;br /&gt;
the release a few more fixes were merged into the development tree.&lt;br /&gt;
The xfstests package saw various new tests, including many tests to&lt;br /&gt;
exercise the quota code, and a few fixes to existing tests.&lt;br /&gt;
&lt;br /&gt;
== XFS status update for April 2010 ==&lt;br /&gt;
&lt;br /&gt;
In April 2.6.34 still was in the release candidate phase, with&lt;br /&gt;
a hand full of XFS fixes making it into mainline.  Development for&lt;br /&gt;
the 2.6.35 merge window went ahead full steam at the same time.&lt;br /&gt;
&lt;br /&gt;
While a fair amount of patches hit the development tree these were&lt;br /&gt;
largely cleanups, with the real development activity happening on&lt;br /&gt;
the mailing list.  There was another round of patches and following&lt;br /&gt;
discussion on the scalable busy extent tracking and delayed logging&lt;br /&gt;
features mentioned last month.  They are expected to be merged in&lt;br /&gt;
May and queue up for the Linux 2.6.35 window.  Last but not least&lt;br /&gt;
April saw a large number of XFS fixes backported to the 2.6.32 and&lt;br /&gt;
2.6.33 -stable series.&lt;br /&gt;
&lt;br /&gt;
In user land xfsprogs has seen few but important updates, preparing&lt;br /&gt;
for a new release next month.  The xfs_repair tool saw a fix to&lt;br /&gt;
correctly enable the lazy superblock counters on an existing&lt;br /&gt;
filesystem, and xfs_fsr saw updates to better deal with dynamic&lt;br /&gt;
attribute forks.  Last but not a least a port to Debian GNU/kFreeBSD&lt;br /&gt;
got merged. The xfstests test suite saw two new test cases and various&lt;br /&gt;
smaller fixes.&lt;br /&gt;
&lt;br /&gt;
== XFS status update for March 2010 ==&lt;br /&gt;
&lt;br /&gt;
The merge window for Linux 2.6.34 closed in the first week of March,&lt;br /&gt;
with the important XFS features already landing in February.  Not&lt;br /&gt;
surprisingly the XFS merge activity in March has been rather slow,&lt;br /&gt;
with only about a dozen bug fixes patches making it towards Linus&#039;&lt;br /&gt;
tree in that time.&lt;br /&gt;
&lt;br /&gt;
On the other hand active development for the 2.6.35 merge window has&lt;br /&gt;
been very active.  Most importantly there was a lot of work on the&lt;br /&gt;
transaction and log subsystems.  Starting with a large patchset to&lt;br /&gt;
clean up and refactor the transaction subsystem and introducing more&lt;br /&gt;
flexible I/O containers in the low-level logging code work is&lt;br /&gt;
progressing to a new, more efficient logging implementation.  While&lt;br /&gt;
this preparatory work has already been merged in the development tree,&lt;br /&gt;
the actual delayed logging implementation still needs more work after&lt;br /&gt;
the initial public posting.  The delayed logging implementation which&lt;br /&gt;
is very briefly modeled after the journaling mode in the ext3/4&lt;br /&gt;
and reiserfs filesystems allows to accumulated multiple asynchronous&lt;br /&gt;
transactions in memory instead of possibly writing them out&lt;br /&gt;
many times.  Using the new delayed logging mechanism I/O bandwidth&lt;br /&gt;
used for the log decreases by orders of magnitude and performance&lt;br /&gt;
on metadata intensive workloads increases massively.&lt;br /&gt;
&lt;br /&gt;
In addition to that a new version of the discard (aka TRIM) support&lt;br /&gt;
has been posted, this time entirely contained in kernel space&lt;br /&gt;
and without the need of a userspace utility to drive it.  Last but&lt;br /&gt;
not least the usual steady stream of cleanups and bug fixes has not&lt;br /&gt;
ceased this month either.&lt;br /&gt;
&lt;br /&gt;
Besides the usual flow of fixes and new test cases in the xfstests&lt;br /&gt;
test suite development on the userspace side has been rather slow.&lt;br /&gt;
Xfsprogs has only seen a single fix for SMP locking in xfs_repair&lt;br /&gt;
and support for building on Debian GNU/kFreeBSD, and xfsdump&lt;br /&gt;
has seen no commit at all.&lt;br /&gt;
&lt;br /&gt;
== XFS status update for February 2010 ==&lt;br /&gt;
&lt;br /&gt;
February saw the release of the Linux 2.6.33 kernel, which includes&lt;br /&gt;
a large XFS update.  The biggest user-visible change in Linux 2.6.33&lt;br /&gt;
is that XFS now support the generic Linux trace event infrastructure,&lt;br /&gt;
which allows tracing lots of XFS behavior with a normal production&lt;br /&gt;
built kernel.  Except for this Linux 2.6.33 has been mostly a bug-fix&lt;br /&gt;
release, fixing various user reported bugs in previous releases.&lt;br /&gt;
The total diffstat for XFS in Linux 2.6.33 looks like:&lt;br /&gt;
&lt;br /&gt;
  84 files changed, 3023 insertions(+), 3550 deletions(-)&lt;br /&gt;
&lt;br /&gt;
In addition to that the merge window for Linux 2.6.34 opened and the&lt;br /&gt;
first merge of the XFS tree made it into Linus tree.  Unlike Linux&lt;br /&gt;
2.6.33 this merge window includes major feature work.  The most&lt;br /&gt;
important change for users is a new algorithm for inode and quota&lt;br /&gt;
writeback that leads to better I/O locality and improved metadata&lt;br /&gt;
performance.  The second big change is a rewrite of the per-allocation&lt;br /&gt;
group data lookup which fixes a long-standing problem in the code&lt;br /&gt;
to grow a life filesystem and will also ease future filesystem&lt;br /&gt;
shrinking support.  Not merged through the XFS tree, but of great&lt;br /&gt;
importance for embedded users is a new API that allows XFS to properly&lt;br /&gt;
flush cache lines on it&#039;s log and large directory buffers, making&lt;br /&gt;
XFS work properly on architectures with virtually indexed caches,&lt;br /&gt;
such as parisc and various arm and mips variants.  Last but not&lt;br /&gt;
least there is an above average amount of cleanups that went into&lt;br /&gt;
Linus tree in this cycle.&lt;br /&gt;
&lt;br /&gt;
There have been more patches on the mailing list that haven&#039;t made&lt;br /&gt;
it to Linus tree yet, including an optimized implementation of&lt;br /&gt;
fdatasync(2) and massive speedups for metadata workloads on&lt;br /&gt;
NFS exported XFS filesystems.&lt;br /&gt;
&lt;br /&gt;
On the userspace side February has been a relatively quite month.&lt;br /&gt;
Lead by xfstests only a moderate amount of fixes made it into&lt;br /&gt;
the respective trees.&lt;br /&gt;
&lt;br /&gt;
== XFS status update for January 2010 ==&lt;br /&gt;
&lt;br /&gt;
January saw additional release candidates of the Linux 2.6.33 kernel,&lt;br /&gt;
including a couple of bug fixes for XFS.  In the meantime the XFS tree&lt;br /&gt;
has been growing a large number of patches destined for the Linux 2.6.34&lt;br /&gt;
merge window: a large rework of the handling of per-AG data, support for&lt;br /&gt;
the quota netlink interface, and better power saving behavior of the&lt;br /&gt;
XFS kernel threads, and of course various cleanups.&lt;br /&gt;
&lt;br /&gt;
A large patch series to replace the current asynchronous inode writeback&lt;br /&gt;
with a new scheme that uses the delayed write buffers was posted to&lt;br /&gt;
the list.  The new scheme, which allows archive better I/O locality by&lt;br /&gt;
dispatching meta-data I/O from a single place has been discussed&lt;br /&gt;
extensively and is expected to be merged in February.&lt;br /&gt;
&lt;br /&gt;
On the userspace side January saw the 3.1.0 and 3.1.1 releases of xfsprogs,&lt;br /&gt;
as well as the 3.0.4 release of xfsdump.  The biggest changes in xfsprogs&lt;br /&gt;
3.1.0 were optimizations in xfs_repair that lead to a much lower memory&lt;br /&gt;
usage, and optional use of the blkid library for filesystem detection&lt;br /&gt;
and retrieving storage topology information.  The 3.1.1 release contained&lt;br /&gt;
various important bug fixes for these changes and a various improvements to&lt;br /&gt;
the build system.  The major feature of xfsdump 3.0.4 were fixes for&lt;br /&gt;
time stamp handling on 64-bit systems.&lt;br /&gt;
&lt;br /&gt;
The xfstests package also lots of activity including various new testcases&lt;br /&gt;
and an improved build system.&lt;br /&gt;
&lt;br /&gt;
== XFS status update for December 2009 ==&lt;br /&gt;
&lt;br /&gt;
December finally saw the long awaited release of Linux 2.6.32, which for&lt;br /&gt;
XFS is mostly a bug fix release, with the major changes being various&lt;br /&gt;
improvement to the sync path, including working around the expectation&lt;br /&gt;
from the grub boot loader where metadata is supposed to be after a sync()&lt;br /&gt;
system call.  Together with a refactoring of the inode allocator this&lt;br /&gt;
gives a nice diffstat for this kernel release:&lt;br /&gt;
&lt;br /&gt;
 46 files changed, 767 insertions(+), 1048 deletions(-)&lt;br /&gt;
&lt;br /&gt;
In the meantime development for the 2.6.33 has been going strong.  The&lt;br /&gt;
new event tracing code that allows to observe the inner workings of XFS&lt;br /&gt;
in production systems has finally been merged, with another patch to&lt;br /&gt;
reduce the size of the tracing code by using new upstream kernel features&lt;br /&gt;
posted for review.  Also a large patch series has been posted which&lt;br /&gt;
changes per-AG data to be looked up by a radix tree instead of the&lt;br /&gt;
existing array.  This works around possible deadlocks and user after&lt;br /&gt;
free issues during growfs, and prepares for removing a global (shared)&lt;br /&gt;
lock from the free space allocators.  In addition to that a wide range&lt;br /&gt;
of fixes has been posted and applied.&lt;br /&gt;
&lt;br /&gt;
Work on the userspace packages has been just as busy.  In mkfs.xfs the&lt;br /&gt;
lazy superblock counter feature has now been enabled by default for the&lt;br /&gt;
upcoming xfsprogs 3.1.0 release, which will require kernel 2.6.22 for&lt;br /&gt;
the default mkfs invocation.  Also for mkfs.xfs as patch was posted&lt;br /&gt;
to correct the automatic detection of 4 kilobyte sector drivers which&lt;br /&gt;
are expected to show up in large quantities the real work soon.  The&lt;br /&gt;
norepair mode in xfs_repair has been enhanced with additional freespace&lt;br /&gt;
btree correction checks from xfs_db and is now identical to xfs_check in&lt;br /&gt;
filesystem consistency checking coverage.  A temporary file permission&lt;br /&gt;
problems has been fixed in xfs_fsr, and the libhandle library has been&lt;br /&gt;
fixed to better deal with symbolic links.  In xfs_io a few commands&lt;br /&gt;
that were added years ago have finally been wired up to actually be&lt;br /&gt;
usable.  And last but not least xfsdump saw a fix to the time stamp&lt;br /&gt;
handling in the backup format and some usability and documentation&lt;br /&gt;
improvements to xfsinvutil.&lt;br /&gt;
&lt;br /&gt;
== XFS status update for November 2009 ==&lt;br /&gt;
&lt;br /&gt;
November was a relatively slow month for XFS development.  The XFS tree&lt;br /&gt;
that is destined for the Linux 2.6.33 merge window saw a few fixes and&lt;br /&gt;
cleanups applied to it, and few important fixes still made it into the&lt;br /&gt;
last Linux 2.6.32 release candidates.  A few more patches including a&lt;br /&gt;
final version of the event tracing support for XFS were posted but not&lt;br /&gt;
reviewed yet.&lt;br /&gt;
&lt;br /&gt;
On the userspace side there has been a fair amount of xfsprogs activity.&lt;br /&gt;
The repair speedup patches have finally been merged into the main development&lt;br /&gt;
branch and a couple of other fixes to the various utilities made it in, too.&lt;br /&gt;
The xfstests test suite saw another new regression test suite and a build&lt;br /&gt;
system fix up.&lt;br /&gt;
&lt;br /&gt;
== XFS status update for October 2009 ==&lt;br /&gt;
In October we saw the Linux 2.6.32 merge window with a major XFS update.&lt;br /&gt;
This update includes a refactoring of the inode allocator which also&lt;br /&gt;
allows for speedups for very large filesystems, major sync fixes, updates&lt;br /&gt;
to the fsync and O_SYNC handling which merge the two code paths into a single&lt;br /&gt;
and more efficient one, a workaround for the VFS time stamp behavior,&lt;br /&gt;
and of course various smaller fixes.  A couple of additional fixes have been&lt;br /&gt;
queued up for the next merge window.&lt;br /&gt;
&lt;br /&gt;
On the userspace side there has been a healthy activity on xfsprogs:  mkfs can&lt;br /&gt;
now discard unused sectors on SSDs and thinly provisioned storage devices and&lt;br /&gt;
use the more generic libblkid for topology information and filesystems detection&lt;br /&gt;
instead of the older libdisk, and the build system gained some updates to&lt;br /&gt;
make the source package generation simpler and shared for different package&lt;br /&gt;
types.  A patch has been out to the list but yet committed to add symbol&lt;br /&gt;
versioning to the libhandle library to make future ABI additions easier.&lt;br /&gt;
The xfstests package only saw some minor activity with a new test case&lt;br /&gt;
and small build system fixes.&lt;br /&gt;
&lt;br /&gt;
New minor releases of xfsprogs and xfsdump were tagged but not formally&lt;br /&gt;
released after additional discussion.  Instead a new major xfsprogs release&lt;br /&gt;
is planned for next month.&lt;br /&gt;
&lt;br /&gt;
== XFS status update for September 2009 ==&lt;br /&gt;
&lt;br /&gt;
In September the Linux 2.6.31 kernel was finally released, including another&lt;br /&gt;
last minute XFS fix for the swapext (defragmentation) compat ioctl handler.&lt;br /&gt;
The final patch from 2.6.30 to 2.6.31 shows the following impressive diffstat&lt;br /&gt;
for XFS:&lt;br /&gt;
&lt;br /&gt;
   55 files changed, 1476 insertions(+), 2269 deletions(-)&lt;br /&gt;
&lt;br /&gt;
The 2.6.32 merge window started with a large XFS merge that included changes&lt;br /&gt;
to the inode allocator, and a few smaller fixes.  New versions of the sync&lt;br /&gt;
and time stamp fixes as well as the event tracing support have been posted&lt;br /&gt;
in September but not yet merged into the XFS development tree and/or mainline.&lt;br /&gt;
&lt;br /&gt;
On the userspace side a large patch series to reduce the memory usage in&lt;br /&gt;
xfs_repair to acceptable levels was posted, but not yet merged.  A new xfs_df&lt;br /&gt;
shell script to measure use of the on disk space was posted but not yet&lt;br /&gt;
merged pending some minor review comments and a missing man page.  In addition&lt;br /&gt;
we saw the usual amount of smaller fixes and cleanups.&lt;br /&gt;
&lt;br /&gt;
Also this month Felix Blyakher resigned from his post as XFS maintainer and handed off to Alex Elder.&lt;br /&gt;
&lt;br /&gt;
== XFS status update for August 2009 ==&lt;br /&gt;
&lt;br /&gt;
In August the Linux 2.6.31 kernel has still been in the release candidate&lt;br /&gt;
stage, but a couple of important XFS fixes made it in time for the release,&lt;br /&gt;
including a fix for the inode cache races with NFS workloads that have&lt;br /&gt;
plagued us for a long time.&lt;br /&gt;
&lt;br /&gt;
The list saw various patches destined for the Linux 2.6.32 merge window,&lt;br /&gt;
including a merge of the fsync and O_SYNC handling code to address various&lt;br /&gt;
issues with the latter, a workaround for deficits in the timestamp handling&lt;br /&gt;
interface between the VFS and filesystems, a repost of the sync improvements&lt;br /&gt;
patch series and various smaller patches.&lt;br /&gt;
&lt;br /&gt;
August also saw the minor 3.0.3 release of xfsprogs which collects smaller&lt;br /&gt;
fixes to the various tools and most importantly a fix to allow xfsprogs to&lt;br /&gt;
work again on SPARC and other strict alignment handling which regressed a&lt;br /&gt;
few releases ago.  The xfstests repository saw a few new test cases and a&lt;br /&gt;
various small improvements.&lt;br /&gt;
&lt;br /&gt;
== XFS status update for July 2009 ==&lt;br /&gt;
&lt;br /&gt;
As a traditional summer vacation month July has not seen a lot of XFS&lt;br /&gt;
activity.  The mainline 2.6.31 kernel made it to the 5th release candidate&lt;br /&gt;
but besides a few kernel-wide patches touching XFS the only activity were&lt;br /&gt;
two small patches fixing a bug in FIEMAP and working around writeback&lt;br /&gt;
performance problems in the VM.&lt;br /&gt;
&lt;br /&gt;
A few more patches were posted to the list but haven&#039;t been merged yet.&lt;br /&gt;
Two big patch series deal with theoretically possible deadlocks due to&lt;br /&gt;
locks taken in reclaim contexts, which are now detected by lockdep.&lt;br /&gt;
&lt;br /&gt;
The pace on the userspace side has been slow.  There have been a couple&lt;br /&gt;
of fixes to xfs_repair and xfs_db, and xfstests grew a few more testcases.&lt;br /&gt;
&lt;br /&gt;
== XFS status update for June 2009 ==&lt;br /&gt;
&lt;br /&gt;
On June 9th we finally saw the release of Linux 2.6.30.  For XFS&lt;br /&gt;
this release mostly contains the improved ENOSPC handling, but also&lt;br /&gt;
various smaller bugfixes and lots of cleanups.  The code size of XFS&lt;br /&gt;
decreased again by 500 lines of code in this release.&lt;br /&gt;
&lt;br /&gt;
The Linux 2.6.31 merge opened in the mid of the month and some big XFS&lt;br /&gt;
changes have been pushed: A removal of the quotaops&lt;br /&gt;
infrastructure which simplifies the quota implementation, the switch&lt;br /&gt;
from XFS&#039;s own Posix ACL implementation to the generic one shared&lt;br /&gt;
by various other filesystems which also supports in-memory caching of&lt;br /&gt;
ACLs and another incremental refactoring of the sync code.&lt;br /&gt;
&lt;br /&gt;
A patch to better track dirty inodes and work around issues in the&lt;br /&gt;
way the VFS updates the access time stamp on inodes has been reposted&lt;br /&gt;
and discussed. Another patch to converting the existing XFS tracing&lt;br /&gt;
infrastructure to use the ftrace even tracer has been posted.&lt;br /&gt;
&lt;br /&gt;
On the userspace side there have been a few updates to xfsprogs, including&lt;br /&gt;
some repair fixes and a new fallocate command for xfs_io.  There were&lt;br /&gt;
major updates for xfstests:  The existing aio-dio-regress testsuite has&lt;br /&gt;
been merged into xfstests, and various changes went into the tree to make&lt;br /&gt;
xfstests better suitable for use with other filesystems.&lt;br /&gt;
&lt;br /&gt;
The attr and acl projects which have been traditionally been hosted&lt;br /&gt;
as part of the XFS userspace utilities have now been split into a separate&lt;br /&gt;
project maintained by Andreas Gruenbacher, who has been doing most of&lt;br /&gt;
the work on it, and moved to the Savannah hosting platform.&lt;br /&gt;
&lt;br /&gt;
== XFS status update for May 2009 ==&lt;br /&gt;
&lt;br /&gt;
In May Linux 2.6.30 was getting close to be released, and various&lt;br /&gt;
important XFS fixes made it during the latest release candidates.&lt;br /&gt;
In the meantime some big patch series to rework the sync code and&lt;br /&gt;
the inode allocator have been posted for the next merge window.&lt;br /&gt;
&lt;br /&gt;
On the userspace side xfsprogs and xfsdump 3.0.1 were finally released,&lt;br /&gt;
quickly followed by 3.0.2 releases with updated Debian packaging.&lt;br /&gt;
After that various small patches that were held back made it into xfsprogs.&lt;br /&gt;
A patch to add the xfs_reno tool which allows to move inodes around to&lt;br /&gt;
fit into 32 bit inode number space has been posted which is also one&lt;br /&gt;
central aspect of future online shrinking support.&lt;br /&gt;
&lt;br /&gt;
There has been major activity on xfstests including adding generic&lt;br /&gt;
filesystems support to allow running tests that aren&#039;t XFS-specific on&lt;br /&gt;
any Linux filesystems.&lt;br /&gt;
&lt;br /&gt;
== XFS status update for April 2009 ==&lt;br /&gt;
&lt;br /&gt;
In April development for Linux 2.6.30 was in full motion.  A patchset to correct flushing of delayed allocations with near full filesystems has been committed in early April, as well as various smaller fixes. A patch series to improve the behavior of sys_sync has been posted but is waiting for VFS changes queued for Linux 2.6.31.&lt;br /&gt;
&lt;br /&gt;
On the userspace side xfsprogs and xfsdump 3.0.1 have managed to split their release dates into May again after a lot of last-minute build system updates.&lt;br /&gt;
&lt;br /&gt;
== XFS status update for March 2009 ==&lt;br /&gt;
&lt;br /&gt;
Linux 2.6.29 has been released which includes major XFS updates like the&lt;br /&gt;
new generic btree code, a fully functional 32bit compat ioctl implementation&lt;br /&gt;
and the new combined XFS and Linux inode.  (See previous status reports&lt;br /&gt;
for more details). A patch series to improve correctness and performance&lt;br /&gt;
has been posted but not yet applied.  Various minor fixes and cleanups&lt;br /&gt;
have been sent to Linus for 2.6.30 which looks like it will be a minor&lt;br /&gt;
release for XFS after the big churn in 2.6.29.&lt;br /&gt;
&lt;br /&gt;
On userspace a lot of time has been spent on fixing and improving the&lt;br /&gt;
build system shared by the various XFS utilities as well as various smaller&lt;br /&gt;
improvements leading to the xfsprogs and xfsdump 3.0.1 releases which are&lt;br /&gt;
still outstanding.&lt;br /&gt;
&lt;br /&gt;
== XFS status update for February 2009 ==&lt;br /&gt;
&lt;br /&gt;
In February various smaller fixes have been sent to Linus for 2.6.29,&lt;br /&gt;
including a revert of the faster vmap APIs which don&#039;t seem to be quite&lt;br /&gt;
ready yet on the VM side.  At the same time various patches have been&lt;br /&gt;
queued up for 2.6.30, with another big batch pending.  There also has&lt;br /&gt;
been a repost of the CRC patch series, including support for a new,&lt;br /&gt;
larger inode core.&lt;br /&gt;
&lt;br /&gt;
SGI released various bits of work in progress from former employees&lt;br /&gt;
that will be extremely helpful for the future development of XFS,&lt;br /&gt;
thanks a lot to Mark Goodwin for making this happen.&lt;br /&gt;
&lt;br /&gt;
On the userspace side the long awaited 3.0.0 releases of xfsprogs and&lt;br /&gt;
xfsdump finally happened early in the month, accompanied by a 2.2.9&lt;br /&gt;
release of the dmapi userspace.  There have been some issues with packaging&lt;br /&gt;
so a new minor release might follow soon.&lt;br /&gt;
&lt;br /&gt;
The xfs_irecover tool has been relicensed so that it can be merged into&lt;br /&gt;
the GPLv2 codebase of xfsprogs, but the actual integration work hasn&#039;t&lt;br /&gt;
happened yet.&lt;br /&gt;
&lt;br /&gt;
Important bits of XFS documentation that have been available on the XFS&lt;br /&gt;
website in PDF form have been released in the document source form under&lt;br /&gt;
the Creative Commons license so that they can be updated as a community&lt;br /&gt;
effort, and checked into a public git tree.&lt;br /&gt;
&lt;br /&gt;
== XFS status update for January 2009 ==&lt;br /&gt;
&lt;br /&gt;
January has been an extremely busy month on the userspace front.  Many&lt;br /&gt;
smaller and medium updates went into xfsprogs, xfstests and to a lesser&lt;br /&gt;
extent xfsdump.  xfsprogs and xfsdump are ramping up for getting a 3.0.0&lt;br /&gt;
release out in early February which will include the first major re-sync&lt;br /&gt;
with the kernel code in libxfs, a cleanup of the exported library interfaces&lt;br /&gt;
and the move of two tools (xfs_fsr and xfs_estimate) from the xfsdump&lt;br /&gt;
package to xfsprogs.  After this the xfsprogs package will contain all&lt;br /&gt;
tools that use internal libxfs interfaces which fortunately equates to those&lt;br /&gt;
needed for normal administration.  The xfsdump package now only contains&lt;br /&gt;
the xfsdump/xfsrestore tools needed for backing up and restoring XFS&lt;br /&gt;
filesystems.  In addition it grew a fix to support dump/restore on systems&lt;br /&gt;
with a 64k page size.  A large number of acl/attr package patches was&lt;br /&gt;
posted to the list, but pending a possible split of these packages from the&lt;br /&gt;
XFS project these weren&#039;t processed yet.&lt;br /&gt;
&lt;br /&gt;
On the kernel side the big excitement in January was an in-memory corruption&lt;br /&gt;
introduced in the btree refactoring which hit people running 32bit platforms&lt;br /&gt;
without support for large block devices.  This issue was fixed and pushed&lt;br /&gt;
to the 2.6.29 development tree after a long collaborative debugging effort&lt;br /&gt;
at linux.conf.au.  Besides that about a dozen minor fixes were pushed to&lt;br /&gt;
2.6.29 and the first batch of misc patches for the 2.6.30 release cycle&lt;br /&gt;
was sent out.&lt;br /&gt;
&lt;br /&gt;
At the end of December the SGI group in Melbourne which the previous&lt;br /&gt;
XFS maintainer and some other developers worked for has been closed down&lt;br /&gt;
and they will be missed greatly.  As a result maintainership has been passed&lt;br /&gt;
on in a way that has been slightly controversial in the community, and the&lt;br /&gt;
first patchset of work in progress in Melbourne have been posted to the list&lt;br /&gt;
to be picked up by others.&lt;br /&gt;
&lt;br /&gt;
The xfs.org wiki has gotten a little facelift on it&#039;s front page making it&lt;br /&gt;
a lot easier to read.&lt;br /&gt;
&lt;br /&gt;
== XFS status update for December 2008 ==&lt;br /&gt;
&lt;br /&gt;
On Christmas Eve the 2.6.28 mainline kernel was release, with only minor XFS&lt;br /&gt;
bug fixes over 2.6.27.&lt;br /&gt;
&lt;br /&gt;
On the development side December has been busy but unspectacular month.&lt;br /&gt;
All lot of misc fixes and improvements have been sent out, tested and committed&lt;br /&gt;
especially on the user land side.&lt;br /&gt;
&lt;br /&gt;
== XFS status update for November 2008 ==&lt;br /&gt;
&lt;br /&gt;
The mainline kernel is now at 2.6.28-rc6 and includes a small number of&lt;br /&gt;
XFS fixes.  There have been no updates to the XFS development tree during&lt;br /&gt;
November.  Without new regressions that large number of changes that&lt;br /&gt;
missed 2.6.28 has thus stabilized to be ready for 2.6.29.  In the meantime&lt;br /&gt;
kernel-side development has been slow, with the only major patch set&lt;br /&gt;
being a wide number of fixes to the compatibility for 32 bit ioctls on&lt;br /&gt;
a 64 bit kernel.&lt;br /&gt;
&lt;br /&gt;
In the meantime there has been a large number of commits to the user space&lt;br /&gt;
tree, which mostly consist of smaller fixes.  xfsprogs is getting close&lt;br /&gt;
to have the 3.0.0 release which will be the first full resync with the&lt;br /&gt;
kernel sources since the year 2005.&lt;br /&gt;
&lt;br /&gt;
== XFS status update for October 2008 ==&lt;br /&gt;
&lt;br /&gt;
Linux 2.6.27 released with all the bits covered in last month&#039;s report.  It&lt;br /&gt;
did however miss two important fixes for regressions that a few people hit.&lt;br /&gt;
2.6.27.3 or later are recommended for use with XFS.&lt;br /&gt;
&lt;br /&gt;
In the meantime the generic btree implementation, the sync reorganization&lt;br /&gt;
and after a lot of merge pain the XFS and VFS inode unification hit the&lt;br /&gt;
development tree during the time allocated for the merge window.  No XFS&lt;br /&gt;
updates other than the two regression fixes also in 2.6.27.3 have made it&lt;br /&gt;
into mainline as of 2.6.28-rc3.&lt;br /&gt;
&lt;br /&gt;
The only new feature on the list in October is support for the fiemap&lt;br /&gt;
interface that has been added to the VFS during the 2.6.28 merge window.&lt;br /&gt;
However there was lot of patch traffic consisting of fixes and respun&lt;br /&gt;
versions of previously known patches.  There still is a large backlog of&lt;br /&gt;
patches on the list that is not applied to the development tree yet.&lt;br /&gt;
&lt;br /&gt;
== XFS status update for September 2008 ==&lt;br /&gt;
&lt;br /&gt;
With Linux 2.6.27 still not released but only making slow progress from 2.6.27-rc5 to 2.6.27-rc8 XFS changes in mainline have been minimal in September with only about half a dozen bug fixes patches.&lt;br /&gt;
&lt;br /&gt;
In the meantime the generic btree patch set has been committed to the development tree, but not many other updates yet. On the user space side xfsprogs 2.10.1 has been released on September 5th with a number of important bug fixes. Following the release of xfsprogs 2.10.1 open season for development of the user space code has started. The first full update of the shared kernel / user space code in libxfs since 2005 has been committed. In addition to that the number of headers installed for the regular devel package has been reduced to the required minimum and support for checking the source code for endianess errors using sparse has been added.&lt;br /&gt;
&lt;br /&gt;
The patch sets to unify the XFS and Linux inode structures, and rewrite various bits of the sync code have seen various iterations on the XFS list, but haven&#039;t been committed yet. A first set of patches implementing CRCs for various metadata structures has been posted to the list.&lt;br /&gt;
&lt;br /&gt;
== XFS status update for August 2008 ==&lt;br /&gt;
&lt;br /&gt;
With the 2.6.27-rc5 release the 2.6.27 cycle is nearing it&#039;s end. The major XFS feature in 2.6.27-rc5 is support for case-insensitive file names. At this point it is still limited to 7bit ASCII file names, with updates for utf8 file names expected to follow later. In addition to that 2.6.27-rc5 fixes a long-standing problem with non-EABI arm compiler which pack some XFS data structures wrongly. Besides this 2.6.27-rc5 also contains various cleanups, most notably the removal of the last bhv_vnode_t instances, and most uses of semaphores. As usual the diffstat for XFS from 2.6.26 to 2.6.26-rc5 is negative:&lt;br /&gt;
&lt;br /&gt;
       100 files changed, 3819 insertions(+), 4409 deletions(-)&lt;br /&gt;
&lt;br /&gt;
On the user space front a new minor xfsprogs version is about to be released containing various fixes including the user space part of arm packing fix.&lt;br /&gt;
&lt;br /&gt;
Work in progress on the XFS mailing list are a large patch set to unify the alloc, inobt and bmap btree implementation into a single that supports arbitrarily pluggable key and record formats. These btree changes are the first major preparation for adding CRC checks to all metadata structures in XFS, and an even larger patch set to unify the XFS and Linux inode structures, and perform all inode write back from the btree uses instead of an inode cache in XFS.&lt;br /&gt;
&lt;br /&gt;
== Updates before 2008 ==&lt;br /&gt;
&lt;br /&gt;
News up to 2007 can be found on a separate page: [[OLD_News]]&lt;/div&gt;</summary>
		<author><name>Hch</name></author>
	</entry>
	<entry>
		<id>https://xfs.org/index.php?title=XFS_Status_Updates&amp;diff=2121</id>
		<title>XFS Status Updates</title>
		<link rel="alternate" type="text/html" href="https://xfs.org/index.php?title=XFS_Status_Updates&amp;diff=2121"/>
		<updated>2010-11-08T23:52:37Z</updated>

		<summary type="html">&lt;p&gt;Hch: October update&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== XFS status update for October 2010 ==&lt;br /&gt;
&lt;br /&gt;
Near the end of the month we finally saw the release of Linux 2.6.36.&lt;br /&gt;
Just a single fix made it into mainline in this month, showing that the&lt;br /&gt;
stabilization period before has worked very well.&lt;br /&gt;
&lt;br /&gt;
Linux 2.6.36 has been another impressive release for XFS, seeing&lt;br /&gt;
various performance improvements in the new delayed logging code,&lt;br /&gt;
for direct I/O and the sync system call, a few bug fixes, and lots&lt;br /&gt;
of cleanups, resulting in a net removal of over 2000 lines of code:&lt;br /&gt;
&lt;br /&gt;
        89 files changed, 1998 insertions(+), 4279 deletions(-)&lt;br /&gt;
&lt;br /&gt;
The merge window for Linux 2.6.37 opened just a few days after the&lt;br /&gt;
release of Linux 2.6.36 and already contains another large XFS update&lt;br /&gt;
at the end of October.  Highlights of the XFS tree merged into 2.6.37-rc1&lt;br /&gt;
are another large set of metadata scalability patches, support for 32-bit&lt;br /&gt;
wide project IDs, and support for the new XFS_IOC_ZERO_RANGE ioctl,&lt;br /&gt;
which allows to punch a whole and convert it to an unwritten extent&lt;br /&gt;
in a single atomic operation.&lt;br /&gt;
&lt;br /&gt;
The metadata scalability changes improve 8-way fs_mark of 50 million files&lt;br /&gt;
by over 15% and removal of those files by over 100%, with further&lt;br /&gt;
improvements expected by the next round of XFS metadata scalability&lt;br /&gt;
and VFS scalability improvements targeted at Linux 2.6.38.&lt;br /&gt;
&lt;br /&gt;
On the user space side October was a rather quit month for xfsprogs, which&lt;br /&gt;
only saw the addition of 32-bit project ID handling, and a fix for&lt;br /&gt;
parsing the mount table in fsr when used together with disk encryption&lt;br /&gt;
tools.  A few patches for xfsdump were posted on the list, but none&lt;br /&gt;
was applied, leaving the majority of the user space activity to&lt;br /&gt;
xfstests, which saw very active development.  Various patches went&lt;br /&gt;
into xfstests to improve portability to filesystems with a limited&lt;br /&gt;
feature set, and to move more filters to generic code.  In addition&lt;br /&gt;
various cleanups to test cases in test programs were applied.&lt;br /&gt;
&lt;br /&gt;
== XFS status update for September 2010 ==&lt;br /&gt;
&lt;br /&gt;
Mainline activity has been rather low in September while with only&lt;br /&gt;
two more fixes going into the 2.6.36 release candidates after the&lt;br /&gt;
large merge activity in August.  Development for the next merge&lt;br /&gt;
window has been more active.  The largest item was the inclusion&lt;br /&gt;
of the metadata scalability patch series, which provides very large&lt;br /&gt;
speedups for parallel metadata operations.  In addition a new&lt;br /&gt;
ioctl to punch holes and convert the whole to an unwritten extent&lt;br /&gt;
was added and a small number of cleanups also made it into the tree.&lt;br /&gt;
&lt;br /&gt;
Patches to add support for 32bit wide project ID identifiers and&lt;br /&gt;
using group and project quotas concurrently were posted to the list&lt;br /&gt;
and discussed but not yet included.&lt;br /&gt;
&lt;br /&gt;
Userspace development has been rather quited again, with a single fix&lt;br /&gt;
committed to xfsprogs and xfsdump each.  The xfstests test suite grew&lt;br /&gt;
a new test case and received a few additional fixes.  Last but not least&lt;br /&gt;
the [http://xfs.org/docs/xfsdocs-xml-dev/XFS_User_Guide//tmp/en-US/html/index.html XFS Users Guide]&lt;br /&gt;
was updated with various factual corrections and spelling fixes.&lt;br /&gt;
&lt;br /&gt;
== XFS status update for August 2010 ==&lt;br /&gt;
&lt;br /&gt;
At the first of August we finally saw the release of Linux 2.6.35,&lt;br /&gt;
which includes a large XFS update.  The most prominent feature in&lt;br /&gt;
Linux 2.6.35 is the new delayed logging code which provides massive&lt;br /&gt;
speedups for metadata-intensive workloads, but there has been&lt;br /&gt;
a large amount of other fixes and cleanups, leading to the following&lt;br /&gt;
diffstat:&lt;br /&gt;
&lt;br /&gt;
         67 files changed, 4426 insertions(+), 3835 deletions(-)&lt;br /&gt;
&lt;br /&gt;
Given the early release of Linux 2.6.35 the merge window for the&lt;br /&gt;
next release fully fell into the month of August.  The XFS updates&lt;br /&gt;
for Linux 2.6.36 include various additional performance improvements&lt;br /&gt;
in the delayed logging code, for direct I/O writes and for avoiding&lt;br /&gt;
synchronous transactions, as well as various fixed and large amount&lt;br /&gt;
of cleanups, including the removal of the remaining dead DMAPI&lt;br /&gt;
code.&lt;br /&gt;
&lt;br /&gt;
On the userspace side we saw the 3.1.3 release of xfsprogs, which includes&lt;br /&gt;
various smaller fixes, support for the new XFS_IOC_ZERO_RANGE ioctl and&lt;br /&gt;
Debian packaging updates.  The xfstests package saw one new test case&lt;br /&gt;
and a couple of smaller patches, and xfsdump has not seen any updates at&lt;br /&gt;
all.&lt;br /&gt;
&lt;br /&gt;
The XMLified versions of the XFS users guide, training labs and filesystem&lt;br /&gt;
structure documentation are now available as on the fly generated html on&lt;br /&gt;
the xfs.org website and can be found at [[XFS_Papers_and_Documentation|Papers &amp;amp; Documentation]].&lt;br /&gt;
&lt;br /&gt;
== XFS status update for July 2010 ==&lt;br /&gt;
&lt;br /&gt;
July saw three more release candidates for the Linux 2.6.35 kernel, which&lt;br /&gt;
included a relatively large number of XFS updates.  There were two security&lt;br /&gt;
fixes, a small one to prevent swapext to operate on write-only file&lt;br /&gt;
descriptors, and a much larger one to properly validate inode numbers&lt;br /&gt;
coming from NFS clients or userspace applications using the bulkstat or&lt;br /&gt;
the open-by-handle interfaces.  In addition to that another relatively&lt;br /&gt;
large patch fixes the way inodes get reclaimed in the background, and&lt;br /&gt;
avoids inode caches growing out of bounds.&lt;br /&gt;
&lt;br /&gt;
In the meantime the code for the Linux 2.6.36 got the last touches before&lt;br /&gt;
the expected opening of the merge window, by merging a few more last&lt;br /&gt;
minute fixes and cleanups.  The most notable one is a patch series&lt;br /&gt;
that fixes in-memory corruption when concurrently accessing unwritten&lt;br /&gt;
extents using the in-kernel AIO code.&lt;br /&gt;
&lt;br /&gt;
The userspace side was still quite slow, but some a bit more activity&lt;br /&gt;
than June.  In xfsprogs the xfs_db code grew two bug fixes, as did&lt;br /&gt;
the xfs_io script.  The xfstests package saw one new test cases and&lt;br /&gt;
various fixes to existing code.  Last but not least a few patches&lt;br /&gt;
affecting the build system for all userspace tools were committed.&lt;br /&gt;
&lt;br /&gt;
== XFS status update for June 2010 ==&lt;br /&gt;
&lt;br /&gt;
The month of June saw a few important bug fixes for the Linux 2.6.35&lt;br /&gt;
release candidates.  That includes ensuring that files used for the&lt;br /&gt;
swapext ioctl are writable to the user, and doing proper validation&lt;br /&gt;
of inodes coming from untrusted sources, such as NFS exporting and&lt;br /&gt;
the open by handle system calls.  The main work however has been&lt;br /&gt;
focused on development for the Linux 2.6.36 merge window, including&lt;br /&gt;
merging various patches that have been out on the mainline list&lt;br /&gt;
for a long time.  Highlights include further performance improvements&lt;br /&gt;
for sync heavy metadata workloads, stack space reduction in the&lt;br /&gt;
writeback path and improvements of the XFS tracing infrastructure.&lt;br /&gt;
Also after some discussion the remaining hooks for DMAPI are going&lt;br /&gt;
to be dropped in mainline.   As a replacement a tree containing&lt;br /&gt;
full DMAPI support with a slightly cleaner XFS interaction will be&lt;br /&gt;
hosted by SGI.&lt;br /&gt;
&lt;br /&gt;
On the userspace side June was a rather slow month, with no updates&lt;br /&gt;
to xfsprogs and xfsdump at all, and just one new test case and a cleanup&lt;br /&gt;
applied to xfstests.&lt;br /&gt;
&lt;br /&gt;
== XFS status update for May 2010 ==&lt;br /&gt;
&lt;br /&gt;
In May 2010 we saw the long awaited release of Linux 2.6.34, which includes&lt;br /&gt;
a large XFS update.  The most important features appearing in 2.6.34 was the&lt;br /&gt;
new inode and quota flushing code, which leads to much better I/O patterns&lt;br /&gt;
for metadata-intensive workloads.  Additionally support for synchronous NFS&lt;br /&gt;
exports has been improved to give much better performance, and performance&lt;br /&gt;
for the fsync, fdatasync and sync system calls has been improved slightly.&lt;br /&gt;
A bug when resizing extremely busy filesystems has been fixed, which required&lt;br /&gt;
extensive modification to the data structure used for looking up the&lt;br /&gt;
per-allocation group data.  Last but not least there was a steady flow of&lt;br /&gt;
minor bug fixes and cleanups, leading to the following diffstat from&lt;br /&gt;
2.6.33 to 2.6.34:&lt;br /&gt;
&lt;br /&gt;
  86 files changed, 3209 insertions(+), 3178 deletions(-)&lt;br /&gt;
&lt;br /&gt;
Meanwhile active development aimed at 2.6.35 merge progressed.  The&lt;br /&gt;
major feature for this window is the merge of the delayed logging code,&lt;br /&gt;
which adds a new logging mode that dramatically reduces the bandwidth&lt;br /&gt;
required for log I/O.  See the &lt;br /&gt;
[http://git.kernel.org/?p=linux/kernel/git/torvalds/linux-2.6.git;a=blob;f=Documentation/filesystems/xfs-delayed-logging-design.txt;h=96d0df28bed323d5596fc051b0ffb96ed8e3c8df;hb=HEAD documentation] for details.  Testers&lt;br /&gt;
for this new code are welcome.&lt;br /&gt;
&lt;br /&gt;
In userland xfsprogs saw the long awaited 3.1.2 release, which can be&lt;br /&gt;
considered a bug fix release for xfs_repair, xfs_fsr and mkfs.xfs.  After&lt;br /&gt;
the release a few more fixes were merged into the development tree.&lt;br /&gt;
The xfstests package saw various new tests, including many tests to&lt;br /&gt;
exercise the quota code, and a few fixes to existing tests.&lt;br /&gt;
&lt;br /&gt;
== XFS status update for April 2010 ==&lt;br /&gt;
&lt;br /&gt;
In April 2.6.34 still was in the release candidate phase, with&lt;br /&gt;
a hand full of XFS fixes making it into mainline.  Development for&lt;br /&gt;
the 2.6.35 merge window went ahead full steam at the same time.&lt;br /&gt;
&lt;br /&gt;
While a fair amount of patches hit the development tree these were&lt;br /&gt;
largely cleanups, with the real development activity happening on&lt;br /&gt;
the mailing list.  There was another round of patches and following&lt;br /&gt;
discussion on the scalable busy extent tracking and delayed logging&lt;br /&gt;
features mentioned last month.  They are expected to be merged in&lt;br /&gt;
May and queue up for the Linux 2.6.35 window.  Last but not least&lt;br /&gt;
April saw a large number of XFS fixes backported to the 2.6.32 and&lt;br /&gt;
2.6.33 -stable series.&lt;br /&gt;
&lt;br /&gt;
In user land xfsprogs has seen few but important updates, preparing&lt;br /&gt;
for a new release next month.  The xfs_repair tool saw a fix to&lt;br /&gt;
correctly enable the lazy superblock counters on an existing&lt;br /&gt;
filesystem, and xfs_fsr saw updates to better deal with dynamic&lt;br /&gt;
attribute forks.  Last but not a least a port to Debian GNU/kFreeBSD&lt;br /&gt;
got merged. The xfstests test suite saw two new test cases and various&lt;br /&gt;
smaller fixes.&lt;br /&gt;
&lt;br /&gt;
== XFS status update for March 2010 ==&lt;br /&gt;
&lt;br /&gt;
The merge window for Linux 2.6.34 closed in the first week of March,&lt;br /&gt;
with the important XFS features already landing in February.  Not&lt;br /&gt;
surprisingly the XFS merge activity in March has been rather slow,&lt;br /&gt;
with only about a dozen bug fixes patches making it towards Linus&#039;&lt;br /&gt;
tree in that time.&lt;br /&gt;
&lt;br /&gt;
On the other hand active development for the 2.6.35 merge window has&lt;br /&gt;
been very active.  Most importantly there was a lot of work on the&lt;br /&gt;
transaction and log subsystems.  Starting with a large patchset to&lt;br /&gt;
clean up and refactor the transaction subsystem and introducing more&lt;br /&gt;
flexible I/O containers in the low-level logging code work is&lt;br /&gt;
progressing to a new, more efficient logging implementation.  While&lt;br /&gt;
this preparatory work has already been merged in the development tree,&lt;br /&gt;
the actual delayed logging implementation still needs more work after&lt;br /&gt;
the initial public posting.  The delayed logging implementation which&lt;br /&gt;
is very briefly modeled after the journaling mode in the ext3/4&lt;br /&gt;
and reiserfs filesystems allows to accumulated multiple asynchronous&lt;br /&gt;
transactions in memory instead of possibly writing them out&lt;br /&gt;
many times.  Using the new delayed logging mechanism I/O bandwidth&lt;br /&gt;
used for the log decreases by orders of magnitude and performance&lt;br /&gt;
on metadata intensive workloads increases massively.&lt;br /&gt;
&lt;br /&gt;
In addition to that a new version of the discard (aka TRIM) support&lt;br /&gt;
has been posted, this time entirely contained in kernel space&lt;br /&gt;
and without the need of a userspace utility to drive it.  Last but&lt;br /&gt;
not least the usual steady stream of cleanups and bug fixes has not&lt;br /&gt;
ceased this month either.&lt;br /&gt;
&lt;br /&gt;
Besides the usual flow of fixes and new test cases in the xfstests&lt;br /&gt;
test suite development on the userspace side has been rather slow.&lt;br /&gt;
Xfsprogs has only seen a single fix for SMP locking in xfs_repair&lt;br /&gt;
and support for building on Debian GNU/kFreeBSD, and xfsdump&lt;br /&gt;
has seen no commit at all.&lt;br /&gt;
&lt;br /&gt;
== XFS status update for February 2010 ==&lt;br /&gt;
&lt;br /&gt;
February saw the release of the Linux 2.6.33 kernel, which includes&lt;br /&gt;
a large XFS update.  The biggest user-visible change in Linux 2.6.33&lt;br /&gt;
is that XFS now support the generic Linux trace event infrastructure,&lt;br /&gt;
which allows tracing lots of XFS behavior with a normal production&lt;br /&gt;
built kernel.  Except for this Linux 2.6.33 has been mostly a bug-fix&lt;br /&gt;
release, fixing various user reported bugs in previous releases.&lt;br /&gt;
The total diffstat for XFS in Linux 2.6.33 looks like:&lt;br /&gt;
&lt;br /&gt;
  84 files changed, 3023 insertions(+), 3550 deletions(-)&lt;br /&gt;
&lt;br /&gt;
In addition to that the merge window for Linux 2.6.34 opened and the&lt;br /&gt;
first merge of the XFS tree made it into Linus tree.  Unlike Linux&lt;br /&gt;
2.6.33 this merge window includes major feature work.  The most&lt;br /&gt;
important change for users is a new algorithm for inode and quota&lt;br /&gt;
writeback that leads to better I/O locality and improved metadata&lt;br /&gt;
performance.  The second big change is a rewrite of the per-allocation&lt;br /&gt;
group data lookup which fixes a long-standing problem in the code&lt;br /&gt;
to grow a life filesystem and will also ease future filesystem&lt;br /&gt;
shrinking support.  Not merged through the XFS tree, but of great&lt;br /&gt;
importance for embedded users is a new API that allows XFS to properly&lt;br /&gt;
flush cache lines on it&#039;s log and large directory buffers, making&lt;br /&gt;
XFS work properly on architectures with virtually indexed caches,&lt;br /&gt;
such as parisc and various arm and mips variants.  Last but not&lt;br /&gt;
least there is an above average amount of cleanups that went into&lt;br /&gt;
Linus tree in this cycle.&lt;br /&gt;
&lt;br /&gt;
There have been more patches on the mailing list that haven&#039;t made&lt;br /&gt;
it to Linus tree yet, including an optimized implementation of&lt;br /&gt;
fdatasync(2) and massive speedups for metadata workloads on&lt;br /&gt;
NFS exported XFS filesystems.&lt;br /&gt;
&lt;br /&gt;
On the userspace side February has been a relatively quite month.&lt;br /&gt;
Lead by xfstests only a moderate amount of fixes made it into&lt;br /&gt;
the respective trees.&lt;br /&gt;
&lt;br /&gt;
== XFS status update for January 2010 ==&lt;br /&gt;
&lt;br /&gt;
January saw additional release candidates of the Linux 2.6.33 kernel,&lt;br /&gt;
including a couple of bug fixes for XFS.  In the meantime the XFS tree&lt;br /&gt;
has been growing a large number of patches destined for the Linux 2.6.34&lt;br /&gt;
merge window: a large rework of the handling of per-AG data, support for&lt;br /&gt;
the quota netlink interface, and better power saving behavior of the&lt;br /&gt;
XFS kernel threads, and of course various cleanups.&lt;br /&gt;
&lt;br /&gt;
A large patch series to replace the current asynchronous inode writeback&lt;br /&gt;
with a new scheme that uses the delayed write buffers was posted to&lt;br /&gt;
the list.  The new scheme, which allows archive better I/O locality by&lt;br /&gt;
dispatching meta-data I/O from a single place has been discussed&lt;br /&gt;
extensively and is expected to be merged in February.&lt;br /&gt;
&lt;br /&gt;
On the userspace side January saw the 3.1.0 and 3.1.1 releases of xfsprogs,&lt;br /&gt;
as well as the 3.0.4 release of xfsdump.  The biggest changes in xfsprogs&lt;br /&gt;
3.1.0 were optimizations in xfs_repair that lead to a much lower memory&lt;br /&gt;
usage, and optional use of the blkid library for filesystem detection&lt;br /&gt;
and retrieving storage topology information.  The 3.1.1 release contained&lt;br /&gt;
various important bug fixes for these changes and a various improvements to&lt;br /&gt;
the build system.  The major feature of xfsdump 3.0.4 were fixes for&lt;br /&gt;
time stamp handling on 64-bit systems.&lt;br /&gt;
&lt;br /&gt;
The xfstests package also lots of activity including various new testcases&lt;br /&gt;
and an improved build system.&lt;br /&gt;
&lt;br /&gt;
== XFS status update for December 2009 ==&lt;br /&gt;
&lt;br /&gt;
December finally saw the long awaited release of Linux 2.6.32, which for&lt;br /&gt;
XFS is mostly a bug fix release, with the major changes being various&lt;br /&gt;
improvement to the sync path, including working around the expectation&lt;br /&gt;
from the grub boot loader where metadata is supposed to be after a sync()&lt;br /&gt;
system call.  Together with a refactoring of the inode allocator this&lt;br /&gt;
gives a nice diffstat for this kernel release:&lt;br /&gt;
&lt;br /&gt;
 46 files changed, 767 insertions(+), 1048 deletions(-)&lt;br /&gt;
&lt;br /&gt;
In the meantime development for the 2.6.33 has been going strong.  The&lt;br /&gt;
new event tracing code that allows to observe the inner workings of XFS&lt;br /&gt;
in production systems has finally been merged, with another patch to&lt;br /&gt;
reduce the size of the tracing code by using new upstream kernel features&lt;br /&gt;
posted for review.  Also a large patch series has been posted which&lt;br /&gt;
changes per-AG data to be looked up by a radix tree instead of the&lt;br /&gt;
existing array.  This works around possible deadlocks and user after&lt;br /&gt;
free issues during growfs, and prepares for removing a global (shared)&lt;br /&gt;
lock from the free space allocators.  In addition to that a wide range&lt;br /&gt;
of fixes has been posted and applied.&lt;br /&gt;
&lt;br /&gt;
Work on the userspace packages has been just as busy.  In mkfs.xfs the&lt;br /&gt;
lazy superblock counter feature has now been enabled by default for the&lt;br /&gt;
upcoming xfsprogs 3.1.0 release, which will require kernel 2.6.22 for&lt;br /&gt;
the default mkfs invocation.  Also for mkfs.xfs as patch was posted&lt;br /&gt;
to correct the automatic detection of 4 kilobyte sector drivers which&lt;br /&gt;
are expected to show up in large quantities the real work soon.  The&lt;br /&gt;
norepair mode in xfs_repair has been enhanced with additional freespace&lt;br /&gt;
btree correction checks from xfs_db and is now identical to xfs_check in&lt;br /&gt;
filesystem consistency checking coverage.  A temporary file permission&lt;br /&gt;
problems has been fixed in xfs_fsr, and the libhandle library has been&lt;br /&gt;
fixed to better deal with symbolic links.  In xfs_io a few commands&lt;br /&gt;
that were added years ago have finally been wired up to actually be&lt;br /&gt;
usable.  And last but not least xfsdump saw a fix to the time stamp&lt;br /&gt;
handling in the backup format and some usability and documentation&lt;br /&gt;
improvements to xfsinvutil.&lt;br /&gt;
&lt;br /&gt;
== XFS status update for November 2009 ==&lt;br /&gt;
&lt;br /&gt;
November was a relatively slow month for XFS development.  The XFS tree&lt;br /&gt;
that is destined for the Linux 2.6.33 merge window saw a few fixes and&lt;br /&gt;
cleanups applied to it, and few important fixes still made it into the&lt;br /&gt;
last Linux 2.6.32 release candidates.  A few more patches including a&lt;br /&gt;
final version of the event tracing support for XFS were posted but not&lt;br /&gt;
reviewed yet.&lt;br /&gt;
&lt;br /&gt;
On the userspace side there has been a fair amount of xfsprogs activity.&lt;br /&gt;
The repair speedup patches have finally been merged into the main development&lt;br /&gt;
branch and a couple of other fixes to the various utilities made it in, too.&lt;br /&gt;
The xfstests test suite saw another new regression test suite and a build&lt;br /&gt;
system fix up.&lt;br /&gt;
&lt;br /&gt;
== XFS status update for October 2009 ==&lt;br /&gt;
In October we saw the Linux 2.6.32 merge window with a major XFS update.&lt;br /&gt;
This update includes a refactoring of the inode allocator which also&lt;br /&gt;
allows for speedups for very large filesystems, major sync fixes, updates&lt;br /&gt;
to the fsync and O_SYNC handling which merge the two code paths into a single&lt;br /&gt;
and more efficient one, a workaround for the VFS time stamp behavior,&lt;br /&gt;
and of course various smaller fixes.  A couple of additional fixes have been&lt;br /&gt;
queued up for the next merge window.&lt;br /&gt;
&lt;br /&gt;
On the userspace side there has been a healthy activity on xfsprogs:  mkfs can&lt;br /&gt;
now discard unused sectors on SSDs and thinly provisioned storage devices and&lt;br /&gt;
use the more generic libblkid for topology information and filesystems detection&lt;br /&gt;
instead of the older libdisk, and the build system gained some updates to&lt;br /&gt;
make the source package generation simpler and shared for different package&lt;br /&gt;
types.  A patch has been out to the list but yet committed to add symbol&lt;br /&gt;
versioning to the libhandle library to make future ABI additions easier.&lt;br /&gt;
The xfstests package only saw some minor activity with a new test case&lt;br /&gt;
and small build system fixes.&lt;br /&gt;
&lt;br /&gt;
New minor releases of xfsprogs and xfsdump were tagged but not formally&lt;br /&gt;
released after additional discussion.  Instead a new major xfsprogs release&lt;br /&gt;
is planned for next month.&lt;br /&gt;
&lt;br /&gt;
== XFS status update for September 2009 ==&lt;br /&gt;
&lt;br /&gt;
In September the Linux 2.6.31 kernel was finally released, including another&lt;br /&gt;
last minute XFS fix for the swapext (defragmentation) compat ioctl handler.&lt;br /&gt;
The final patch from 2.6.30 to 2.6.31 shows the following impressive diffstat&lt;br /&gt;
for XFS:&lt;br /&gt;
&lt;br /&gt;
   55 files changed, 1476 insertions(+), 2269 deletions(-)&lt;br /&gt;
&lt;br /&gt;
The 2.6.32 merge window started with a large XFS merge that included changes&lt;br /&gt;
to the inode allocator, and a few smaller fixes.  New versions of the sync&lt;br /&gt;
and time stamp fixes as well as the event tracing support have been posted&lt;br /&gt;
in September but not yet merged into the XFS development tree and/or mainline.&lt;br /&gt;
&lt;br /&gt;
On the userspace side a large patch series to reduce the memory usage in&lt;br /&gt;
xfs_repair to acceptable levels was posted, but not yet merged.  A new xfs_df&lt;br /&gt;
shell script to measure use of the on disk space was posted but not yet&lt;br /&gt;
merged pending some minor review comments and a missing man page.  In addition&lt;br /&gt;
we saw the usual amount of smaller fixes and cleanups.&lt;br /&gt;
&lt;br /&gt;
Also this month Felix Blyakher resigned from his post as XFS maintainer and handed off to Alex Elder.&lt;br /&gt;
&lt;br /&gt;
== XFS status update for August 2009 ==&lt;br /&gt;
&lt;br /&gt;
In August the Linux 2.6.31 kernel has still been in the release candidate&lt;br /&gt;
stage, but a couple of important XFS fixes made it in time for the release,&lt;br /&gt;
including a fix for the inode cache races with NFS workloads that have&lt;br /&gt;
plagued us for a long time.&lt;br /&gt;
&lt;br /&gt;
The list saw various patches destined for the Linux 2.6.32 merge window,&lt;br /&gt;
including a merge of the fsync and O_SYNC handling code to address various&lt;br /&gt;
issues with the latter, a workaround for deficits in the timestamp handling&lt;br /&gt;
interface between the VFS and filesystems, a repost of the sync improvements&lt;br /&gt;
patch series and various smaller patches.&lt;br /&gt;
&lt;br /&gt;
August also saw the minor 3.0.3 release of xfsprogs which collects smaller&lt;br /&gt;
fixes to the various tools and most importantly a fix to allow xfsprogs to&lt;br /&gt;
work again on SPARC and other strict alignment handling which regressed a&lt;br /&gt;
few releases ago.  The xfstests repository saw a few new test cases and a&lt;br /&gt;
various small improvements.&lt;br /&gt;
&lt;br /&gt;
== XFS status update for July 2009 ==&lt;br /&gt;
&lt;br /&gt;
As a traditional summer vacation month July has not seen a lot of XFS&lt;br /&gt;
activity.  The mainline 2.6.31 kernel made it to the 5th release candidate&lt;br /&gt;
but besides a few kernel-wide patches touching XFS the only activity were&lt;br /&gt;
two small patches fixing a bug in FIEMAP and working around writeback&lt;br /&gt;
performance problems in the VM.&lt;br /&gt;
&lt;br /&gt;
A few more patches were posted to the list but haven&#039;t been merged yet.&lt;br /&gt;
Two big patch series deal with theoretically possible deadlocks due to&lt;br /&gt;
locks taken in reclaim contexts, which are now detected by lockdep.&lt;br /&gt;
&lt;br /&gt;
The pace on the userspace side has been slow.  There have been a couple&lt;br /&gt;
of fixes to xfs_repair and xfs_db, and xfstests grew a few more testcases.&lt;br /&gt;
&lt;br /&gt;
== XFS status update for June 2009 ==&lt;br /&gt;
&lt;br /&gt;
On June 9th we finally saw the release of Linux 2.6.30.  For XFS&lt;br /&gt;
this release mostly contains the improved ENOSPC handling, but also&lt;br /&gt;
various smaller bugfixes and lots of cleanups.  The code size of XFS&lt;br /&gt;
decreased again by 500 lines of code in this release.&lt;br /&gt;
&lt;br /&gt;
The Linux 2.6.31 merge opened in the mid of the month and some big XFS&lt;br /&gt;
changes have been pushed: A removal of the quotaops&lt;br /&gt;
infrastructure which simplifies the quota implementation, the switch&lt;br /&gt;
from XFS&#039;s own Posix ACL implementation to the generic one shared&lt;br /&gt;
by various other filesystems which also supports in-memory caching of&lt;br /&gt;
ACLs and another incremental refactoring of the sync code.&lt;br /&gt;
&lt;br /&gt;
A patch to better track dirty inodes and work around issues in the&lt;br /&gt;
way the VFS updates the access time stamp on inodes has been reposted&lt;br /&gt;
and discussed. Another patch to converting the existing XFS tracing&lt;br /&gt;
infrastructure to use the ftrace even tracer has been posted.&lt;br /&gt;
&lt;br /&gt;
On the userspace side there have been a few updates to xfsprogs, including&lt;br /&gt;
some repair fixes and a new fallocate command for xfs_io.  There were&lt;br /&gt;
major updates for xfstests:  The existing aio-dio-regress testsuite has&lt;br /&gt;
been merged into xfstests, and various changes went into the tree to make&lt;br /&gt;
xfstests better suitable for use with other filesystems.&lt;br /&gt;
&lt;br /&gt;
The attr and acl projects which have been traditionally been hosted&lt;br /&gt;
as part of the XFS userspace utilities have now been split into a separate&lt;br /&gt;
project maintained by Andreas Gruenbacher, who has been doing most of&lt;br /&gt;
the work on it, and moved to the Savannah hosting platform.&lt;br /&gt;
&lt;br /&gt;
== XFS status update for May 2009 ==&lt;br /&gt;
&lt;br /&gt;
In May Linux 2.6.30 was getting close to be released, and various&lt;br /&gt;
important XFS fixes made it during the latest release candidates.&lt;br /&gt;
In the meantime some big patch series to rework the sync code and&lt;br /&gt;
the inode allocator have been posted for the next merge window.&lt;br /&gt;
&lt;br /&gt;
On the userspace side xfsprogs and xfsdump 3.0.1 were finally released,&lt;br /&gt;
quickly followed by 3.0.2 releases with updated Debian packaging.&lt;br /&gt;
After that various small patches that were held back made it into xfsprogs.&lt;br /&gt;
A patch to add the xfs_reno tool which allows to move inodes around to&lt;br /&gt;
fit into 32 bit inode number space has been posted which is also one&lt;br /&gt;
central aspect of future online shrinking support.&lt;br /&gt;
&lt;br /&gt;
There has been major activity on xfstests including adding generic&lt;br /&gt;
filesystems support to allow running tests that aren&#039;t XFS-specific on&lt;br /&gt;
any Linux filesystems.&lt;br /&gt;
&lt;br /&gt;
== XFS status update for April 2009 ==&lt;br /&gt;
&lt;br /&gt;
In April development for Linux 2.6.30 was in full motion.  A patchset to correct flushing of delayed allocations with near full filesystems has been committed in early April, as well as various smaller fixes. A patch series to improve the behavior of sys_sync has been posted but is waiting for VFS changes queued for Linux 2.6.31.&lt;br /&gt;
&lt;br /&gt;
On the userspace side xfsprogs and xfsdump 3.0.1 have managed to split their release dates into May again after a lot of last-minute build system updates.&lt;br /&gt;
&lt;br /&gt;
== XFS status update for March 2009 ==&lt;br /&gt;
&lt;br /&gt;
Linux 2.6.29 has been released which includes major XFS updates like the&lt;br /&gt;
new generic btree code, a fully functional 32bit compat ioctl implementation&lt;br /&gt;
and the new combined XFS and Linux inode.  (See previous status reports&lt;br /&gt;
for more details). A patch series to improve correctness and performance&lt;br /&gt;
has been posted but not yet applied.  Various minor fixes and cleanups&lt;br /&gt;
have been sent to Linus for 2.6.30 which looks like it will be a minor&lt;br /&gt;
release for XFS after the big churn in 2.6.29.&lt;br /&gt;
&lt;br /&gt;
On userspace a lot of time has been spent on fixing and improving the&lt;br /&gt;
build system shared by the various XFS utilities as well as various smaller&lt;br /&gt;
improvements leading to the xfsprogs and xfsdump 3.0.1 releases which are&lt;br /&gt;
still outstanding.&lt;br /&gt;
&lt;br /&gt;
== XFS status update for February 2009 ==&lt;br /&gt;
&lt;br /&gt;
In February various smaller fixes have been sent to Linus for 2.6.29,&lt;br /&gt;
including a revert of the faster vmap APIs which don&#039;t seem to be quite&lt;br /&gt;
ready yet on the VM side.  At the same time various patches have been&lt;br /&gt;
queued up for 2.6.30, with another big batch pending.  There also has&lt;br /&gt;
been a repost of the CRC patch series, including support for a new,&lt;br /&gt;
larger inode core.&lt;br /&gt;
&lt;br /&gt;
SGI released various bits of work in progress from former employees&lt;br /&gt;
that will be extremely helpful for the future development of XFS,&lt;br /&gt;
thanks a lot to Mark Goodwin for making this happen.&lt;br /&gt;
&lt;br /&gt;
On the userspace side the long awaited 3.0.0 releases of xfsprogs and&lt;br /&gt;
xfsdump finally happened early in the month, accompanied by a 2.2.9&lt;br /&gt;
release of the dmapi userspace.  There have been some issues with packaging&lt;br /&gt;
so a new minor release might follow soon.&lt;br /&gt;
&lt;br /&gt;
The xfs_irecover tool has been relicensed so that it can be merged into&lt;br /&gt;
the GPLv2 codebase of xfsprogs, but the actual integration work hasn&#039;t&lt;br /&gt;
happened yet.&lt;br /&gt;
&lt;br /&gt;
Important bits of XFS documentation that have been available on the XFS&lt;br /&gt;
website in PDF form have been released in the document source form under&lt;br /&gt;
the Creative Commons license so that they can be updated as a community&lt;br /&gt;
effort, and checked into a public git tree.&lt;br /&gt;
&lt;br /&gt;
== XFS status update for January 2009 ==&lt;br /&gt;
&lt;br /&gt;
January has been an extremely busy month on the userspace front.  Many&lt;br /&gt;
smaller and medium updates went into xfsprogs, xfstests and to a lesser&lt;br /&gt;
extent xfsdump.  xfsprogs and xfsdump are ramping up for getting a 3.0.0&lt;br /&gt;
release out in early February which will include the first major re-sync&lt;br /&gt;
with the kernel code in libxfs, a cleanup of the exported library interfaces&lt;br /&gt;
and the move of two tools (xfs_fsr and xfs_estimate) from the xfsdump&lt;br /&gt;
package to xfsprogs.  After this the xfsprogs package will contain all&lt;br /&gt;
tools that use internal libxfs interfaces which fortunately equates to those&lt;br /&gt;
needed for normal administration.  The xfsdump package now only contains&lt;br /&gt;
the xfsdump/xfsrestore tools needed for backing up and restoring XFS&lt;br /&gt;
filesystems.  In addition it grew a fix to support dump/restore on systems&lt;br /&gt;
with a 64k page size.  A large number of acl/attr package patches was&lt;br /&gt;
posted to the list, but pending a possible split of these packages from the&lt;br /&gt;
XFS project these weren&#039;t processed yet.&lt;br /&gt;
&lt;br /&gt;
On the kernel side the big excitement in January was an in-memory corruption&lt;br /&gt;
introduced in the btree refactoring which hit people running 32bit platforms&lt;br /&gt;
without support for large block devices.  This issue was fixed and pushed&lt;br /&gt;
to the 2.6.29 development tree after a long collaborative debugging effort&lt;br /&gt;
at linux.conf.au.  Besides that about a dozen minor fixes were pushed to&lt;br /&gt;
2.6.29 and the first batch of misc patches for the 2.6.30 release cycle&lt;br /&gt;
was sent out.&lt;br /&gt;
&lt;br /&gt;
At the end of December the SGI group in Melbourne which the previous&lt;br /&gt;
XFS maintainer and some other developers worked for has been closed down&lt;br /&gt;
and they will be missed greatly.  As a result maintainership has been passed&lt;br /&gt;
on in a way that has been slightly controversial in the community, and the&lt;br /&gt;
first patchset of work in progress in Melbourne have been posted to the list&lt;br /&gt;
to be picked up by others.&lt;br /&gt;
&lt;br /&gt;
The xfs.org wiki has gotten a little facelift on it&#039;s front page making it&lt;br /&gt;
a lot easier to read.&lt;br /&gt;
&lt;br /&gt;
== XFS status update for December 2008 ==&lt;br /&gt;
&lt;br /&gt;
On Christmas Eve the 2.6.28 mainline kernel was release, with only minor XFS&lt;br /&gt;
bug fixes over 2.6.27.&lt;br /&gt;
&lt;br /&gt;
On the development side December has been busy but unspectacular month.&lt;br /&gt;
All lot of misc fixes and improvements have been sent out, tested and committed&lt;br /&gt;
especially on the user land side.&lt;br /&gt;
&lt;br /&gt;
== XFS status update for November 2008 ==&lt;br /&gt;
&lt;br /&gt;
The mainline kernel is now at 2.6.28-rc6 and includes a small number of&lt;br /&gt;
XFS fixes.  There have been no updates to the XFS development tree during&lt;br /&gt;
November.  Without new regressions that large number of changes that&lt;br /&gt;
missed 2.6.28 has thus stabilized to be ready for 2.6.29.  In the meantime&lt;br /&gt;
kernel-side development has been slow, with the only major patch set&lt;br /&gt;
being a wide number of fixes to the compatibility for 32 bit ioctls on&lt;br /&gt;
a 64 bit kernel.&lt;br /&gt;
&lt;br /&gt;
In the meantime there has been a large number of commits to the user space&lt;br /&gt;
tree, which mostly consist of smaller fixes.  xfsprogs is getting close&lt;br /&gt;
to have the 3.0.0 release which will be the first full resync with the&lt;br /&gt;
kernel sources since the year 2005.&lt;br /&gt;
&lt;br /&gt;
== XFS status update for October 2008 ==&lt;br /&gt;
&lt;br /&gt;
Linux 2.6.27 released with all the bits covered in last month&#039;s report.  It&lt;br /&gt;
did however miss two important fixes for regressions that a few people hit.&lt;br /&gt;
2.6.27.3 or later are recommended for use with XFS.&lt;br /&gt;
&lt;br /&gt;
In the meantime the generic btree implementation, the sync reorganization&lt;br /&gt;
and after a lot of merge pain the XFS and VFS inode unification hit the&lt;br /&gt;
development tree during the time allocated for the merge window.  No XFS&lt;br /&gt;
updates other than the two regression fixes also in 2.6.27.3 have made it&lt;br /&gt;
into mainline as of 2.6.28-rc3.&lt;br /&gt;
&lt;br /&gt;
The only new feature on the list in October is support for the fiemap&lt;br /&gt;
interface that has been added to the VFS during the 2.6.28 merge window.&lt;br /&gt;
However there was lot of patch traffic consisting of fixes and respun&lt;br /&gt;
versions of previously known patches.  There still is a large backlog of&lt;br /&gt;
patches on the list that is not applied to the development tree yet.&lt;br /&gt;
&lt;br /&gt;
== XFS status update for September 2008 ==&lt;br /&gt;
&lt;br /&gt;
With Linux 2.6.27 still not released but only making slow progress from 2.6.27-rc5 to 2.6.27-rc8 XFS changes in mainline have been minimal in September with only about half a dozen bug fixes patches.&lt;br /&gt;
&lt;br /&gt;
In the meantime the generic btree patch set has been committed to the development tree, but not many other updates yet. On the user space side xfsprogs 2.10.1 has been released on September 5th with a number of important bug fixes. Following the release of xfsprogs 2.10.1 open season for development of the user space code has started. The first full update of the shared kernel / user space code in libxfs since 2005 has been committed. In addition to that the number of headers installed for the regular devel package has been reduced to the required minimum and support for checking the source code for endianess errors using sparse has been added.&lt;br /&gt;
&lt;br /&gt;
The patch sets to unify the XFS and Linux inode structures, and rewrite various bits of the sync code have seen various iterations on the XFS list, but haven&#039;t been committed yet. A first set of patches implementing CRCs for various metadata structures has been posted to the list.&lt;br /&gt;
&lt;br /&gt;
== XFS status update for August 2008 ==&lt;br /&gt;
&lt;br /&gt;
With the 2.6.27-rc5 release the 2.6.27 cycle is nearing it&#039;s end. The major XFS feature in 2.6.27-rc5 is support for case-insensitive file names. At this point it is still limited to 7bit ASCII file names, with updates for utf8 file names expected to follow later. In addition to that 2.6.27-rc5 fixes a long-standing problem with non-EABI arm compiler which pack some XFS data structures wrongly. Besides this 2.6.27-rc5 also contains various cleanups, most notably the removal of the last bhv_vnode_t instances, and most uses of semaphores. As usual the diffstat for XFS from 2.6.26 to 2.6.26-rc5 is negative:&lt;br /&gt;
&lt;br /&gt;
       100 files changed, 3819 insertions(+), 4409 deletions(-)&lt;br /&gt;
&lt;br /&gt;
On the user space front a new minor xfsprogs version is about to be released containing various fixes including the user space part of arm packing fix.&lt;br /&gt;
&lt;br /&gt;
Work in progress on the XFS mailing list are a large patch set to unify the alloc, inobt and bmap btree implementation into a single that supports arbitrarily pluggable key and record formats. These btree changes are the first major preparation for adding CRC checks to all metadata structures in XFS, and an even larger patch set to unify the XFS and Linux inode structures, and perform all inode write back from the btree uses instead of an inode cache in XFS.&lt;br /&gt;
&lt;br /&gt;
== Updates before 2008 ==&lt;br /&gt;
&lt;br /&gt;
News up to 2007 can be found on a separate page: [[OLD_News]]&lt;/div&gt;</summary>
		<author><name>Hch</name></author>
	</entry>
	<entry>
		<id>https://xfs.org/index.php?title=Main_Page&amp;diff=2114</id>
		<title>Main Page</title>
		<link rel="alternate" type="text/html" href="https://xfs.org/index.php?title=Main_Page&amp;diff=2114"/>
		<updated>2010-10-03T06:41:20Z</updated>

		<summary type="html">&lt;p&gt;Hch: undo the last change - won&amp;#039;t work unless the wiki page is also renamed..&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;!-- Welcome &lt;br /&gt;
&amp;lt;div style=&amp;quot;margin:0; margin-top:10px; margin-right:10px; border:1px solid #dfdfdf; padding:0 1em 1em 1em; background-color:#C5C5FF; align:right;&amp;quot;&amp;gt;&lt;br /&gt;
Welcome to XFS.org. This site is set up to help with the XFS file system.&amp;lt;/div&amp;gt;&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
{| width=&amp;quot;100%&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;vertical-align:top&amp;quot; |&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Information --&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin:0; margin-top:10px; margin-right:10px; border:1px solid #dfdfdf; padding:0 1em 1em 1em; background-color:#E2EAFF; align:right;&amp;quot;&amp;gt;&lt;br /&gt;
== Information about XFS ==&lt;br /&gt;
&lt;br /&gt;
* [[XFS FAQ]]&lt;br /&gt;
* [[XFS Status Updates]]&lt;br /&gt;
* [[XFS Papers and Documentation]]&lt;br /&gt;
* [[Linux Distributions shipping XFS]]&lt;br /&gt;
* [[XFS Rpm for RedHat]]&lt;br /&gt;
* [[XFS Companies]]&lt;br /&gt;
* [http://oss.sgi.com/projects/xfs SGI XFS website]&lt;br /&gt;
* [http://en.wikipedia.org/wiki/XFS Wikipedia XFS page]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Consulting --&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin:0; margin-top:10px; margin-right:10px; border:1px solid #dfdfdf; padding:0 1em 1em 1em; background-color:#fffff0; align:right; &amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Professional XFS Consulting Services == &lt;br /&gt;
&lt;br /&gt;
[[Consulting Resources]]&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
| width=&amp;quot;50%&amp;quot; style=&amp;quot;vertical-align:top&amp;quot; |&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Developers --&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin:0; margin-top:10px; margin-right:10px; border:1px solid #dfdfdf; padding:0 1em 1em 1em; background-color:#F8F8FF; align:right;&amp;quot;&amp;gt;&lt;br /&gt;
== XFS Developer Resources ==&lt;br /&gt;
&lt;br /&gt;
* [[XFS email list and archives]]&lt;br /&gt;
* [http://oss.sgi.com/bugzilla/buglist.cgi?product=XFS&amp;amp;bug_status=NEW&amp;amp;bug_status=ASSIGNED&amp;amp;bug_status=REOPENED Bugzilla @ oss.sgi.com]&lt;br /&gt;
* [http://bugzilla.kernel.org/buglist.cgi?product=File+System&amp;amp;component=XFS&amp;amp;bug_status=NEW&amp;amp;bug_status=ASSIGNED&amp;amp;bug_status=REOPENED Bugzilla @ kernel.org]&lt;br /&gt;
* [[Getting the latest source code]]&lt;br /&gt;
* [[Unfinished work]]&lt;br /&gt;
* [[Shrinking Support]]&lt;br /&gt;
* [[Ideas for XFS]]&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{#meta: | u+4/+rib+YG96TifD0SN88xS84YSDm2cl61IU7ZIk9g= | verify-v1 }}&lt;br /&gt;
&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>Hch</name></author>
	</entry>
	<entry>
		<id>https://xfs.org/index.php?title=Main_Page&amp;diff=2113</id>
		<title>Main Page</title>
		<link rel="alternate" type="text/html" href="https://xfs.org/index.php?title=Main_Page&amp;diff=2113"/>
		<updated>2010-10-03T06:40:49Z</updated>

		<summary type="html">&lt;p&gt;Hch: capitalize RPM&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;!-- Welcome &lt;br /&gt;
&amp;lt;div style=&amp;quot;margin:0; margin-top:10px; margin-right:10px; border:1px solid #dfdfdf; padding:0 1em 1em 1em; background-color:#C5C5FF; align:right;&amp;quot;&amp;gt;&lt;br /&gt;
Welcome to XFS.org. This site is set up to help with the XFS file system.&amp;lt;/div&amp;gt;&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
{| width=&amp;quot;100%&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;vertical-align:top&amp;quot; |&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Information --&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin:0; margin-top:10px; margin-right:10px; border:1px solid #dfdfdf; padding:0 1em 1em 1em; background-color:#E2EAFF; align:right;&amp;quot;&amp;gt;&lt;br /&gt;
== Information about XFS ==&lt;br /&gt;
&lt;br /&gt;
* [[XFS FAQ]]&lt;br /&gt;
* [[XFS Status Updates]]&lt;br /&gt;
* [[XFS Papers and Documentation]]&lt;br /&gt;
* [[Linux Distributions shipping XFS]]&lt;br /&gt;
* [[XFS RPM for RedHat]]&lt;br /&gt;
* [[XFS Companies]]&lt;br /&gt;
* [http://oss.sgi.com/projects/xfs SGI XFS website]&lt;br /&gt;
* [http://en.wikipedia.org/wiki/XFS Wikipedia XFS page]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Consulting --&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin:0; margin-top:10px; margin-right:10px; border:1px solid #dfdfdf; padding:0 1em 1em 1em; background-color:#fffff0; align:right; &amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Professional XFS Consulting Services == &lt;br /&gt;
&lt;br /&gt;
[[Consulting Resources]]&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
| width=&amp;quot;50%&amp;quot; style=&amp;quot;vertical-align:top&amp;quot; |&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Developers --&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin:0; margin-top:10px; margin-right:10px; border:1px solid #dfdfdf; padding:0 1em 1em 1em; background-color:#F8F8FF; align:right;&amp;quot;&amp;gt;&lt;br /&gt;
== XFS Developer Resources ==&lt;br /&gt;
&lt;br /&gt;
* [[XFS email list and archives]]&lt;br /&gt;
* [http://oss.sgi.com/bugzilla/buglist.cgi?product=XFS&amp;amp;bug_status=NEW&amp;amp;bug_status=ASSIGNED&amp;amp;bug_status=REOPENED Bugzilla @ oss.sgi.com]&lt;br /&gt;
* [http://bugzilla.kernel.org/buglist.cgi?product=File+System&amp;amp;component=XFS&amp;amp;bug_status=NEW&amp;amp;bug_status=ASSIGNED&amp;amp;bug_status=REOPENED Bugzilla @ kernel.org]&lt;br /&gt;
* [[Getting the latest source code]]&lt;br /&gt;
* [[Unfinished work]]&lt;br /&gt;
* [[Shrinking Support]]&lt;br /&gt;
* [[Ideas for XFS]]&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{#meta: | u+4/+rib+YG96TifD0SN88xS84YSDm2cl61IU7ZIk9g= | verify-v1 }}&lt;br /&gt;
&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>Hch</name></author>
	</entry>
	<entry>
		<id>https://xfs.org/index.php?title=XFS_Status_Updates&amp;diff=2112</id>
		<title>XFS Status Updates</title>
		<link rel="alternate" type="text/html" href="https://xfs.org/index.php?title=XFS_Status_Updates&amp;diff=2112"/>
		<updated>2010-10-03T06:35:34Z</updated>

		<summary type="html">&lt;p&gt;Hch: september update&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== XFS status update for September 2010 ==&lt;br /&gt;
&lt;br /&gt;
Mainline activity has been rather low in September while with only&lt;br /&gt;
two more fixes going into the 2.6.36 release candidates after the&lt;br /&gt;
large merge activity in August.  Development for the next merge&lt;br /&gt;
window has been more active.  The largest item was the inclusion&lt;br /&gt;
of the metadata scalability patch series, which provides very large&lt;br /&gt;
speedups for parallel metadata operations.  In addition a new&lt;br /&gt;
ioctl to punch holes and convert the whole to an unwritten extent&lt;br /&gt;
was added and a small number of cleanups also made it into the tree.&lt;br /&gt;
&lt;br /&gt;
Patches to add support for 32bit wide project ID identifiers and&lt;br /&gt;
using group and project quotas concurrently were posted to the list&lt;br /&gt;
and discussed but not yet included.&lt;br /&gt;
&lt;br /&gt;
Userspace development has been rather quited again, with a single fix&lt;br /&gt;
committed to xfsprogs and xfsdump each.  The xfstests test suite grew&lt;br /&gt;
a new test case and received a few additional fixes.  Last but not least&lt;br /&gt;
the [http://xfs.org/docs/xfsdocs-xml-dev/XFS_User_Guide//tmp/en-US/html/index.html XFS Users Guide]&lt;br /&gt;
was updated with various factual corrections and spelling fixes.&lt;br /&gt;
&lt;br /&gt;
== XFS status update for August 2010 ==&lt;br /&gt;
&lt;br /&gt;
At the first of August we finally saw the release of Linux 2.6.35,&lt;br /&gt;
which includes a large XFS update.  The most prominent feature in&lt;br /&gt;
Linux 2.6.35 is the new delayed logging code which provides massive&lt;br /&gt;
speedups for metadata-intensive workloads, but there has been&lt;br /&gt;
a large amount of other fixes and cleanups, leading to the following&lt;br /&gt;
diffstat:&lt;br /&gt;
&lt;br /&gt;
         67 files changed, 4426 insertions(+), 3835 deletions(-)&lt;br /&gt;
&lt;br /&gt;
Given the early release of Linux 2.6.35 the merge window for the&lt;br /&gt;
next release fully fell into the month of August.  The XFS updates&lt;br /&gt;
for Linux 2.6.36 include various additional performance improvements&lt;br /&gt;
in the delayed logging code, for direct I/O writes and for avoiding&lt;br /&gt;
synchronous transactions, as well as various fixed and large amount&lt;br /&gt;
of cleanups, including the removal of the remaining dead DMAPI&lt;br /&gt;
code.&lt;br /&gt;
&lt;br /&gt;
On the userspace side we saw the 3.1.3 release of xfsprogs, which includes&lt;br /&gt;
various smaller fixes, support for the new XFS_IOC_ZERO_RANGE ioctl and&lt;br /&gt;
Debian packaging updates.  The xfstests package saw one new test case&lt;br /&gt;
and a couple of smaller patches, and xfsdump has not seen any updates at&lt;br /&gt;
all.&lt;br /&gt;
&lt;br /&gt;
The XMLified versions of the XFS users guide, training labs and filesystem&lt;br /&gt;
structure documentation are now available as on the fly generated html on&lt;br /&gt;
the xfs.org website and can be found at [[XFS_Papers_and_Documentation|Papers &amp;amp; Documentation]].&lt;br /&gt;
&lt;br /&gt;
== XFS status update for July 2010 ==&lt;br /&gt;
&lt;br /&gt;
July saw three more release candidates for the Linux 2.6.35 kernel, which&lt;br /&gt;
included a relatively large number of XFS updates.  There were two security&lt;br /&gt;
fixes, a small one to prevent swapext to operate on write-only file&lt;br /&gt;
descriptors, and a much larger one to properly validate inode numbers&lt;br /&gt;
coming from NFS clients or userspace applications using the bulkstat or&lt;br /&gt;
the open-by-handle interfaces.  In addition to that another relatively&lt;br /&gt;
large patch fixes the way inodes get reclaimed in the background, and&lt;br /&gt;
avoids inode caches growing out of bounds.&lt;br /&gt;
&lt;br /&gt;
In the meantime the code for the Linux 2.6.36 got the last touches before&lt;br /&gt;
the expected opening of the merge window, by merging a few more last&lt;br /&gt;
minute fixes and cleanups.  The most notable one is a patch series&lt;br /&gt;
that fixes in-memory corruption when concurrently accessing unwritten&lt;br /&gt;
extents using the in-kernel AIO code.&lt;br /&gt;
&lt;br /&gt;
The userspace side was still quite slow, but some a bit more activity&lt;br /&gt;
than June.  In xfsprogs the xfs_db code grew two bug fixes, as did&lt;br /&gt;
the xfs_io script.  The xfstests package saw one new test cases and&lt;br /&gt;
various fixes to existing code.  Last but not least a few patches&lt;br /&gt;
affecting the build system for all userspace tools were committed.&lt;br /&gt;
&lt;br /&gt;
== XFS status update for June 2010 ==&lt;br /&gt;
&lt;br /&gt;
The month of June saw a few important bug fixes for the Linux 2.6.35&lt;br /&gt;
release candidates.  That includes ensuring that files used for the&lt;br /&gt;
swapext ioctl are writable to the user, and doing proper validation&lt;br /&gt;
of inodes coming from untrusted sources, such as NFS exporting and&lt;br /&gt;
the open by handle system calls.  The main work however has been&lt;br /&gt;
focused on development for the Linux 2.6.36 merge window, including&lt;br /&gt;
merging various patches that have been out on the mainline list&lt;br /&gt;
for a long time.  Highlights include further performance improvements&lt;br /&gt;
for sync heavy metadata workloads, stack space reduction in the&lt;br /&gt;
writeback path and improvements of the XFS tracing infrastructure.&lt;br /&gt;
Also after some discussion the remaining hooks for DMAPI are going&lt;br /&gt;
to be dropped in mainline.   As a replacement a tree containing&lt;br /&gt;
full DMAPI support with a slightly cleaner XFS interaction will be&lt;br /&gt;
hosted by SGI.&lt;br /&gt;
&lt;br /&gt;
On the userspace side June was a rather slow month, with no updates&lt;br /&gt;
to xfsprogs and xfsdump at all, and just one new test case and a cleanup&lt;br /&gt;
applied to xfstests.&lt;br /&gt;
&lt;br /&gt;
== XFS status update for May 2010 ==&lt;br /&gt;
&lt;br /&gt;
In May 2010 we saw the long awaited release of Linux 2.6.34, which includes&lt;br /&gt;
a large XFS update.  The most important features appearing in 2.6.34 was the&lt;br /&gt;
new inode and quota flushing code, which leads to much better I/O patterns&lt;br /&gt;
for metadata-intensive workloads.  Additionally support for synchronous NFS&lt;br /&gt;
exports has been improved to give much better performance, and performance&lt;br /&gt;
for the fsync, fdatasync and sync system calls has been improved slightly.&lt;br /&gt;
A bug when resizing extremely busy filesystems has been fixed, which required&lt;br /&gt;
extensive modification to the data structure used for looking up the&lt;br /&gt;
per-allocation group data.  Last but not least there was a steady flow of&lt;br /&gt;
minor bug fixes and cleanups, leading to the following diffstat from&lt;br /&gt;
2.6.33 to 2.6.34:&lt;br /&gt;
&lt;br /&gt;
  86 files changed, 3209 insertions(+), 3178 deletions(-)&lt;br /&gt;
&lt;br /&gt;
Meanwhile active development aimed at 2.6.35 merge progressed.  The&lt;br /&gt;
major feature for this window is the merge of the delayed logging code,&lt;br /&gt;
which adds a new logging mode that dramatically reduces the bandwidth&lt;br /&gt;
required for log I/O.  See the &lt;br /&gt;
[http://git.kernel.org/?p=linux/kernel/git/torvalds/linux-2.6.git;a=blob;f=Documentation/filesystems/xfs-delayed-logging-design.txt;h=96d0df28bed323d5596fc051b0ffb96ed8e3c8df;hb=HEAD documentation] for details.  Testers&lt;br /&gt;
for this new code are welcome.&lt;br /&gt;
&lt;br /&gt;
In userland xfsprogs saw the long awaited 3.1.2 release, which can be&lt;br /&gt;
considered a bug fix release for xfs_repair, xfs_fsr and mkfs.xfs.  After&lt;br /&gt;
the release a few more fixes were merged into the development tree.&lt;br /&gt;
The xfstests package saw various new tests, including many tests to&lt;br /&gt;
exercise the quota code, and a few fixes to existing tests.&lt;br /&gt;
&lt;br /&gt;
== XFS status update for April 2010 ==&lt;br /&gt;
&lt;br /&gt;
In April 2.6.34 still was in the release candidate phase, with&lt;br /&gt;
a hand full of XFS fixes making it into mainline.  Development for&lt;br /&gt;
the 2.6.35 merge window went ahead full steam at the same time.&lt;br /&gt;
&lt;br /&gt;
While a fair amount of patches hit the development tree these were&lt;br /&gt;
largely cleanups, with the real development activity happening on&lt;br /&gt;
the mailing list.  There was another round of patches and following&lt;br /&gt;
discussion on the scalable busy extent tracking and delayed logging&lt;br /&gt;
features mentioned last month.  They are expected to be merged in&lt;br /&gt;
May and queue up for the Linux 2.6.35 window.  Last but not least&lt;br /&gt;
April saw a large number of XFS fixes backported to the 2.6.32 and&lt;br /&gt;
2.6.33 -stable series.&lt;br /&gt;
&lt;br /&gt;
In user land xfsprogs has seen few but important updates, preparing&lt;br /&gt;
for a new release next month.  The xfs_repair tool saw a fix to&lt;br /&gt;
correctly enable the lazy superblock counters on an existing&lt;br /&gt;
filesystem, and xfs_fsr saw updates to better deal with dynamic&lt;br /&gt;
attribute forks.  Last but not a least a port to Debian GNU/kFreeBSD&lt;br /&gt;
got merged. The xfstests test suite saw two new test cases and various&lt;br /&gt;
smaller fixes.&lt;br /&gt;
&lt;br /&gt;
== XFS status update for March 2010 ==&lt;br /&gt;
&lt;br /&gt;
The merge window for Linux 2.6.34 closed in the first week of March,&lt;br /&gt;
with the important XFS features already landing in February.  Not&lt;br /&gt;
surprisingly the XFS merge activity in March has been rather slow,&lt;br /&gt;
with only about a dozen bug fixes patches making it towards Linus&#039;&lt;br /&gt;
tree in that time.&lt;br /&gt;
&lt;br /&gt;
On the other hand active development for the 2.6.35 merge window has&lt;br /&gt;
been very active.  Most importantly there was a lot of work on the&lt;br /&gt;
transaction and log subsystems.  Starting with a large patchset to&lt;br /&gt;
clean up and refactor the transaction subsystem and introducing more&lt;br /&gt;
flexible I/O containers in the low-level logging code work is&lt;br /&gt;
progressing to a new, more efficient logging implementation.  While&lt;br /&gt;
this preparatory work has already been merged in the development tree,&lt;br /&gt;
the actual delayed logging implementation still needs more work after&lt;br /&gt;
the initial public posting.  The delayed logging implementation which&lt;br /&gt;
is very briefly modeled after the journaling mode in the ext3/4&lt;br /&gt;
and reiserfs filesystems allows to accumulated multiple asynchronous&lt;br /&gt;
transactions in memory instead of possibly writing them out&lt;br /&gt;
many times.  Using the new delayed logging mechanism I/O bandwidth&lt;br /&gt;
used for the log decreases by orders of magnitude and performance&lt;br /&gt;
on metadata intensive workloads increases massively.&lt;br /&gt;
&lt;br /&gt;
In addition to that a new version of the discard (aka TRIM) support&lt;br /&gt;
has been posted, this time entirely contained in kernel space&lt;br /&gt;
and without the need of a userspace utility to drive it.  Last but&lt;br /&gt;
not least the usual steady stream of cleanups and bug fixes has not&lt;br /&gt;
ceased this month either.&lt;br /&gt;
&lt;br /&gt;
Besides the usual flow of fixes and new test cases in the xfstests&lt;br /&gt;
test suite development on the userspace side has been rather slow.&lt;br /&gt;
Xfsprogs has only seen a single fix for SMP locking in xfs_repair&lt;br /&gt;
and support for building on Debian GNU/kFreeBSD, and xfsdump&lt;br /&gt;
has seen no commit at all.&lt;br /&gt;
&lt;br /&gt;
== XFS status update for February 2010 ==&lt;br /&gt;
&lt;br /&gt;
February saw the release of the Linux 2.6.33 kernel, which includes&lt;br /&gt;
a large XFS update.  The biggest user-visible change in Linux 2.6.33&lt;br /&gt;
is that XFS now support the generic Linux trace event infrastructure,&lt;br /&gt;
which allows tracing lots of XFS behavior with a normal production&lt;br /&gt;
built kernel.  Except for this Linux 2.6.33 has been mostly a bug-fix&lt;br /&gt;
release, fixing various user reported bugs in previous releases.&lt;br /&gt;
The total diffstat for XFS in Linux 2.6.33 looks like:&lt;br /&gt;
&lt;br /&gt;
  84 files changed, 3023 insertions(+), 3550 deletions(-)&lt;br /&gt;
&lt;br /&gt;
In addition to that the merge window for Linux 2.6.34 opened and the&lt;br /&gt;
first merge of the XFS tree made it into Linus tree.  Unlike Linux&lt;br /&gt;
2.6.33 this merge window includes major feature work.  The most&lt;br /&gt;
important change for users is a new algorithm for inode and quota&lt;br /&gt;
writeback that leads to better I/O locality and improved metadata&lt;br /&gt;
performance.  The second big change is a rewrite of the per-allocation&lt;br /&gt;
group data lookup which fixes a long-standing problem in the code&lt;br /&gt;
to grow a life filesystem and will also ease future filesystem&lt;br /&gt;
shrinking support.  Not merged through the XFS tree, but of great&lt;br /&gt;
importance for embedded users is a new API that allows XFS to properly&lt;br /&gt;
flush cache lines on it&#039;s log and large directory buffers, making&lt;br /&gt;
XFS work properly on architectures with virtually indexed caches,&lt;br /&gt;
such as parisc and various arm and mips variants.  Last but not&lt;br /&gt;
least there is an above average amount of cleanups that went into&lt;br /&gt;
Linus tree in this cycle.&lt;br /&gt;
&lt;br /&gt;
There have been more patches on the mailing list that haven&#039;t made&lt;br /&gt;
it to Linus tree yet, including an optimized implementation of&lt;br /&gt;
fdatasync(2) and massive speedups for metadata workloads on&lt;br /&gt;
NFS exported XFS filesystems.&lt;br /&gt;
&lt;br /&gt;
On the userspace side February has been a relatively quite month.&lt;br /&gt;
Lead by xfstests only a moderate amount of fixes made it into&lt;br /&gt;
the respective trees.&lt;br /&gt;
&lt;br /&gt;
== XFS status update for January 2010 ==&lt;br /&gt;
&lt;br /&gt;
January saw additional release candidates of the Linux 2.6.33 kernel,&lt;br /&gt;
including a couple of bug fixes for XFS.  In the meantime the XFS tree&lt;br /&gt;
has been growing a large number of patches destined for the Linux 2.6.34&lt;br /&gt;
merge window: a large rework of the handling of per-AG data, support for&lt;br /&gt;
the quota netlink interface, and better power saving behavior of the&lt;br /&gt;
XFS kernel threads, and of course various cleanups.&lt;br /&gt;
&lt;br /&gt;
A large patch series to replace the current asynchronous inode writeback&lt;br /&gt;
with a new scheme that uses the delayed write buffers was posted to&lt;br /&gt;
the list.  The new scheme, which allows archive better I/O locality by&lt;br /&gt;
dispatching meta-data I/O from a single place has been discussed&lt;br /&gt;
extensively and is expected to be merged in February.&lt;br /&gt;
&lt;br /&gt;
On the userspace side January saw the 3.1.0 and 3.1.1 releases of xfsprogs,&lt;br /&gt;
as well as the 3.0.4 release of xfsdump.  The biggest changes in xfsprogs&lt;br /&gt;
3.1.0 were optimizations in xfs_repair that lead to a much lower memory&lt;br /&gt;
usage, and optional use of the blkid library for filesystem detection&lt;br /&gt;
and retrieving storage topology information.  The 3.1.1 release contained&lt;br /&gt;
various important bug fixes for these changes and a various improvements to&lt;br /&gt;
the build system.  The major feature of xfsdump 3.0.4 were fixes for&lt;br /&gt;
time stamp handling on 64-bit systems.&lt;br /&gt;
&lt;br /&gt;
The xfstests package also lots of activity including various new testcases&lt;br /&gt;
and an improved build system.&lt;br /&gt;
&lt;br /&gt;
== XFS status update for December 2009 ==&lt;br /&gt;
&lt;br /&gt;
December finally saw the long awaited release of Linux 2.6.32, which for&lt;br /&gt;
XFS is mostly a bug fix release, with the major changes being various&lt;br /&gt;
improvement to the sync path, including working around the expectation&lt;br /&gt;
from the grub boot loader where metadata is supposed to be after a sync()&lt;br /&gt;
system call.  Together with a refactoring of the inode allocator this&lt;br /&gt;
gives a nice diffstat for this kernel release:&lt;br /&gt;
&lt;br /&gt;
 46 files changed, 767 insertions(+), 1048 deletions(-)&lt;br /&gt;
&lt;br /&gt;
In the meantime development for the 2.6.33 has been going strong.  The&lt;br /&gt;
new event tracing code that allows to observe the inner workings of XFS&lt;br /&gt;
in production systems has finally been merged, with another patch to&lt;br /&gt;
reduce the size of the tracing code by using new upstream kernel features&lt;br /&gt;
posted for review.  Also a large patch series has been posted which&lt;br /&gt;
changes per-AG data to be looked up by a radix tree instead of the&lt;br /&gt;
existing array.  This works around possible deadlocks and user after&lt;br /&gt;
free issues during growfs, and prepares for removing a global (shared)&lt;br /&gt;
lock from the free space allocators.  In addition to that a wide range&lt;br /&gt;
of fixes has been posted and applied.&lt;br /&gt;
&lt;br /&gt;
Work on the userspace packages has been just as busy.  In mkfs.xfs the&lt;br /&gt;
lazy superblock counter feature has now been enabled by default for the&lt;br /&gt;
upcoming xfsprogs 3.1.0 release, which will require kernel 2.6.22 for&lt;br /&gt;
the default mkfs invocation.  Also for mkfs.xfs as patch was posted&lt;br /&gt;
to correct the automatic detection of 4 kilobyte sector drivers which&lt;br /&gt;
are expected to show up in large quantities the real work soon.  The&lt;br /&gt;
norepair mode in xfs_repair has been enhanced with additional freespace&lt;br /&gt;
btree correction checks from xfs_db and is now identical to xfs_check in&lt;br /&gt;
filesystem consistency checking coverage.  A temporary file permission&lt;br /&gt;
problems has been fixed in xfs_fsr, and the libhandle library has been&lt;br /&gt;
fixed to better deal with symbolic links.  In xfs_io a few commands&lt;br /&gt;
that were added years ago have finally been wired up to actually be&lt;br /&gt;
usable.  And last but not least xfsdump saw a fix to the time stamp&lt;br /&gt;
handling in the backup format and some usability and documentation&lt;br /&gt;
improvements to xfsinvutil.&lt;br /&gt;
&lt;br /&gt;
== XFS status update for November 2009 ==&lt;br /&gt;
&lt;br /&gt;
November was a relatively slow month for XFS development.  The XFS tree&lt;br /&gt;
that is destined for the Linux 2.6.33 merge window saw a few fixes and&lt;br /&gt;
cleanups applied to it, and few important fixes still made it into the&lt;br /&gt;
last Linux 2.6.32 release candidates.  A few more patches including a&lt;br /&gt;
final version of the event tracing support for XFS were posted but not&lt;br /&gt;
reviewed yet.&lt;br /&gt;
&lt;br /&gt;
On the userspace side there has been a fair amount of xfsprogs activity.&lt;br /&gt;
The repair speedup patches have finally been merged into the main development&lt;br /&gt;
branch and a couple of other fixes to the various utilities made it in, too.&lt;br /&gt;
The xfstests test suite saw another new regression test suite and a build&lt;br /&gt;
system fix up.&lt;br /&gt;
&lt;br /&gt;
== XFS status update for October 2009 ==&lt;br /&gt;
In October we saw the Linux 2.6.32 merge window with a major XFS update.&lt;br /&gt;
This update includes a refactoring of the inode allocator which also&lt;br /&gt;
allows for speedups for very large filesystems, major sync fixes, updates&lt;br /&gt;
to the fsync and O_SYNC handling which merge the two code paths into a single&lt;br /&gt;
and more efficient one, a workaround for the VFS time stamp behavior,&lt;br /&gt;
and of course various smaller fixes.  A couple of additional fixes have been&lt;br /&gt;
queued up for the next merge window.&lt;br /&gt;
&lt;br /&gt;
On the userspace side there has been a healthy activity on xfsprogs:  mkfs can&lt;br /&gt;
now discard unused sectors on SSDs and thinly provisioned storage devices and&lt;br /&gt;
use the more generic libblkid for topology information and filesystems detection&lt;br /&gt;
instead of the older libdisk, and the build system gained some updates to&lt;br /&gt;
make the source package generation simpler and shared for different package&lt;br /&gt;
types.  A patch has been out to the list but yet committed to add symbol&lt;br /&gt;
versioning to the libhandle library to make future ABI additions easier.&lt;br /&gt;
The xfstests package only saw some minor activity with a new test case&lt;br /&gt;
and small build system fixes.&lt;br /&gt;
&lt;br /&gt;
New minor releases of xfsprogs and xfsdump were tagged but not formally&lt;br /&gt;
released after additional discussion.  Instead a new major xfsprogs release&lt;br /&gt;
is planned for next month.&lt;br /&gt;
&lt;br /&gt;
== XFS status update for September 2009 ==&lt;br /&gt;
&lt;br /&gt;
In September the Linux 2.6.31 kernel was finally released, including another&lt;br /&gt;
last minute XFS fix for the swapext (defragmentation) compat ioctl handler.&lt;br /&gt;
The final patch from 2.6.30 to 2.6.31 shows the following impressive diffstat&lt;br /&gt;
for XFS:&lt;br /&gt;
&lt;br /&gt;
   55 files changed, 1476 insertions(+), 2269 deletions(-)&lt;br /&gt;
&lt;br /&gt;
The 2.6.32 merge window started with a large XFS merge that included changes&lt;br /&gt;
to the inode allocator, and a few smaller fixes.  New versions of the sync&lt;br /&gt;
and time stamp fixes as well as the event tracing support have been posted&lt;br /&gt;
in September but not yet merged into the XFS development tree and/or mainline.&lt;br /&gt;
&lt;br /&gt;
On the userspace side a large patch series to reduce the memory usage in&lt;br /&gt;
xfs_repair to acceptable levels was posted, but not yet merged.  A new xfs_df&lt;br /&gt;
shell script to measure use of the on disk space was posted but not yet&lt;br /&gt;
merged pending some minor review comments and a missing man page.  In addition&lt;br /&gt;
we saw the usual amount of smaller fixes and cleanups.&lt;br /&gt;
&lt;br /&gt;
Also this month Felix Blyakher resigned from his post as XFS maintainer and handed off to Alex Elder.&lt;br /&gt;
&lt;br /&gt;
== XFS status update for August 2009 ==&lt;br /&gt;
&lt;br /&gt;
In August the Linux 2.6.31 kernel has still been in the release candidate&lt;br /&gt;
stage, but a couple of important XFS fixes made it in time for the release,&lt;br /&gt;
including a fix for the inode cache races with NFS workloads that have&lt;br /&gt;
plagued us for a long time.&lt;br /&gt;
&lt;br /&gt;
The list saw various patches destined for the Linux 2.6.32 merge window,&lt;br /&gt;
including a merge of the fsync and O_SYNC handling code to address various&lt;br /&gt;
issues with the latter, a workaround for deficits in the timestamp handling&lt;br /&gt;
interface between the VFS and filesystems, a repost of the sync improvements&lt;br /&gt;
patch series and various smaller patches.&lt;br /&gt;
&lt;br /&gt;
August also saw the minor 3.0.3 release of xfsprogs which collects smaller&lt;br /&gt;
fixes to the various tools and most importantly a fix to allow xfsprogs to&lt;br /&gt;
work again on SPARC and other strict alignment handling which regressed a&lt;br /&gt;
few releases ago.  The xfstests repository saw a few new test cases and a&lt;br /&gt;
various small improvements.&lt;br /&gt;
&lt;br /&gt;
== XFS status update for July 2009 ==&lt;br /&gt;
&lt;br /&gt;
As a traditional summer vacation month July has not seen a lot of XFS&lt;br /&gt;
activity.  The mainline 2.6.31 kernel made it to the 5th release candidate&lt;br /&gt;
but besides a few kernel-wide patches touching XFS the only activity were&lt;br /&gt;
two small patches fixing a bug in FIEMAP and working around writeback&lt;br /&gt;
performance problems in the VM.&lt;br /&gt;
&lt;br /&gt;
A few more patches were posted to the list but haven&#039;t been merged yet.&lt;br /&gt;
Two big patch series deal with theoretically possible deadlocks due to&lt;br /&gt;
locks taken in reclaim contexts, which are now detected by lockdep.&lt;br /&gt;
&lt;br /&gt;
The pace on the userspace side has been slow.  There have been a couple&lt;br /&gt;
of fixes to xfs_repair and xfs_db, and xfstests grew a few more testcases.&lt;br /&gt;
&lt;br /&gt;
== XFS status update for June 2009 ==&lt;br /&gt;
&lt;br /&gt;
On June 9th we finally saw the release of Linux 2.6.30.  For XFS&lt;br /&gt;
this release mostly contains the improved ENOSPC handling, but also&lt;br /&gt;
various smaller bugfixes and lots of cleanups.  The code size of XFS&lt;br /&gt;
decreased again by 500 lines of code in this release.&lt;br /&gt;
&lt;br /&gt;
The Linux 2.6.31 merge opened in the mid of the month and some big XFS&lt;br /&gt;
changes have been pushed: A removal of the quotaops&lt;br /&gt;
infrastructure which simplifies the quota implementation, the switch&lt;br /&gt;
from XFS&#039;s own Posix ACL implementation to the generic one shared&lt;br /&gt;
by various other filesystems which also supports in-memory caching of&lt;br /&gt;
ACLs and another incremental refactoring of the sync code.&lt;br /&gt;
&lt;br /&gt;
A patch to better track dirty inodes and work around issues in the&lt;br /&gt;
way the VFS updates the access time stamp on inodes has been reposted&lt;br /&gt;
and discussed. Another patch to converting the existing XFS tracing&lt;br /&gt;
infrastructure to use the ftrace even tracer has been posted.&lt;br /&gt;
&lt;br /&gt;
On the userspace side there have been a few updates to xfsprogs, including&lt;br /&gt;
some repair fixes and a new fallocate command for xfs_io.  There were&lt;br /&gt;
major updates for xfstests:  The existing aio-dio-regress testsuite has&lt;br /&gt;
been merged into xfstests, and various changes went into the tree to make&lt;br /&gt;
xfstests better suitable for use with other filesystems.&lt;br /&gt;
&lt;br /&gt;
The attr and acl projects which have been traditionally been hosted&lt;br /&gt;
as part of the XFS userspace utilities have now been split into a separate&lt;br /&gt;
project maintained by Andreas Gruenbacher, who has been doing most of&lt;br /&gt;
the work on it, and moved to the Savannah hosting platform.&lt;br /&gt;
&lt;br /&gt;
== XFS status update for May 2009 ==&lt;br /&gt;
&lt;br /&gt;
In May Linux 2.6.30 was getting close to be released, and various&lt;br /&gt;
important XFS fixes made it during the latest release candidates.&lt;br /&gt;
In the meantime some big patch series to rework the sync code and&lt;br /&gt;
the inode allocator have been posted for the next merge window.&lt;br /&gt;
&lt;br /&gt;
On the userspace side xfsprogs and xfsdump 3.0.1 were finally released,&lt;br /&gt;
quickly followed by 3.0.2 releases with updated Debian packaging.&lt;br /&gt;
After that various small patches that were held back made it into xfsprogs.&lt;br /&gt;
A patch to add the xfs_reno tool which allows to move inodes around to&lt;br /&gt;
fit into 32 bit inode number space has been posted which is also one&lt;br /&gt;
central aspect of future online shrinking support.&lt;br /&gt;
&lt;br /&gt;
There has been major activity on xfstests including adding generic&lt;br /&gt;
filesystems support to allow running tests that aren&#039;t XFS-specific on&lt;br /&gt;
any Linux filesystems.&lt;br /&gt;
&lt;br /&gt;
== XFS status update for April 2009 ==&lt;br /&gt;
&lt;br /&gt;
In April development for Linux 2.6.30 was in full motion.  A patchset to correct flushing of delayed allocations with near full filesystems has been committed in early April, as well as various smaller fixes. A patch series to improve the behavior of sys_sync has been posted but is waiting for VFS changes queued for Linux 2.6.31.&lt;br /&gt;
&lt;br /&gt;
On the userspace side xfsprogs and xfsdump 3.0.1 have managed to split their release dates into May again after a lot of last-minute build system updates.&lt;br /&gt;
&lt;br /&gt;
== XFS status update for March 2009 ==&lt;br /&gt;
&lt;br /&gt;
Linux 2.6.29 has been released which includes major XFS updates like the&lt;br /&gt;
new generic btree code, a fully functional 32bit compat ioctl implementation&lt;br /&gt;
and the new combined XFS and Linux inode.  (See previous status reports&lt;br /&gt;
for more details). A patch series to improve correctness and performance&lt;br /&gt;
has been posted but not yet applied.  Various minor fixes and cleanups&lt;br /&gt;
have been sent to Linus for 2.6.30 which looks like it will be a minor&lt;br /&gt;
release for XFS after the big churn in 2.6.29.&lt;br /&gt;
&lt;br /&gt;
On userspace a lot of time has been spent on fixing and improving the&lt;br /&gt;
build system shared by the various XFS utilities as well as various smaller&lt;br /&gt;
improvements leading to the xfsprogs and xfsdump 3.0.1 releases which are&lt;br /&gt;
still outstanding.&lt;br /&gt;
&lt;br /&gt;
== XFS status update for February 2009 ==&lt;br /&gt;
&lt;br /&gt;
In February various smaller fixes have been sent to Linus for 2.6.29,&lt;br /&gt;
including a revert of the faster vmap APIs which don&#039;t seem to be quite&lt;br /&gt;
ready yet on the VM side.  At the same time various patches have been&lt;br /&gt;
queued up for 2.6.30, with another big batch pending.  There also has&lt;br /&gt;
been a repost of the CRC patch series, including support for a new,&lt;br /&gt;
larger inode core.&lt;br /&gt;
&lt;br /&gt;
SGI released various bits of work in progress from former employees&lt;br /&gt;
that will be extremely helpful for the future development of XFS,&lt;br /&gt;
thanks a lot to Mark Goodwin for making this happen.&lt;br /&gt;
&lt;br /&gt;
On the userspace side the long awaited 3.0.0 releases of xfsprogs and&lt;br /&gt;
xfsdump finally happened early in the month, accompanied by a 2.2.9&lt;br /&gt;
release of the dmapi userspace.  There have been some issues with packaging&lt;br /&gt;
so a new minor release might follow soon.&lt;br /&gt;
&lt;br /&gt;
The xfs_irecover tool has been relicensed so that it can be merged into&lt;br /&gt;
the GPLv2 codebase of xfsprogs, but the actual integration work hasn&#039;t&lt;br /&gt;
happened yet.&lt;br /&gt;
&lt;br /&gt;
Important bits of XFS documentation that have been available on the XFS&lt;br /&gt;
website in PDF form have been released in the document source form under&lt;br /&gt;
the Creative Commons license so that they can be updated as a community&lt;br /&gt;
effort, and checked into a public git tree.&lt;br /&gt;
&lt;br /&gt;
== XFS status update for January 2009 ==&lt;br /&gt;
&lt;br /&gt;
January has been an extremely busy month on the userspace front.  Many&lt;br /&gt;
smaller and medium updates went into xfsprogs, xfstests and to a lesser&lt;br /&gt;
extent xfsdump.  xfsprogs and xfsdump are ramping up for getting a 3.0.0&lt;br /&gt;
release out in early February which will include the first major re-sync&lt;br /&gt;
with the kernel code in libxfs, a cleanup of the exported library interfaces&lt;br /&gt;
and the move of two tools (xfs_fsr and xfs_estimate) from the xfsdump&lt;br /&gt;
package to xfsprogs.  After this the xfsprogs package will contain all&lt;br /&gt;
tools that use internal libxfs interfaces which fortunately equates to those&lt;br /&gt;
needed for normal administration.  The xfsdump package now only contains&lt;br /&gt;
the xfsdump/xfsrestore tools needed for backing up and restoring XFS&lt;br /&gt;
filesystems.  In addition it grew a fix to support dump/restore on systems&lt;br /&gt;
with a 64k page size.  A large number of acl/attr package patches was&lt;br /&gt;
posted to the list, but pending a possible split of these packages from the&lt;br /&gt;
XFS project these weren&#039;t processed yet.&lt;br /&gt;
&lt;br /&gt;
On the kernel side the big excitement in January was an in-memory corruption&lt;br /&gt;
introduced in the btree refactoring which hit people running 32bit platforms&lt;br /&gt;
without support for large block devices.  This issue was fixed and pushed&lt;br /&gt;
to the 2.6.29 development tree after a long collaborative debugging effort&lt;br /&gt;
at linux.conf.au.  Besides that about a dozen minor fixes were pushed to&lt;br /&gt;
2.6.29 and the first batch of misc patches for the 2.6.30 release cycle&lt;br /&gt;
was sent out.&lt;br /&gt;
&lt;br /&gt;
At the end of December the SGI group in Melbourne which the previous&lt;br /&gt;
XFS maintainer and some other developers worked for has been closed down&lt;br /&gt;
and they will be missed greatly.  As a result maintainership has been passed&lt;br /&gt;
on in a way that has been slightly controversial in the community, and the&lt;br /&gt;
first patchset of work in progress in Melbourne have been posted to the list&lt;br /&gt;
to be picked up by others.&lt;br /&gt;
&lt;br /&gt;
The xfs.org wiki has gotten a little facelift on it&#039;s front page making it&lt;br /&gt;
a lot easier to read.&lt;br /&gt;
&lt;br /&gt;
== XFS status update for December 2008 ==&lt;br /&gt;
&lt;br /&gt;
On Christmas Eve the 2.6.28 mainline kernel was release, with only minor XFS&lt;br /&gt;
bug fixes over 2.6.27.&lt;br /&gt;
&lt;br /&gt;
On the development side December has been busy but unspectacular month.&lt;br /&gt;
All lot of misc fixes and improvements have been sent out, tested and committed&lt;br /&gt;
especially on the user land side.&lt;br /&gt;
&lt;br /&gt;
== XFS status update for November 2008 ==&lt;br /&gt;
&lt;br /&gt;
The mainline kernel is now at 2.6.28-rc6 and includes a small number of&lt;br /&gt;
XFS fixes.  There have been no updates to the XFS development tree during&lt;br /&gt;
November.  Without new regressions that large number of changes that&lt;br /&gt;
missed 2.6.28 has thus stabilized to be ready for 2.6.29.  In the meantime&lt;br /&gt;
kernel-side development has been slow, with the only major patch set&lt;br /&gt;
being a wide number of fixes to the compatibility for 32 bit ioctls on&lt;br /&gt;
a 64 bit kernel.&lt;br /&gt;
&lt;br /&gt;
In the meantime there has been a large number of commits to the user space&lt;br /&gt;
tree, which mostly consist of smaller fixes.  xfsprogs is getting close&lt;br /&gt;
to have the 3.0.0 release which will be the first full resync with the&lt;br /&gt;
kernel sources since the year 2005.&lt;br /&gt;
&lt;br /&gt;
== XFS status update for October 2008 ==&lt;br /&gt;
&lt;br /&gt;
Linux 2.6.27 released with all the bits covered in last month&#039;s report.  It&lt;br /&gt;
did however miss two important fixes for regressions that a few people hit.&lt;br /&gt;
2.6.27.3 or later are recommended for use with XFS.&lt;br /&gt;
&lt;br /&gt;
In the meantime the generic btree implementation, the sync reorganization&lt;br /&gt;
and after a lot of merge pain the XFS and VFS inode unification hit the&lt;br /&gt;
development tree during the time allocated for the merge window.  No XFS&lt;br /&gt;
updates other than the two regression fixes also in 2.6.27.3 have made it&lt;br /&gt;
into mainline as of 2.6.28-rc3.&lt;br /&gt;
&lt;br /&gt;
The only new feature on the list in October is support for the fiemap&lt;br /&gt;
interface that has been added to the VFS during the 2.6.28 merge window.&lt;br /&gt;
However there was lot of patch traffic consisting of fixes and respun&lt;br /&gt;
versions of previously known patches.  There still is a large backlog of&lt;br /&gt;
patches on the list that is not applied to the development tree yet.&lt;br /&gt;
&lt;br /&gt;
== XFS status update for September 2008 ==&lt;br /&gt;
&lt;br /&gt;
With Linux 2.6.27 still not released but only making slow progress from 2.6.27-rc5 to 2.6.27-rc8 XFS changes in mainline have been minimal in September with only about half a dozen bug fixes patches.&lt;br /&gt;
&lt;br /&gt;
In the meantime the generic btree patch set has been committed to the development tree, but not many other updates yet. On the user space side xfsprogs 2.10.1 has been released on September 5th with a number of important bug fixes. Following the release of xfsprogs 2.10.1 open season for development of the user space code has started. The first full update of the shared kernel / user space code in libxfs since 2005 has been committed. In addition to that the number of headers installed for the regular devel package has been reduced to the required minimum and support for checking the source code for endianess errors using sparse has been added.&lt;br /&gt;
&lt;br /&gt;
The patch sets to unify the XFS and Linux inode structures, and rewrite various bits of the sync code have seen various iterations on the XFS list, but haven&#039;t been committed yet. A first set of patches implementing CRCs for various metadata structures has been posted to the list.&lt;br /&gt;
&lt;br /&gt;
== XFS status update for August 2008 ==&lt;br /&gt;
&lt;br /&gt;
With the 2.6.27-rc5 release the 2.6.27 cycle is nearing it&#039;s end. The major XFS feature in 2.6.27-rc5 is support for case-insensitive file names. At this point it is still limited to 7bit ASCII file names, with updates for utf8 file names expected to follow later. In addition to that 2.6.27-rc5 fixes a long-standing problem with non-EABI arm compiler which pack some XFS data structures wrongly. Besides this 2.6.27-rc5 also contains various cleanups, most notably the removal of the last bhv_vnode_t instances, and most uses of semaphores. As usual the diffstat for XFS from 2.6.26 to 2.6.26-rc5 is negative:&lt;br /&gt;
&lt;br /&gt;
       100 files changed, 3819 insertions(+), 4409 deletions(-)&lt;br /&gt;
&lt;br /&gt;
On the user space front a new minor xfsprogs version is about to be released containing various fixes including the user space part of arm packing fix.&lt;br /&gt;
&lt;br /&gt;
Work in progress on the XFS mailing list are a large patch set to unify the alloc, inobt and bmap btree implementation into a single that supports arbitrarily pluggable key and record formats. These btree changes are the first major preparation for adding CRC checks to all metadata structures in XFS, and an even larger patch set to unify the XFS and Linux inode structures, and perform all inode write back from the btree uses instead of an inode cache in XFS.&lt;br /&gt;
&lt;br /&gt;
== Updates before 2008 ==&lt;br /&gt;
&lt;br /&gt;
News up to 2007 can be found on a separate page: [[OLD_News]]&lt;/div&gt;</summary>
		<author><name>Hch</name></author>
	</entry>
	<entry>
		<id>https://xfs.org/index.php?title=Main_Page&amp;diff=2111</id>
		<title>Main Page</title>
		<link rel="alternate" type="text/html" href="https://xfs.org/index.php?title=Main_Page&amp;diff=2111"/>
		<updated>2010-10-03T06:33:48Z</updated>

		<summary type="html">&lt;p&gt;Hch: remove the duplicate oss.sgi.com link in the developer section&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;!-- Welcome &lt;br /&gt;
&amp;lt;div style=&amp;quot;margin:0; margin-top:10px; margin-right:10px; border:1px solid #dfdfdf; padding:0 1em 1em 1em; background-color:#C5C5FF; align:right;&amp;quot;&amp;gt;&lt;br /&gt;
Welcome to XFS.org. This site is set up to help with the XFS file system.&amp;lt;/div&amp;gt;&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
{| width=&amp;quot;100%&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;vertical-align:top&amp;quot; |&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Information --&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin:0; margin-top:10px; margin-right:10px; border:1px solid #dfdfdf; padding:0 1em 1em 1em; background-color:#E2EAFF; align:right;&amp;quot;&amp;gt;&lt;br /&gt;
== Information about XFS ==&lt;br /&gt;
&lt;br /&gt;
* [[XFS FAQ]]&lt;br /&gt;
* [[XFS Status Updates]]&lt;br /&gt;
* [[XFS Papers and Documentation]]&lt;br /&gt;
* [[Linux Distributions shipping XFS]]&lt;br /&gt;
* [[XFS Rpm for RedHat]]&lt;br /&gt;
* [[XFS Companies]]&lt;br /&gt;
* [http://oss.sgi.com/projects/xfs SGI XFS website]&lt;br /&gt;
* [http://en.wikipedia.org/wiki/XFS Wikipedia XFS page]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Consulting --&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin:0; margin-top:10px; margin-right:10px; border:1px solid #dfdfdf; padding:0 1em 1em 1em; background-color:#fffff0; align:right; &amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Professional XFS Consulting Services == &lt;br /&gt;
&lt;br /&gt;
[[Consulting Resources]]&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
| width=&amp;quot;50%&amp;quot; style=&amp;quot;vertical-align:top&amp;quot; |&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Developers --&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin:0; margin-top:10px; margin-right:10px; border:1px solid #dfdfdf; padding:0 1em 1em 1em; background-color:#F8F8FF; align:right;&amp;quot;&amp;gt;&lt;br /&gt;
== XFS Developer Resources ==&lt;br /&gt;
&lt;br /&gt;
* [[XFS email list and archives]]&lt;br /&gt;
* [http://oss.sgi.com/bugzilla/buglist.cgi?product=XFS&amp;amp;bug_status=NEW&amp;amp;bug_status=ASSIGNED&amp;amp;bug_status=REOPENED Bugzilla @ oss.sgi.com]&lt;br /&gt;
* [http://bugzilla.kernel.org/buglist.cgi?product=File+System&amp;amp;component=XFS&amp;amp;bug_status=NEW&amp;amp;bug_status=ASSIGNED&amp;amp;bug_status=REOPENED Bugzilla @ kernel.org]&lt;br /&gt;
* [[Getting the latest source code]]&lt;br /&gt;
* [[Unfinished work]]&lt;br /&gt;
* [[Shrinking Support]]&lt;br /&gt;
* [[Ideas for XFS]]&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{#meta: | u+4/+rib+YG96TifD0SN88xS84YSDm2cl61IU7ZIk9g= | verify-v1 }}&lt;br /&gt;
&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>Hch</name></author>
	</entry>
	<entry>
		<id>https://xfs.org/index.php?title=Main_Page&amp;diff=2110</id>
		<title>Main Page</title>
		<link rel="alternate" type="text/html" href="https://xfs.org/index.php?title=Main_Page&amp;diff=2110"/>
		<updated>2010-10-03T06:32:35Z</updated>

		<summary type="html">&lt;p&gt;Hch: remove the old news link - it&amp;#039;s not relevant for todays users and can now be found at the end of the status updates&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;!-- Welcome &lt;br /&gt;
&amp;lt;div style=&amp;quot;margin:0; margin-top:10px; margin-right:10px; border:1px solid #dfdfdf; padding:0 1em 1em 1em; background-color:#C5C5FF; align:right;&amp;quot;&amp;gt;&lt;br /&gt;
Welcome to XFS.org. This site is set up to help with the XFS file system.&amp;lt;/div&amp;gt;&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
{| width=&amp;quot;100%&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;vertical-align:top&amp;quot; |&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Information --&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin:0; margin-top:10px; margin-right:10px; border:1px solid #dfdfdf; padding:0 1em 1em 1em; background-color:#E2EAFF; align:right;&amp;quot;&amp;gt;&lt;br /&gt;
== Information about XFS ==&lt;br /&gt;
&lt;br /&gt;
* [[XFS FAQ]]&lt;br /&gt;
* [[XFS Status Updates]]&lt;br /&gt;
* [[XFS Papers and Documentation]]&lt;br /&gt;
* [[Linux Distributions shipping XFS]]&lt;br /&gt;
* [[XFS Rpm for RedHat]]&lt;br /&gt;
* [[XFS Companies]]&lt;br /&gt;
* [http://oss.sgi.com/projects/xfs SGI XFS website]&lt;br /&gt;
* [http://en.wikipedia.org/wiki/XFS Wikipedia XFS page]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Consulting --&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin:0; margin-top:10px; margin-right:10px; border:1px solid #dfdfdf; padding:0 1em 1em 1em; background-color:#fffff0; align:right; &amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Professional XFS Consulting Services == &lt;br /&gt;
&lt;br /&gt;
[[Consulting Resources]]&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
| width=&amp;quot;50%&amp;quot; style=&amp;quot;vertical-align:top&amp;quot; |&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Developers --&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin:0; margin-top:10px; margin-right:10px; border:1px solid #dfdfdf; padding:0 1em 1em 1em; background-color:#F8F8FF; align:right;&amp;quot;&amp;gt;&lt;br /&gt;
== XFS Developer Resources ==&lt;br /&gt;
&lt;br /&gt;
* [[XFS email list and archives]]&lt;br /&gt;
* [http://oss.sgi.com/projects/xfs Main sgi xfs website]&lt;br /&gt;
* [http://oss.sgi.com/bugzilla/buglist.cgi?product=XFS&amp;amp;bug_status=NEW&amp;amp;bug_status=ASSIGNED&amp;amp;bug_status=REOPENED Bugzilla @ oss.sgi.com]&lt;br /&gt;
* [http://bugzilla.kernel.org/buglist.cgi?product=File+System&amp;amp;component=XFS&amp;amp;bug_status=NEW&amp;amp;bug_status=ASSIGNED&amp;amp;bug_status=REOPENED Bugzilla @ kernel.org]&lt;br /&gt;
* [[Getting the latest source code]]&lt;br /&gt;
* [[Unfinished work]]&lt;br /&gt;
* [[Shrinking Support]]&lt;br /&gt;
* [[Ideas for XFS]]&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{#meta: | u+4/+rib+YG96TifD0SN88xS84YSDm2cl61IU7ZIk9g= | verify-v1 }}&lt;br /&gt;
&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>Hch</name></author>
	</entry>
	<entry>
		<id>https://xfs.org/index.php?title=XFS_Status_Updates&amp;diff=2109</id>
		<title>XFS Status Updates</title>
		<link rel="alternate" type="text/html" href="https://xfs.org/index.php?title=XFS_Status_Updates&amp;diff=2109"/>
		<updated>2010-10-03T06:32:00Z</updated>

		<summary type="html">&lt;p&gt;Hch: add link to the old new page&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== XFS status update for August 2010 ==&lt;br /&gt;
&lt;br /&gt;
At the first of August we finally saw the release of Linux 2.6.35,&lt;br /&gt;
which includes a large XFS update.  The most prominent feature in&lt;br /&gt;
Linux 2.6.35 is the new delayed logging code which provides massive&lt;br /&gt;
speedups for metadata-intensive workloads, but there has been&lt;br /&gt;
a large amount of other fixes and cleanups, leading to the following&lt;br /&gt;
diffstat:&lt;br /&gt;
&lt;br /&gt;
         67 files changed, 4426 insertions(+), 3835 deletions(-)&lt;br /&gt;
&lt;br /&gt;
Given the early release of Linux 2.6.35 the merge window for the&lt;br /&gt;
next release fully fell into the month of August.  The XFS updates&lt;br /&gt;
for Linux 2.6.36 include various additional performance improvements&lt;br /&gt;
in the delayed logging code, for direct I/O writes and for avoiding&lt;br /&gt;
synchronous transactions, as well as various fixed and large amount&lt;br /&gt;
of cleanups, including the removal of the remaining dead DMAPI&lt;br /&gt;
code.&lt;br /&gt;
&lt;br /&gt;
On the userspace side we saw the 3.1.3 release of xfsprogs, which includes&lt;br /&gt;
various smaller fixes, support for the new XFS_IOC_ZERO_RANGE ioctl and&lt;br /&gt;
Debian packaging updates.  The xfstests package saw one new test case&lt;br /&gt;
and a couple of smaller patches, and xfsdump has not seen any updates at&lt;br /&gt;
all.&lt;br /&gt;
&lt;br /&gt;
The XMLified versions of the XFS users guide, training labs and filesystem&lt;br /&gt;
structure documentation are now available as on the fly generated html on&lt;br /&gt;
the xfs.org website and can be found at [[XFS_Papers_and_Documentation|Papers &amp;amp; Documentation]].&lt;br /&gt;
&lt;br /&gt;
== XFS status update for July 2010 ==&lt;br /&gt;
&lt;br /&gt;
July saw three more release candidates for the Linux 2.6.35 kernel, which&lt;br /&gt;
included a relatively large number of XFS updates.  There were two security&lt;br /&gt;
fixes, a small one to prevent swapext to operate on write-only file&lt;br /&gt;
descriptors, and a much larger one to properly validate inode numbers&lt;br /&gt;
coming from NFS clients or userspace applications using the bulkstat or&lt;br /&gt;
the open-by-handle interfaces.  In addition to that another relatively&lt;br /&gt;
large patch fixes the way inodes get reclaimed in the background, and&lt;br /&gt;
avoids inode caches growing out of bounds.&lt;br /&gt;
&lt;br /&gt;
In the meantime the code for the Linux 2.6.36 got the last touches before&lt;br /&gt;
the expected opening of the merge window, by merging a few more last&lt;br /&gt;
minute fixes and cleanups.  The most notable one is a patch series&lt;br /&gt;
that fixes in-memory corruption when concurrently accessing unwritten&lt;br /&gt;
extents using the in-kernel AIO code.&lt;br /&gt;
&lt;br /&gt;
The userspace side was still quite slow, but some a bit more activity&lt;br /&gt;
than June.  In xfsprogs the xfs_db code grew two bug fixes, as did&lt;br /&gt;
the xfs_io script.  The xfstests package saw one new test cases and&lt;br /&gt;
various fixes to existing code.  Last but not least a few patches&lt;br /&gt;
affecting the build system for all userspace tools were committed.&lt;br /&gt;
&lt;br /&gt;
== XFS status update for June 2010 ==&lt;br /&gt;
&lt;br /&gt;
The month of June saw a few important bug fixes for the Linux 2.6.35&lt;br /&gt;
release candidates.  That includes ensuring that files used for the&lt;br /&gt;
swapext ioctl are writable to the user, and doing proper validation&lt;br /&gt;
of inodes coming from untrusted sources, such as NFS exporting and&lt;br /&gt;
the open by handle system calls.  The main work however has been&lt;br /&gt;
focused on development for the Linux 2.6.36 merge window, including&lt;br /&gt;
merging various patches that have been out on the mainline list&lt;br /&gt;
for a long time.  Highlights include further performance improvements&lt;br /&gt;
for sync heavy metadata workloads, stack space reduction in the&lt;br /&gt;
writeback path and improvements of the XFS tracing infrastructure.&lt;br /&gt;
Also after some discussion the remaining hooks for DMAPI are going&lt;br /&gt;
to be dropped in mainline.   As a replacement a tree containing&lt;br /&gt;
full DMAPI support with a slightly cleaner XFS interaction will be&lt;br /&gt;
hosted by SGI.&lt;br /&gt;
&lt;br /&gt;
On the userspace side June was a rather slow month, with no updates&lt;br /&gt;
to xfsprogs and xfsdump at all, and just one new test case and a cleanup&lt;br /&gt;
applied to xfstests.&lt;br /&gt;
&lt;br /&gt;
== XFS status update for May 2010 ==&lt;br /&gt;
&lt;br /&gt;
In May 2010 we saw the long awaited release of Linux 2.6.34, which includes&lt;br /&gt;
a large XFS update.  The most important features appearing in 2.6.34 was the&lt;br /&gt;
new inode and quota flushing code, which leads to much better I/O patterns&lt;br /&gt;
for metadata-intensive workloads.  Additionally support for synchronous NFS&lt;br /&gt;
exports has been improved to give much better performance, and performance&lt;br /&gt;
for the fsync, fdatasync and sync system calls has been improved slightly.&lt;br /&gt;
A bug when resizing extremely busy filesystems has been fixed, which required&lt;br /&gt;
extensive modification to the data structure used for looking up the&lt;br /&gt;
per-allocation group data.  Last but not least there was a steady flow of&lt;br /&gt;
minor bug fixes and cleanups, leading to the following diffstat from&lt;br /&gt;
2.6.33 to 2.6.34:&lt;br /&gt;
&lt;br /&gt;
  86 files changed, 3209 insertions(+), 3178 deletions(-)&lt;br /&gt;
&lt;br /&gt;
Meanwhile active development aimed at 2.6.35 merge progressed.  The&lt;br /&gt;
major feature for this window is the merge of the delayed logging code,&lt;br /&gt;
which adds a new logging mode that dramatically reduces the bandwidth&lt;br /&gt;
required for log I/O.  See the &lt;br /&gt;
[http://git.kernel.org/?p=linux/kernel/git/torvalds/linux-2.6.git;a=blob;f=Documentation/filesystems/xfs-delayed-logging-design.txt;h=96d0df28bed323d5596fc051b0ffb96ed8e3c8df;hb=HEAD documentation] for details.  Testers&lt;br /&gt;
for this new code are welcome.&lt;br /&gt;
&lt;br /&gt;
In userland xfsprogs saw the long awaited 3.1.2 release, which can be&lt;br /&gt;
considered a bug fix release for xfs_repair, xfs_fsr and mkfs.xfs.  After&lt;br /&gt;
the release a few more fixes were merged into the development tree.&lt;br /&gt;
The xfstests package saw various new tests, including many tests to&lt;br /&gt;
exercise the quota code, and a few fixes to existing tests.&lt;br /&gt;
&lt;br /&gt;
== XFS status update for April 2010 ==&lt;br /&gt;
&lt;br /&gt;
In April 2.6.34 still was in the release candidate phase, with&lt;br /&gt;
a hand full of XFS fixes making it into mainline.  Development for&lt;br /&gt;
the 2.6.35 merge window went ahead full steam at the same time.&lt;br /&gt;
&lt;br /&gt;
While a fair amount of patches hit the development tree these were&lt;br /&gt;
largely cleanups, with the real development activity happening on&lt;br /&gt;
the mailing list.  There was another round of patches and following&lt;br /&gt;
discussion on the scalable busy extent tracking and delayed logging&lt;br /&gt;
features mentioned last month.  They are expected to be merged in&lt;br /&gt;
May and queue up for the Linux 2.6.35 window.  Last but not least&lt;br /&gt;
April saw a large number of XFS fixes backported to the 2.6.32 and&lt;br /&gt;
2.6.33 -stable series.&lt;br /&gt;
&lt;br /&gt;
In user land xfsprogs has seen few but important updates, preparing&lt;br /&gt;
for a new release next month.  The xfs_repair tool saw a fix to&lt;br /&gt;
correctly enable the lazy superblock counters on an existing&lt;br /&gt;
filesystem, and xfs_fsr saw updates to better deal with dynamic&lt;br /&gt;
attribute forks.  Last but not a least a port to Debian GNU/kFreeBSD&lt;br /&gt;
got merged. The xfstests test suite saw two new test cases and various&lt;br /&gt;
smaller fixes.&lt;br /&gt;
&lt;br /&gt;
== XFS status update for March 2010 ==&lt;br /&gt;
&lt;br /&gt;
The merge window for Linux 2.6.34 closed in the first week of March,&lt;br /&gt;
with the important XFS features already landing in February.  Not&lt;br /&gt;
surprisingly the XFS merge activity in March has been rather slow,&lt;br /&gt;
with only about a dozen bug fixes patches making it towards Linus&#039;&lt;br /&gt;
tree in that time.&lt;br /&gt;
&lt;br /&gt;
On the other hand active development for the 2.6.35 merge window has&lt;br /&gt;
been very active.  Most importantly there was a lot of work on the&lt;br /&gt;
transaction and log subsystems.  Starting with a large patchset to&lt;br /&gt;
clean up and refactor the transaction subsystem and introducing more&lt;br /&gt;
flexible I/O containers in the low-level logging code work is&lt;br /&gt;
progressing to a new, more efficient logging implementation.  While&lt;br /&gt;
this preparatory work has already been merged in the development tree,&lt;br /&gt;
the actual delayed logging implementation still needs more work after&lt;br /&gt;
the initial public posting.  The delayed logging implementation which&lt;br /&gt;
is very briefly modeled after the journaling mode in the ext3/4&lt;br /&gt;
and reiserfs filesystems allows to accumulated multiple asynchronous&lt;br /&gt;
transactions in memory instead of possibly writing them out&lt;br /&gt;
many times.  Using the new delayed logging mechanism I/O bandwidth&lt;br /&gt;
used for the log decreases by orders of magnitude and performance&lt;br /&gt;
on metadata intensive workloads increases massively.&lt;br /&gt;
&lt;br /&gt;
In addition to that a new version of the discard (aka TRIM) support&lt;br /&gt;
has been posted, this time entirely contained in kernel space&lt;br /&gt;
and without the need of a userspace utility to drive it.  Last but&lt;br /&gt;
not least the usual steady stream of cleanups and bug fixes has not&lt;br /&gt;
ceased this month either.&lt;br /&gt;
&lt;br /&gt;
Besides the usual flow of fixes and new test cases in the xfstests&lt;br /&gt;
test suite development on the userspace side has been rather slow.&lt;br /&gt;
Xfsprogs has only seen a single fix for SMP locking in xfs_repair&lt;br /&gt;
and support for building on Debian GNU/kFreeBSD, and xfsdump&lt;br /&gt;
has seen no commit at all.&lt;br /&gt;
&lt;br /&gt;
== XFS status update for February 2010 ==&lt;br /&gt;
&lt;br /&gt;
February saw the release of the Linux 2.6.33 kernel, which includes&lt;br /&gt;
a large XFS update.  The biggest user-visible change in Linux 2.6.33&lt;br /&gt;
is that XFS now support the generic Linux trace event infrastructure,&lt;br /&gt;
which allows tracing lots of XFS behavior with a normal production&lt;br /&gt;
built kernel.  Except for this Linux 2.6.33 has been mostly a bug-fix&lt;br /&gt;
release, fixing various user reported bugs in previous releases.&lt;br /&gt;
The total diffstat for XFS in Linux 2.6.33 looks like:&lt;br /&gt;
&lt;br /&gt;
  84 files changed, 3023 insertions(+), 3550 deletions(-)&lt;br /&gt;
&lt;br /&gt;
In addition to that the merge window for Linux 2.6.34 opened and the&lt;br /&gt;
first merge of the XFS tree made it into Linus tree.  Unlike Linux&lt;br /&gt;
2.6.33 this merge window includes major feature work.  The most&lt;br /&gt;
important change for users is a new algorithm for inode and quota&lt;br /&gt;
writeback that leads to better I/O locality and improved metadata&lt;br /&gt;
performance.  The second big change is a rewrite of the per-allocation&lt;br /&gt;
group data lookup which fixes a long-standing problem in the code&lt;br /&gt;
to grow a life filesystem and will also ease future filesystem&lt;br /&gt;
shrinking support.  Not merged through the XFS tree, but of great&lt;br /&gt;
importance for embedded users is a new API that allows XFS to properly&lt;br /&gt;
flush cache lines on it&#039;s log and large directory buffers, making&lt;br /&gt;
XFS work properly on architectures with virtually indexed caches,&lt;br /&gt;
such as parisc and various arm and mips variants.  Last but not&lt;br /&gt;
least there is an above average amount of cleanups that went into&lt;br /&gt;
Linus tree in this cycle.&lt;br /&gt;
&lt;br /&gt;
There have been more patches on the mailing list that haven&#039;t made&lt;br /&gt;
it to Linus tree yet, including an optimized implementation of&lt;br /&gt;
fdatasync(2) and massive speedups for metadata workloads on&lt;br /&gt;
NFS exported XFS filesystems.&lt;br /&gt;
&lt;br /&gt;
On the userspace side February has been a relatively quite month.&lt;br /&gt;
Lead by xfstests only a moderate amount of fixes made it into&lt;br /&gt;
the respective trees.&lt;br /&gt;
&lt;br /&gt;
== XFS status update for January 2010 ==&lt;br /&gt;
&lt;br /&gt;
January saw additional release candidates of the Linux 2.6.33 kernel,&lt;br /&gt;
including a couple of bug fixes for XFS.  In the meantime the XFS tree&lt;br /&gt;
has been growing a large number of patches destined for the Linux 2.6.34&lt;br /&gt;
merge window: a large rework of the handling of per-AG data, support for&lt;br /&gt;
the quota netlink interface, and better power saving behavior of the&lt;br /&gt;
XFS kernel threads, and of course various cleanups.&lt;br /&gt;
&lt;br /&gt;
A large patch series to replace the current asynchronous inode writeback&lt;br /&gt;
with a new scheme that uses the delayed write buffers was posted to&lt;br /&gt;
the list.  The new scheme, which allows archive better I/O locality by&lt;br /&gt;
dispatching meta-data I/O from a single place has been discussed&lt;br /&gt;
extensively and is expected to be merged in February.&lt;br /&gt;
&lt;br /&gt;
On the userspace side January saw the 3.1.0 and 3.1.1 releases of xfsprogs,&lt;br /&gt;
as well as the 3.0.4 release of xfsdump.  The biggest changes in xfsprogs&lt;br /&gt;
3.1.0 were optimizations in xfs_repair that lead to a much lower memory&lt;br /&gt;
usage, and optional use of the blkid library for filesystem detection&lt;br /&gt;
and retrieving storage topology information.  The 3.1.1 release contained&lt;br /&gt;
various important bug fixes for these changes and a various improvements to&lt;br /&gt;
the build system.  The major feature of xfsdump 3.0.4 were fixes for&lt;br /&gt;
time stamp handling on 64-bit systems.&lt;br /&gt;
&lt;br /&gt;
The xfstests package also lots of activity including various new testcases&lt;br /&gt;
and an improved build system.&lt;br /&gt;
&lt;br /&gt;
== XFS status update for December 2009 ==&lt;br /&gt;
&lt;br /&gt;
December finally saw the long awaited release of Linux 2.6.32, which for&lt;br /&gt;
XFS is mostly a bug fix release, with the major changes being various&lt;br /&gt;
improvement to the sync path, including working around the expectation&lt;br /&gt;
from the grub boot loader where metadata is supposed to be after a sync()&lt;br /&gt;
system call.  Together with a refactoring of the inode allocator this&lt;br /&gt;
gives a nice diffstat for this kernel release:&lt;br /&gt;
&lt;br /&gt;
 46 files changed, 767 insertions(+), 1048 deletions(-)&lt;br /&gt;
&lt;br /&gt;
In the meantime development for the 2.6.33 has been going strong.  The&lt;br /&gt;
new event tracing code that allows to observe the inner workings of XFS&lt;br /&gt;
in production systems has finally been merged, with another patch to&lt;br /&gt;
reduce the size of the tracing code by using new upstream kernel features&lt;br /&gt;
posted for review.  Also a large patch series has been posted which&lt;br /&gt;
changes per-AG data to be looked up by a radix tree instead of the&lt;br /&gt;
existing array.  This works around possible deadlocks and user after&lt;br /&gt;
free issues during growfs, and prepares for removing a global (shared)&lt;br /&gt;
lock from the free space allocators.  In addition to that a wide range&lt;br /&gt;
of fixes has been posted and applied.&lt;br /&gt;
&lt;br /&gt;
Work on the userspace packages has been just as busy.  In mkfs.xfs the&lt;br /&gt;
lazy superblock counter feature has now been enabled by default for the&lt;br /&gt;
upcoming xfsprogs 3.1.0 release, which will require kernel 2.6.22 for&lt;br /&gt;
the default mkfs invocation.  Also for mkfs.xfs as patch was posted&lt;br /&gt;
to correct the automatic detection of 4 kilobyte sector drivers which&lt;br /&gt;
are expected to show up in large quantities the real work soon.  The&lt;br /&gt;
norepair mode in xfs_repair has been enhanced with additional freespace&lt;br /&gt;
btree correction checks from xfs_db and is now identical to xfs_check in&lt;br /&gt;
filesystem consistency checking coverage.  A temporary file permission&lt;br /&gt;
problems has been fixed in xfs_fsr, and the libhandle library has been&lt;br /&gt;
fixed to better deal with symbolic links.  In xfs_io a few commands&lt;br /&gt;
that were added years ago have finally been wired up to actually be&lt;br /&gt;
usable.  And last but not least xfsdump saw a fix to the time stamp&lt;br /&gt;
handling in the backup format and some usability and documentation&lt;br /&gt;
improvements to xfsinvutil.&lt;br /&gt;
&lt;br /&gt;
== XFS status update for November 2009 ==&lt;br /&gt;
&lt;br /&gt;
November was a relatively slow month for XFS development.  The XFS tree&lt;br /&gt;
that is destined for the Linux 2.6.33 merge window saw a few fixes and&lt;br /&gt;
cleanups applied to it, and few important fixes still made it into the&lt;br /&gt;
last Linux 2.6.32 release candidates.  A few more patches including a&lt;br /&gt;
final version of the event tracing support for XFS were posted but not&lt;br /&gt;
reviewed yet.&lt;br /&gt;
&lt;br /&gt;
On the userspace side there has been a fair amount of xfsprogs activity.&lt;br /&gt;
The repair speedup patches have finally been merged into the main development&lt;br /&gt;
branch and a couple of other fixes to the various utilities made it in, too.&lt;br /&gt;
The xfstests test suite saw another new regression test suite and a build&lt;br /&gt;
system fix up.&lt;br /&gt;
&lt;br /&gt;
== XFS status update for October 2009 ==&lt;br /&gt;
In October we saw the Linux 2.6.32 merge window with a major XFS update.&lt;br /&gt;
This update includes a refactoring of the inode allocator which also&lt;br /&gt;
allows for speedups for very large filesystems, major sync fixes, updates&lt;br /&gt;
to the fsync and O_SYNC handling which merge the two code paths into a single&lt;br /&gt;
and more efficient one, a workaround for the VFS time stamp behavior,&lt;br /&gt;
and of course various smaller fixes.  A couple of additional fixes have been&lt;br /&gt;
queued up for the next merge window.&lt;br /&gt;
&lt;br /&gt;
On the userspace side there has been a healthy activity on xfsprogs:  mkfs can&lt;br /&gt;
now discard unused sectors on SSDs and thinly provisioned storage devices and&lt;br /&gt;
use the more generic libblkid for topology information and filesystems detection&lt;br /&gt;
instead of the older libdisk, and the build system gained some updates to&lt;br /&gt;
make the source package generation simpler and shared for different package&lt;br /&gt;
types.  A patch has been out to the list but yet committed to add symbol&lt;br /&gt;
versioning to the libhandle library to make future ABI additions easier.&lt;br /&gt;
The xfstests package only saw some minor activity with a new test case&lt;br /&gt;
and small build system fixes.&lt;br /&gt;
&lt;br /&gt;
New minor releases of xfsprogs and xfsdump were tagged but not formally&lt;br /&gt;
released after additional discussion.  Instead a new major xfsprogs release&lt;br /&gt;
is planned for next month.&lt;br /&gt;
&lt;br /&gt;
== XFS status update for September 2009 ==&lt;br /&gt;
&lt;br /&gt;
In September the Linux 2.6.31 kernel was finally released, including another&lt;br /&gt;
last minute XFS fix for the swapext (defragmentation) compat ioctl handler.&lt;br /&gt;
The final patch from 2.6.30 to 2.6.31 shows the following impressive diffstat&lt;br /&gt;
for XFS:&lt;br /&gt;
&lt;br /&gt;
   55 files changed, 1476 insertions(+), 2269 deletions(-)&lt;br /&gt;
&lt;br /&gt;
The 2.6.32 merge window started with a large XFS merge that included changes&lt;br /&gt;
to the inode allocator, and a few smaller fixes.  New versions of the sync&lt;br /&gt;
and time stamp fixes as well as the event tracing support have been posted&lt;br /&gt;
in September but not yet merged into the XFS development tree and/or mainline.&lt;br /&gt;
&lt;br /&gt;
On the userspace side a large patch series to reduce the memory usage in&lt;br /&gt;
xfs_repair to acceptable levels was posted, but not yet merged.  A new xfs_df&lt;br /&gt;
shell script to measure use of the on disk space was posted but not yet&lt;br /&gt;
merged pending some minor review comments and a missing man page.  In addition&lt;br /&gt;
we saw the usual amount of smaller fixes and cleanups.&lt;br /&gt;
&lt;br /&gt;
Also this month Felix Blyakher resigned from his post as XFS maintainer and handed off to Alex Elder.&lt;br /&gt;
&lt;br /&gt;
== XFS status update for August 2009 ==&lt;br /&gt;
&lt;br /&gt;
In August the Linux 2.6.31 kernel has still been in the release candidate&lt;br /&gt;
stage, but a couple of important XFS fixes made it in time for the release,&lt;br /&gt;
including a fix for the inode cache races with NFS workloads that have&lt;br /&gt;
plagued us for a long time.&lt;br /&gt;
&lt;br /&gt;
The list saw various patches destined for the Linux 2.6.32 merge window,&lt;br /&gt;
including a merge of the fsync and O_SYNC handling code to address various&lt;br /&gt;
issues with the latter, a workaround for deficits in the timestamp handling&lt;br /&gt;
interface between the VFS and filesystems, a repost of the sync improvements&lt;br /&gt;
patch series and various smaller patches.&lt;br /&gt;
&lt;br /&gt;
August also saw the minor 3.0.3 release of xfsprogs which collects smaller&lt;br /&gt;
fixes to the various tools and most importantly a fix to allow xfsprogs to&lt;br /&gt;
work again on SPARC and other strict alignment handling which regressed a&lt;br /&gt;
few releases ago.  The xfstests repository saw a few new test cases and a&lt;br /&gt;
various small improvements.&lt;br /&gt;
&lt;br /&gt;
== XFS status update for July 2009 ==&lt;br /&gt;
&lt;br /&gt;
As a traditional summer vacation month July has not seen a lot of XFS&lt;br /&gt;
activity.  The mainline 2.6.31 kernel made it to the 5th release candidate&lt;br /&gt;
but besides a few kernel-wide patches touching XFS the only activity were&lt;br /&gt;
two small patches fixing a bug in FIEMAP and working around writeback&lt;br /&gt;
performance problems in the VM.&lt;br /&gt;
&lt;br /&gt;
A few more patches were posted to the list but haven&#039;t been merged yet.&lt;br /&gt;
Two big patch series deal with theoretically possible deadlocks due to&lt;br /&gt;
locks taken in reclaim contexts, which are now detected by lockdep.&lt;br /&gt;
&lt;br /&gt;
The pace on the userspace side has been slow.  There have been a couple&lt;br /&gt;
of fixes to xfs_repair and xfs_db, and xfstests grew a few more testcases.&lt;br /&gt;
&lt;br /&gt;
== XFS status update for June 2009 ==&lt;br /&gt;
&lt;br /&gt;
On June 9th we finally saw the release of Linux 2.6.30.  For XFS&lt;br /&gt;
this release mostly contains the improved ENOSPC handling, but also&lt;br /&gt;
various smaller bugfixes and lots of cleanups.  The code size of XFS&lt;br /&gt;
decreased again by 500 lines of code in this release.&lt;br /&gt;
&lt;br /&gt;
The Linux 2.6.31 merge opened in the mid of the month and some big XFS&lt;br /&gt;
changes have been pushed: A removal of the quotaops&lt;br /&gt;
infrastructure which simplifies the quota implementation, the switch&lt;br /&gt;
from XFS&#039;s own Posix ACL implementation to the generic one shared&lt;br /&gt;
by various other filesystems which also supports in-memory caching of&lt;br /&gt;
ACLs and another incremental refactoring of the sync code.&lt;br /&gt;
&lt;br /&gt;
A patch to better track dirty inodes and work around issues in the&lt;br /&gt;
way the VFS updates the access time stamp on inodes has been reposted&lt;br /&gt;
and discussed. Another patch to converting the existing XFS tracing&lt;br /&gt;
infrastructure to use the ftrace even tracer has been posted.&lt;br /&gt;
&lt;br /&gt;
On the userspace side there have been a few updates to xfsprogs, including&lt;br /&gt;
some repair fixes and a new fallocate command for xfs_io.  There were&lt;br /&gt;
major updates for xfstests:  The existing aio-dio-regress testsuite has&lt;br /&gt;
been merged into xfstests, and various changes went into the tree to make&lt;br /&gt;
xfstests better suitable for use with other filesystems.&lt;br /&gt;
&lt;br /&gt;
The attr and acl projects which have been traditionally been hosted&lt;br /&gt;
as part of the XFS userspace utilities have now been split into a separate&lt;br /&gt;
project maintained by Andreas Gruenbacher, who has been doing most of&lt;br /&gt;
the work on it, and moved to the Savannah hosting platform.&lt;br /&gt;
&lt;br /&gt;
== XFS status update for May 2009 ==&lt;br /&gt;
&lt;br /&gt;
In May Linux 2.6.30 was getting close to be released, and various&lt;br /&gt;
important XFS fixes made it during the latest release candidates.&lt;br /&gt;
In the meantime some big patch series to rework the sync code and&lt;br /&gt;
the inode allocator have been posted for the next merge window.&lt;br /&gt;
&lt;br /&gt;
On the userspace side xfsprogs and xfsdump 3.0.1 were finally released,&lt;br /&gt;
quickly followed by 3.0.2 releases with updated Debian packaging.&lt;br /&gt;
After that various small patches that were held back made it into xfsprogs.&lt;br /&gt;
A patch to add the xfs_reno tool which allows to move inodes around to&lt;br /&gt;
fit into 32 bit inode number space has been posted which is also one&lt;br /&gt;
central aspect of future online shrinking support.&lt;br /&gt;
&lt;br /&gt;
There has been major activity on xfstests including adding generic&lt;br /&gt;
filesystems support to allow running tests that aren&#039;t XFS-specific on&lt;br /&gt;
any Linux filesystems.&lt;br /&gt;
&lt;br /&gt;
== XFS status update for April 2009 ==&lt;br /&gt;
&lt;br /&gt;
In April development for Linux 2.6.30 was in full motion.  A patchset to correct flushing of delayed allocations with near full filesystems has been committed in early April, as well as various smaller fixes. A patch series to improve the behavior of sys_sync has been posted but is waiting for VFS changes queued for Linux 2.6.31.&lt;br /&gt;
&lt;br /&gt;
On the userspace side xfsprogs and xfsdump 3.0.1 have managed to split their release dates into May again after a lot of last-minute build system updates.&lt;br /&gt;
&lt;br /&gt;
== XFS status update for March 2009 ==&lt;br /&gt;
&lt;br /&gt;
Linux 2.6.29 has been released which includes major XFS updates like the&lt;br /&gt;
new generic btree code, a fully functional 32bit compat ioctl implementation&lt;br /&gt;
and the new combined XFS and Linux inode.  (See previous status reports&lt;br /&gt;
for more details). A patch series to improve correctness and performance&lt;br /&gt;
has been posted but not yet applied.  Various minor fixes and cleanups&lt;br /&gt;
have been sent to Linus for 2.6.30 which looks like it will be a minor&lt;br /&gt;
release for XFS after the big churn in 2.6.29.&lt;br /&gt;
&lt;br /&gt;
On userspace a lot of time has been spent on fixing and improving the&lt;br /&gt;
build system shared by the various XFS utilities as well as various smaller&lt;br /&gt;
improvements leading to the xfsprogs and xfsdump 3.0.1 releases which are&lt;br /&gt;
still outstanding.&lt;br /&gt;
&lt;br /&gt;
== XFS status update for February 2009 ==&lt;br /&gt;
&lt;br /&gt;
In February various smaller fixes have been sent to Linus for 2.6.29,&lt;br /&gt;
including a revert of the faster vmap APIs which don&#039;t seem to be quite&lt;br /&gt;
ready yet on the VM side.  At the same time various patches have been&lt;br /&gt;
queued up for 2.6.30, with another big batch pending.  There also has&lt;br /&gt;
been a repost of the CRC patch series, including support for a new,&lt;br /&gt;
larger inode core.&lt;br /&gt;
&lt;br /&gt;
SGI released various bits of work in progress from former employees&lt;br /&gt;
that will be extremely helpful for the future development of XFS,&lt;br /&gt;
thanks a lot to Mark Goodwin for making this happen.&lt;br /&gt;
&lt;br /&gt;
On the userspace side the long awaited 3.0.0 releases of xfsprogs and&lt;br /&gt;
xfsdump finally happened early in the month, accompanied by a 2.2.9&lt;br /&gt;
release of the dmapi userspace.  There have been some issues with packaging&lt;br /&gt;
so a new minor release might follow soon.&lt;br /&gt;
&lt;br /&gt;
The xfs_irecover tool has been relicensed so that it can be merged into&lt;br /&gt;
the GPLv2 codebase of xfsprogs, but the actual integration work hasn&#039;t&lt;br /&gt;
happened yet.&lt;br /&gt;
&lt;br /&gt;
Important bits of XFS documentation that have been available on the XFS&lt;br /&gt;
website in PDF form have been released in the document source form under&lt;br /&gt;
the Creative Commons license so that they can be updated as a community&lt;br /&gt;
effort, and checked into a public git tree.&lt;br /&gt;
&lt;br /&gt;
== XFS status update for January 2009 ==&lt;br /&gt;
&lt;br /&gt;
January has been an extremely busy month on the userspace front.  Many&lt;br /&gt;
smaller and medium updates went into xfsprogs, xfstests and to a lesser&lt;br /&gt;
extent xfsdump.  xfsprogs and xfsdump are ramping up for getting a 3.0.0&lt;br /&gt;
release out in early February which will include the first major re-sync&lt;br /&gt;
with the kernel code in libxfs, a cleanup of the exported library interfaces&lt;br /&gt;
and the move of two tools (xfs_fsr and xfs_estimate) from the xfsdump&lt;br /&gt;
package to xfsprogs.  After this the xfsprogs package will contain all&lt;br /&gt;
tools that use internal libxfs interfaces which fortunately equates to those&lt;br /&gt;
needed for normal administration.  The xfsdump package now only contains&lt;br /&gt;
the xfsdump/xfsrestore tools needed for backing up and restoring XFS&lt;br /&gt;
filesystems.  In addition it grew a fix to support dump/restore on systems&lt;br /&gt;
with a 64k page size.  A large number of acl/attr package patches was&lt;br /&gt;
posted to the list, but pending a possible split of these packages from the&lt;br /&gt;
XFS project these weren&#039;t processed yet.&lt;br /&gt;
&lt;br /&gt;
On the kernel side the big excitement in January was an in-memory corruption&lt;br /&gt;
introduced in the btree refactoring which hit people running 32bit platforms&lt;br /&gt;
without support for large block devices.  This issue was fixed and pushed&lt;br /&gt;
to the 2.6.29 development tree after a long collaborative debugging effort&lt;br /&gt;
at linux.conf.au.  Besides that about a dozen minor fixes were pushed to&lt;br /&gt;
2.6.29 and the first batch of misc patches for the 2.6.30 release cycle&lt;br /&gt;
was sent out.&lt;br /&gt;
&lt;br /&gt;
At the end of December the SGI group in Melbourne which the previous&lt;br /&gt;
XFS maintainer and some other developers worked for has been closed down&lt;br /&gt;
and they will be missed greatly.  As a result maintainership has been passed&lt;br /&gt;
on in a way that has been slightly controversial in the community, and the&lt;br /&gt;
first patchset of work in progress in Melbourne have been posted to the list&lt;br /&gt;
to be picked up by others.&lt;br /&gt;
&lt;br /&gt;
The xfs.org wiki has gotten a little facelift on it&#039;s front page making it&lt;br /&gt;
a lot easier to read.&lt;br /&gt;
&lt;br /&gt;
== XFS status update for December 2008 ==&lt;br /&gt;
&lt;br /&gt;
On Christmas Eve the 2.6.28 mainline kernel was release, with only minor XFS&lt;br /&gt;
bug fixes over 2.6.27.&lt;br /&gt;
&lt;br /&gt;
On the development side December has been busy but unspectacular month.&lt;br /&gt;
All lot of misc fixes and improvements have been sent out, tested and committed&lt;br /&gt;
especially on the user land side.&lt;br /&gt;
&lt;br /&gt;
== XFS status update for November 2008 ==&lt;br /&gt;
&lt;br /&gt;
The mainline kernel is now at 2.6.28-rc6 and includes a small number of&lt;br /&gt;
XFS fixes.  There have been no updates to the XFS development tree during&lt;br /&gt;
November.  Without new regressions that large number of changes that&lt;br /&gt;
missed 2.6.28 has thus stabilized to be ready for 2.6.29.  In the meantime&lt;br /&gt;
kernel-side development has been slow, with the only major patch set&lt;br /&gt;
being a wide number of fixes to the compatibility for 32 bit ioctls on&lt;br /&gt;
a 64 bit kernel.&lt;br /&gt;
&lt;br /&gt;
In the meantime there has been a large number of commits to the user space&lt;br /&gt;
tree, which mostly consist of smaller fixes.  xfsprogs is getting close&lt;br /&gt;
to have the 3.0.0 release which will be the first full resync with the&lt;br /&gt;
kernel sources since the year 2005.&lt;br /&gt;
&lt;br /&gt;
== XFS status update for October 2008 ==&lt;br /&gt;
&lt;br /&gt;
Linux 2.6.27 released with all the bits covered in last month&#039;s report.  It&lt;br /&gt;
did however miss two important fixes for regressions that a few people hit.&lt;br /&gt;
2.6.27.3 or later are recommended for use with XFS.&lt;br /&gt;
&lt;br /&gt;
In the meantime the generic btree implementation, the sync reorganization&lt;br /&gt;
and after a lot of merge pain the XFS and VFS inode unification hit the&lt;br /&gt;
development tree during the time allocated for the merge window.  No XFS&lt;br /&gt;
updates other than the two regression fixes also in 2.6.27.3 have made it&lt;br /&gt;
into mainline as of 2.6.28-rc3.&lt;br /&gt;
&lt;br /&gt;
The only new feature on the list in October is support for the fiemap&lt;br /&gt;
interface that has been added to the VFS during the 2.6.28 merge window.&lt;br /&gt;
However there was lot of patch traffic consisting of fixes and respun&lt;br /&gt;
versions of previously known patches.  There still is a large backlog of&lt;br /&gt;
patches on the list that is not applied to the development tree yet.&lt;br /&gt;
&lt;br /&gt;
== XFS status update for September 2008 ==&lt;br /&gt;
&lt;br /&gt;
With Linux 2.6.27 still not released but only making slow progress from 2.6.27-rc5 to 2.6.27-rc8 XFS changes in mainline have been minimal in September with only about half a dozen bug fixes patches.&lt;br /&gt;
&lt;br /&gt;
In the meantime the generic btree patch set has been committed to the development tree, but not many other updates yet. On the user space side xfsprogs 2.10.1 has been released on September 5th with a number of important bug fixes. Following the release of xfsprogs 2.10.1 open season for development of the user space code has started. The first full update of the shared kernel / user space code in libxfs since 2005 has been committed. In addition to that the number of headers installed for the regular devel package has been reduced to the required minimum and support for checking the source code for endianess errors using sparse has been added.&lt;br /&gt;
&lt;br /&gt;
The patch sets to unify the XFS and Linux inode structures, and rewrite various bits of the sync code have seen various iterations on the XFS list, but haven&#039;t been committed yet. A first set of patches implementing CRCs for various metadata structures has been posted to the list.&lt;br /&gt;
&lt;br /&gt;
== XFS status update for August 2008 ==&lt;br /&gt;
&lt;br /&gt;
With the 2.6.27-rc5 release the 2.6.27 cycle is nearing it&#039;s end. The major XFS feature in 2.6.27-rc5 is support for case-insensitive file names. At this point it is still limited to 7bit ASCII file names, with updates for utf8 file names expected to follow later. In addition to that 2.6.27-rc5 fixes a long-standing problem with non-EABI arm compiler which pack some XFS data structures wrongly. Besides this 2.6.27-rc5 also contains various cleanups, most notably the removal of the last bhv_vnode_t instances, and most uses of semaphores. As usual the diffstat for XFS from 2.6.26 to 2.6.26-rc5 is negative:&lt;br /&gt;
&lt;br /&gt;
       100 files changed, 3819 insertions(+), 4409 deletions(-)&lt;br /&gt;
&lt;br /&gt;
On the user space front a new minor xfsprogs version is about to be released containing various fixes including the user space part of arm packing fix.&lt;br /&gt;
&lt;br /&gt;
Work in progress on the XFS mailing list are a large patch set to unify the alloc, inobt and bmap btree implementation into a single that supports arbitrarily pluggable key and record formats. These btree changes are the first major preparation for adding CRC checks to all metadata structures in XFS, and an even larger patch set to unify the XFS and Linux inode structures, and perform all inode write back from the btree uses instead of an inode cache in XFS.&lt;br /&gt;
&lt;br /&gt;
== Updates before 2008 ==&lt;br /&gt;
&lt;br /&gt;
News up to 2007 can be found on a separate page: [[OLD_News]]&lt;/div&gt;</summary>
		<author><name>Hch</name></author>
	</entry>
	<entry>
		<id>https://xfs.org/index.php?title=Main_Page&amp;diff=2108</id>
		<title>Main Page</title>
		<link rel="alternate" type="text/html" href="https://xfs.org/index.php?title=Main_Page&amp;diff=2108"/>
		<updated>2010-10-03T06:29:40Z</updated>

		<summary type="html">&lt;p&gt;Hch: edit the name of the wikipedia link, remove information that seems out of place on the front page&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;!-- Welcome &lt;br /&gt;
&amp;lt;div style=&amp;quot;margin:0; margin-top:10px; margin-right:10px; border:1px solid #dfdfdf; padding:0 1em 1em 1em; background-color:#C5C5FF; align:right;&amp;quot;&amp;gt;&lt;br /&gt;
Welcome to XFS.org. This site is set up to help with the XFS file system.&amp;lt;/div&amp;gt;&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
{| width=&amp;quot;100%&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;vertical-align:top&amp;quot; |&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Information --&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin:0; margin-top:10px; margin-right:10px; border:1px solid #dfdfdf; padding:0 1em 1em 1em; background-color:#E2EAFF; align:right;&amp;quot;&amp;gt;&lt;br /&gt;
== Information about XFS ==&lt;br /&gt;
&lt;br /&gt;
* [[XFS FAQ]]&lt;br /&gt;
* [[XFS Status Updates]]&lt;br /&gt;
* [[XFS Papers and Documentation]]&lt;br /&gt;
* [[Linux Distributions shipping XFS]]&lt;br /&gt;
* [[XFS Rpm for RedHat]]&lt;br /&gt;
* [[XFS Companies]]&lt;br /&gt;
* [[OLD News]]&lt;br /&gt;
* [http://oss.sgi.com/projects/xfs SGI XFS website]&lt;br /&gt;
* [http://en.wikipedia.org/wiki/XFS Wikipedia XFS page]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Consulting --&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin:0; margin-top:10px; margin-right:10px; border:1px solid #dfdfdf; padding:0 1em 1em 1em; background-color:#fffff0; align:right; &amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Professional XFS Consulting Services == &lt;br /&gt;
&lt;br /&gt;
[[Consulting Resources]]&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
| width=&amp;quot;50%&amp;quot; style=&amp;quot;vertical-align:top&amp;quot; |&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Developers --&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin:0; margin-top:10px; margin-right:10px; border:1px solid #dfdfdf; padding:0 1em 1em 1em; background-color:#F8F8FF; align:right;&amp;quot;&amp;gt;&lt;br /&gt;
== XFS Developer Resources ==&lt;br /&gt;
&lt;br /&gt;
* [[XFS email list and archives]]&lt;br /&gt;
* [http://oss.sgi.com/projects/xfs Main sgi xfs website]&lt;br /&gt;
* [http://oss.sgi.com/bugzilla/buglist.cgi?product=XFS&amp;amp;bug_status=NEW&amp;amp;bug_status=ASSIGNED&amp;amp;bug_status=REOPENED Bugzilla @ oss.sgi.com]&lt;br /&gt;
* [http://bugzilla.kernel.org/buglist.cgi?product=File+System&amp;amp;component=XFS&amp;amp;bug_status=NEW&amp;amp;bug_status=ASSIGNED&amp;amp;bug_status=REOPENED Bugzilla @ kernel.org]&lt;br /&gt;
* [[Getting the latest source code]]&lt;br /&gt;
* [[Unfinished work]]&lt;br /&gt;
* [[Shrinking Support]]&lt;br /&gt;
* [[Ideas for XFS]]&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{#meta: | u+4/+rib+YG96TifD0SN88xS84YSDm2cl61IU7ZIk9g= | verify-v1 }}&lt;br /&gt;
&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>Hch</name></author>
	</entry>
	<entry>
		<id>https://xfs.org/index.php?title=Main_Page&amp;diff=2107</id>
		<title>Main Page</title>
		<link rel="alternate" type="text/html" href="https://xfs.org/index.php?title=Main_Page&amp;diff=2107"/>
		<updated>2010-10-03T06:28:57Z</updated>

		<summary type="html">&lt;p&gt;Hch: move the oss.sgi.com link down and rename it slightly to not make it appear more relevant than it is&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;!-- Welcome &lt;br /&gt;
&amp;lt;div style=&amp;quot;margin:0; margin-top:10px; margin-right:10px; border:1px solid #dfdfdf; padding:0 1em 1em 1em; background-color:#C5C5FF; align:right;&amp;quot;&amp;gt;&lt;br /&gt;
Welcome to XFS.org. This site is set up to help with the XFS file system.&amp;lt;/div&amp;gt;&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
{| width=&amp;quot;100%&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;vertical-align:top&amp;quot; |&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Information --&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin:0; margin-top:10px; margin-right:10px; border:1px solid #dfdfdf; padding:0 1em 1em 1em; background-color:#E2EAFF; align:right;&amp;quot;&amp;gt;&lt;br /&gt;
== Information about XFS ==&lt;br /&gt;
&lt;br /&gt;
* [[XFS FAQ]]&lt;br /&gt;
* [[XFS Status Updates]]&lt;br /&gt;
* [[XFS Papers and Documentation]]&lt;br /&gt;
* [[Linux Distributions shipping XFS]]&lt;br /&gt;
* [[XFS Rpm for RedHat]]&lt;br /&gt;
* [[XFS Companies]]&lt;br /&gt;
* [[OLD News]]&lt;br /&gt;
* [http://oss.sgi.com/projects/xfs SGI XFS website]&lt;br /&gt;
* [http://en.wikipedia.org/wiki/XFS Wikipedia xfs page, good detailed information.]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Consulting --&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin:0; margin-top:10px; margin-right:10px; border:1px solid #dfdfdf; padding:0 1em 1em 1em; background-color:#fffff0; align:right; &amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Professional XFS Consulting Services == &lt;br /&gt;
&lt;br /&gt;
[[Consulting Resources]]&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
| width=&amp;quot;50%&amp;quot; style=&amp;quot;vertical-align:top&amp;quot; |&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Developers --&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin:0; margin-top:10px; margin-right:10px; border:1px solid #dfdfdf; padding:0 1em 1em 1em; background-color:#F8F8FF; align:right;&amp;quot;&amp;gt;&lt;br /&gt;
== XFS Developer Resources ==&lt;br /&gt;
&lt;br /&gt;
* [[XFS email list and archives]]&lt;br /&gt;
* [http://oss.sgi.com/projects/xfs Main sgi xfs website]&lt;br /&gt;
* [http://oss.sgi.com/bugzilla/buglist.cgi?product=XFS&amp;amp;bug_status=NEW&amp;amp;bug_status=ASSIGNED&amp;amp;bug_status=REOPENED Bugzilla @ oss.sgi.com]&lt;br /&gt;
* [http://bugzilla.kernel.org/buglist.cgi?product=File+System&amp;amp;component=XFS&amp;amp;bug_status=NEW&amp;amp;bug_status=ASSIGNED&amp;amp;bug_status=REOPENED Bugzilla @ kernel.org]&lt;br /&gt;
* [[Getting the latest source code]]&lt;br /&gt;
* [[Unfinished work]]&lt;br /&gt;
* [[Shrinking Support]]&lt;br /&gt;
* [[Ideas for XFS]]&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{#meta: | u+4/+rib+YG96TifD0SN88xS84YSDm2cl61IU7ZIk9g= | verify-v1 }}&lt;br /&gt;
&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>Hch</name></author>
	</entry>
	<entry>
		<id>https://xfs.org/index.php?title=Main_Page&amp;diff=2106</id>
		<title>Main Page</title>
		<link rel="alternate" type="text/html" href="https://xfs.org/index.php?title=Main_Page&amp;diff=2106"/>
		<updated>2010-10-03T06:27:57Z</updated>

		<summary type="html">&lt;p&gt;Hch: remove link to the SGI XFS training material - we link to the updated and original version on the documentation page&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;!-- Welcome &lt;br /&gt;
&amp;lt;div style=&amp;quot;margin:0; margin-top:10px; margin-right:10px; border:1px solid #dfdfdf; padding:0 1em 1em 1em; background-color:#C5C5FF; align:right;&amp;quot;&amp;gt;&lt;br /&gt;
Welcome to XFS.org. This site is set up to help with the XFS file system.&amp;lt;/div&amp;gt;&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
{| width=&amp;quot;100%&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;vertical-align:top&amp;quot; |&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Information --&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin:0; margin-top:10px; margin-right:10px; border:1px solid #dfdfdf; padding:0 1em 1em 1em; background-color:#E2EAFF; align:right;&amp;quot;&amp;gt;&lt;br /&gt;
== Information about XFS ==&lt;br /&gt;
&lt;br /&gt;
* [http://oss.sgi.com/projects/xfs Main sgi xfs website]&lt;br /&gt;
* [[XFS FAQ]]&lt;br /&gt;
* [[XFS Status Updates]]&lt;br /&gt;
* [[XFS Papers and Documentation]]&lt;br /&gt;
* [[Linux Distributions shipping XFS]]&lt;br /&gt;
* [[XFS Rpm for RedHat]]&lt;br /&gt;
* [[XFS Companies]]&lt;br /&gt;
* [[OLD News]]&lt;br /&gt;
* [http://en.wikipedia.org/wiki/XFS Wikipedia xfs page, good detailed information.]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Consulting --&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin:0; margin-top:10px; margin-right:10px; border:1px solid #dfdfdf; padding:0 1em 1em 1em; background-color:#fffff0; align:right; &amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Professional XFS Consulting Services == &lt;br /&gt;
&lt;br /&gt;
[[Consulting Resources]]&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
| width=&amp;quot;50%&amp;quot; style=&amp;quot;vertical-align:top&amp;quot; |&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Developers --&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin:0; margin-top:10px; margin-right:10px; border:1px solid #dfdfdf; padding:0 1em 1em 1em; background-color:#F8F8FF; align:right;&amp;quot;&amp;gt;&lt;br /&gt;
== XFS Developer Resources ==&lt;br /&gt;
&lt;br /&gt;
* [[XFS email list and archives]]&lt;br /&gt;
* [http://oss.sgi.com/projects/xfs Main sgi xfs website]&lt;br /&gt;
* [http://oss.sgi.com/bugzilla/buglist.cgi?product=XFS&amp;amp;bug_status=NEW&amp;amp;bug_status=ASSIGNED&amp;amp;bug_status=REOPENED Bugzilla @ oss.sgi.com]&lt;br /&gt;
* [http://bugzilla.kernel.org/buglist.cgi?product=File+System&amp;amp;component=XFS&amp;amp;bug_status=NEW&amp;amp;bug_status=ASSIGNED&amp;amp;bug_status=REOPENED Bugzilla @ kernel.org]&lt;br /&gt;
* [[Getting the latest source code]]&lt;br /&gt;
* [[Unfinished work]]&lt;br /&gt;
* [[Shrinking Support]]&lt;br /&gt;
* [[Ideas for XFS]]&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{#meta: | u+4/+rib+YG96TifD0SN88xS84YSDm2cl61IU7ZIk9g= | verify-v1 }}&lt;br /&gt;
&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>Hch</name></author>
	</entry>
	<entry>
		<id>https://xfs.org/index.php?title=XFS_Status_Updates&amp;diff=2103</id>
		<title>XFS Status Updates</title>
		<link rel="alternate" type="text/html" href="https://xfs.org/index.php?title=XFS_Status_Updates&amp;diff=2103"/>
		<updated>2010-09-02T14:59:39Z</updated>

		<summary type="html">&lt;p&gt;Hch: august update&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== XFS status update for August 2010 ==&lt;br /&gt;
&lt;br /&gt;
At the first of August we finally saw the release of Linux 2.6.35,&lt;br /&gt;
which includes a large XFS update.  The most prominent feature in&lt;br /&gt;
Linux 2.6.35 is the new delayed logging code which provides massive&lt;br /&gt;
speedups for metadata-intensive workloads, but there has been&lt;br /&gt;
a large amount of other fixes and cleanups, leading to the following&lt;br /&gt;
diffstat:&lt;br /&gt;
&lt;br /&gt;
         67 files changed, 4426 insertions(+), 3835 deletions(-)&lt;br /&gt;
&lt;br /&gt;
Given the early release of Linux 2.6.35 the merge window for the&lt;br /&gt;
next release fully fell into the month of August.  The XFS updates&lt;br /&gt;
for Linux 2.6.36 include various additional performance improvements&lt;br /&gt;
in the delayed logging code, for direct I/O writes and for avoiding&lt;br /&gt;
synchronous transactions, as well as various fixed and large amount&lt;br /&gt;
of cleanups, including the removal of the remaining dead DMAPI&lt;br /&gt;
code.&lt;br /&gt;
&lt;br /&gt;
On the userspace side we saw the 3.1.3 release of xfsprogs, which includes&lt;br /&gt;
various smaller fixes, support for the new XFS_IOC_ZERO_RANGE ioctl and&lt;br /&gt;
Debian packaging updates.  The xfstests package saw one new test case&lt;br /&gt;
and a couple of smaller patches, and xfsdump has not seen any updates at&lt;br /&gt;
all.&lt;br /&gt;
&lt;br /&gt;
The XMLified versions of the XFS users guide, training labs and filesystem&lt;br /&gt;
structure documentation are now available as on the fly generated html on&lt;br /&gt;
the xfs.org website and can be found at: http://www.xfs.org/index.php/XFS_Papers_and_Documentation&lt;br /&gt;
&lt;br /&gt;
== XFS status update for July 2010 ==&lt;br /&gt;
&lt;br /&gt;
July saw three more release candidates for the Linux 2.6.35 kernel, which&lt;br /&gt;
included a relatively large number of XFS updates.  There were two security&lt;br /&gt;
fixes, a small one to prevent swapext to operate on write-only file&lt;br /&gt;
descriptors, and a much larger one to properly validate inode numbers&lt;br /&gt;
coming from NFS clients or userspace applications using the bulkstat or&lt;br /&gt;
the open-by-handle interfaces.  In addition to that another relatively&lt;br /&gt;
large patch fixes the way inodes get reclaimed in the background, and&lt;br /&gt;
avoids inode caches growing out of bounds.&lt;br /&gt;
&lt;br /&gt;
In the meantime the code for the Linux 2.6.36 got the last touches before&lt;br /&gt;
the expected opening of the merge window, by merging a few more last&lt;br /&gt;
minute fixes and cleanups.  The most notable one is a patch series&lt;br /&gt;
that fixes in-memory corruption when concurrently accessing unwritten&lt;br /&gt;
extents using the in-kernel AIO code.&lt;br /&gt;
&lt;br /&gt;
The userspace side was still quite slow, but some a bit more activity&lt;br /&gt;
than June.  In xfsprogs the xfs_db code grew two bug fixes, as did&lt;br /&gt;
the xfs_io script.  The xfstests package saw one new test cases and&lt;br /&gt;
various fixes to existing code.  Last but not least a few patches&lt;br /&gt;
affecting the build system for all userspace tools were committed.&lt;br /&gt;
&lt;br /&gt;
== XFS status update for June 2010 ==&lt;br /&gt;
&lt;br /&gt;
The month of June saw a few important bug fixes for the Linux 2.6.35&lt;br /&gt;
release candidates.  That includes ensuring that files used for the&lt;br /&gt;
swapext ioctl are writable to the user, and doing proper validation&lt;br /&gt;
of inodes coming from untrusted sources, such as NFS exporting and&lt;br /&gt;
the open by handle system calls.  The main work however has been&lt;br /&gt;
focused on development for the Linux 2.6.36 merge window, including&lt;br /&gt;
merging various patches that have been out on the mainline list&lt;br /&gt;
for a long time.  Highlights include further performance improvements&lt;br /&gt;
for sync heavy metadata workloads, stack space reduction in the&lt;br /&gt;
writeback path and improvements of the XFS tracing infrastructure.&lt;br /&gt;
Also after some discussion the remaining hooks for DMAPI are going&lt;br /&gt;
to be dropped in mainline.   As a replacement a tree containing&lt;br /&gt;
full DMAPI support with a slightly cleaner XFS interaction will be&lt;br /&gt;
hosted by SGI.&lt;br /&gt;
&lt;br /&gt;
On the userspace side June was a rather slow month, with no updates&lt;br /&gt;
to xfsprogs and xfsdump at all, and just one new test case and a cleanup&lt;br /&gt;
applied to xfstests.&lt;br /&gt;
&lt;br /&gt;
== XFS status update for May 2010 ==&lt;br /&gt;
&lt;br /&gt;
In May 2010 we saw the long awaited release of Linux 2.6.34, which includes&lt;br /&gt;
a large XFS update.  The most important features appearing in 2.6.34 was the&lt;br /&gt;
new inode and quota flushing code, which leads to much better I/O patterns&lt;br /&gt;
for metadata-intensive workloads.  Additionally support for synchronous NFS&lt;br /&gt;
exports has been improved to give much better performance, and performance&lt;br /&gt;
for the fsync, fdatasync and sync system calls has been improved slightly.&lt;br /&gt;
A bug when resizing extremely busy filesystems has been fixed, which required&lt;br /&gt;
extensive modification to the data structure used for looking up the&lt;br /&gt;
per-allocation group data.  Last but not least there was a steady flow of&lt;br /&gt;
minor bug fixes and cleanups, leading to the following diffstat from&lt;br /&gt;
2.6.33 to 2.6.34:&lt;br /&gt;
&lt;br /&gt;
  86 files changed, 3209 insertions(+), 3178 deletions(-)&lt;br /&gt;
&lt;br /&gt;
Meanwhile active development aimed at 2.6.35 merge progressed.  The&lt;br /&gt;
major feature for this window is the merge of the delayed logging code,&lt;br /&gt;
which adds a new logging mode that dramatically reduces the bandwidth&lt;br /&gt;
required for log I/O.  See the &lt;br /&gt;
[http://git.kernel.org/?p=linux/kernel/git/torvalds/linux-2.6.git;a=blob;f=Documentation/filesystems/xfs-delayed-logging-design.txt;h=96d0df28bed323d5596fc051b0ffb96ed8e3c8df;hb=HEAD documentation] for details.  Testers&lt;br /&gt;
for this new code are welcome.&lt;br /&gt;
&lt;br /&gt;
In userland xfsprogs saw the long awaited 3.1.2 release, which can be&lt;br /&gt;
considered a bug fix release for xfs_repair, xfs_fsr and mkfs.xfs.  After&lt;br /&gt;
the release a few more fixes were merged into the development tree.&lt;br /&gt;
The xfstests package saw various new tests, including many tests to&lt;br /&gt;
exercise the quota code, and a few fixes to existing tests.&lt;br /&gt;
&lt;br /&gt;
== XFS status update for April 2010 ==&lt;br /&gt;
&lt;br /&gt;
In April 2.6.34 still was in the release candidate phase, with&lt;br /&gt;
a hand full of XFS fixes making it into mainline.  Development for&lt;br /&gt;
the 2.6.35 merge window went ahead full steam at the same time.&lt;br /&gt;
&lt;br /&gt;
While a fair amount of patches hit the development tree these were&lt;br /&gt;
largely cleanups, with the real development activity happening on&lt;br /&gt;
the mailing list.  There was another round of patches and following&lt;br /&gt;
discussion on the scalable busy extent tracking and delayed logging&lt;br /&gt;
features mentioned last month.  They are expected to be merged in&lt;br /&gt;
May and queue up for the Linux 2.6.35 window.  Last but not least&lt;br /&gt;
April saw a large number of XFS fixes backported to the 2.6.32 and&lt;br /&gt;
2.6.33 -stable series.&lt;br /&gt;
&lt;br /&gt;
In user land xfsprogs has seen few but important updates, preparing&lt;br /&gt;
for a new release next month.  The xfs_repair tool saw a fix to&lt;br /&gt;
correctly enable the lazy superblock counters on an existing&lt;br /&gt;
filesystem, and xfs_fsr saw updates to better deal with dynamic&lt;br /&gt;
attribute forks.  Last but not a least a port to Debian GNU/kFreeBSD&lt;br /&gt;
got merged. The xfstests test suite saw two new test cases and various&lt;br /&gt;
smaller fixes.&lt;br /&gt;
&lt;br /&gt;
== XFS status update for March 2010 ==&lt;br /&gt;
&lt;br /&gt;
The merge window for Linux 2.6.34 closed in the first week of March,&lt;br /&gt;
with the important XFS features already landing in February.  Not&lt;br /&gt;
surprisingly the XFS merge activity in March has been rather slow,&lt;br /&gt;
with only about a dozen bug fixes patches making it towards Linus&#039;&lt;br /&gt;
tree in that time.&lt;br /&gt;
&lt;br /&gt;
On the other hand active development for the 2.6.35 merge window has&lt;br /&gt;
been very active.  Most importantly there was a lot of work on the&lt;br /&gt;
transaction and log subsystems.  Starting with a large patchset to&lt;br /&gt;
clean up and refactor the transaction subsystem and introducing more&lt;br /&gt;
flexible I/O containers in the low-level logging code work is&lt;br /&gt;
progressing to a new, more efficient logging implementation.  While&lt;br /&gt;
this preparatory work has already been merged in the development tree,&lt;br /&gt;
the actual delayed logging implementation still needs more work after&lt;br /&gt;
the initial public posting.  The delayed logging implementation which&lt;br /&gt;
is very briefly modeled after the journaling mode in the ext3/4&lt;br /&gt;
and reiserfs filesystems allows to accumulated multiple asynchronous&lt;br /&gt;
transactions in memory instead of possibly writing them out&lt;br /&gt;
many times.  Using the new delayed logging mechanism I/O bandwidth&lt;br /&gt;
used for the log decreases by orders of magnitude and performance&lt;br /&gt;
on metadata intensive workloads increases massively.&lt;br /&gt;
&lt;br /&gt;
In addition to that a new version of the discard (aka TRIM) support&lt;br /&gt;
has been posted, this time entirely contained in kernel space&lt;br /&gt;
and without the need of a userspace utility to drive it.  Last but&lt;br /&gt;
not least the usual steady stream of cleanups and bug fixes has not&lt;br /&gt;
ceased this month either.&lt;br /&gt;
&lt;br /&gt;
Besides the usual flow of fixes and new test cases in the xfstests&lt;br /&gt;
test suite development on the userspace side has been rather slow.&lt;br /&gt;
Xfsprogs has only seen a single fix for SMP locking in xfs_repair&lt;br /&gt;
and support for building on Debian GNU/kFreeBSD, and xfsdump&lt;br /&gt;
has seen no commit at all.&lt;br /&gt;
&lt;br /&gt;
== XFS status update for February 2010 ==&lt;br /&gt;
&lt;br /&gt;
February saw the release of the Linux 2.6.33 kernel, which includes&lt;br /&gt;
a large XFS update.  The biggest user-visible change in Linux 2.6.33&lt;br /&gt;
is that XFS now support the generic Linux trace event infrastructure,&lt;br /&gt;
which allows tracing lots of XFS behavior with a normal production&lt;br /&gt;
built kernel.  Except for this Linux 2.6.33 has been mostly a bug-fix&lt;br /&gt;
release, fixing various user reported bugs in previous releases.&lt;br /&gt;
The total diffstat for XFS in Linux 2.6.33 looks like:&lt;br /&gt;
&lt;br /&gt;
  84 files changed, 3023 insertions(+), 3550 deletions(-)&lt;br /&gt;
&lt;br /&gt;
In addition to that the merge window for Linux 2.6.34 opened and the&lt;br /&gt;
first merge of the XFS tree made it into Linus tree.  Unlike Linux&lt;br /&gt;
2.6.33 this merge window includes major feature work.  The most&lt;br /&gt;
important change for users is a new algorithm for inode and quota&lt;br /&gt;
writeback that leads to better I/O locality and improved metadata&lt;br /&gt;
performance.  The second big change is a rewrite of the per-allocation&lt;br /&gt;
group data lookup which fixes a long-standing problem in the code&lt;br /&gt;
to grow a life filesystem and will also ease future filesystem&lt;br /&gt;
shrinking support.  Not merged through the XFS tree, but of great&lt;br /&gt;
importance for embedded users is a new API that allows XFS to properly&lt;br /&gt;
flush cache lines on it&#039;s log and large directory buffers, making&lt;br /&gt;
XFS work properly on architectures with virtually indexed caches,&lt;br /&gt;
such as parisc and various arm and mips variants.  Last but not&lt;br /&gt;
least there is an above average amount of cleanups that went into&lt;br /&gt;
Linus tree in this cycle.&lt;br /&gt;
&lt;br /&gt;
There have been more patches on the mailing list that haven&#039;t made&lt;br /&gt;
it to Linus tree yet, including an optimized implementation of&lt;br /&gt;
fdatasync(2) and massive speedups for metadata workloads on&lt;br /&gt;
NFS exported XFS filesystems.&lt;br /&gt;
&lt;br /&gt;
On the userspace side February has been a relatively quite month.&lt;br /&gt;
Lead by xfstests only a moderate amount of fixes made it into&lt;br /&gt;
the respective trees.&lt;br /&gt;
&lt;br /&gt;
== XFS status update for January 2010 ==&lt;br /&gt;
&lt;br /&gt;
January saw additional release candidates of the Linux 2.6.33 kernel,&lt;br /&gt;
including a couple of bug fixes for XFS.  In the meantime the XFS tree&lt;br /&gt;
has been growing a large number of patches destined for the Linux 2.6.34&lt;br /&gt;
merge window: a large rework of the handling of per-AG data, support for&lt;br /&gt;
the quota netlink interface, and better power saving behavior of the&lt;br /&gt;
XFS kernel threads, and of course various cleanups.&lt;br /&gt;
&lt;br /&gt;
A large patch series to replace the current asynchronous inode writeback&lt;br /&gt;
with a new scheme that uses the delayed write buffers was posted to&lt;br /&gt;
the list.  The new scheme, which allows archive better I/O locality by&lt;br /&gt;
dispatching meta-data I/O from a single place has been discussed&lt;br /&gt;
extensively and is expected to be merged in February.&lt;br /&gt;
&lt;br /&gt;
On the userspace side January saw the 3.1.0 and 3.1.1 releases of xfsprogs,&lt;br /&gt;
as well as the 3.0.4 release of xfsdump.  The biggest changes in xfsprogs&lt;br /&gt;
3.1.0 were optimizations in xfs_repair that lead to a much lower memory&lt;br /&gt;
usage, and optional use of the blkid library for filesystem detection&lt;br /&gt;
and retrieving storage topology information.  The 3.1.1 release contained&lt;br /&gt;
various important bug fixes for these changes and a various improvements to&lt;br /&gt;
the build system.  The major feature of xfsdump 3.0.4 were fixes for&lt;br /&gt;
time stamp handling on 64-bit systems.&lt;br /&gt;
&lt;br /&gt;
The xfstests package also lots of activity including various new testcases&lt;br /&gt;
and an improved build system.&lt;br /&gt;
&lt;br /&gt;
== XFS status update for December 2009 ==&lt;br /&gt;
&lt;br /&gt;
December finally saw the long awaited release of Linux 2.6.32, which for&lt;br /&gt;
XFS is mostly a bug fix release, with the major changes being various&lt;br /&gt;
improvement to the sync path, including working around the expectation&lt;br /&gt;
from the grub boot loader where metadata is supposed to be after a sync()&lt;br /&gt;
system call.  Together with a refactoring of the inode allocator this&lt;br /&gt;
gives a nice diffstat for this kernel release:&lt;br /&gt;
&lt;br /&gt;
 46 files changed, 767 insertions(+), 1048 deletions(-)&lt;br /&gt;
&lt;br /&gt;
In the meantime development for the 2.6.33 has been going strong.  The&lt;br /&gt;
new event tracing code that allows to observe the inner workings of XFS&lt;br /&gt;
in production systems has finally been merged, with another patch to&lt;br /&gt;
reduce the size of the tracing code by using new upstream kernel features&lt;br /&gt;
posted for review.  Also a large patch series has been posted which&lt;br /&gt;
changes per-AG data to be looked up by a radix tree instead of the&lt;br /&gt;
existing array.  This works around possible deadlocks and user after&lt;br /&gt;
free issues during growfs, and prepares for removing a global (shared)&lt;br /&gt;
lock from the free space allocators.  In addition to that a wide range&lt;br /&gt;
of fixes has been posted and applied.&lt;br /&gt;
&lt;br /&gt;
Work on the userspace packages has been just as busy.  In mkfs.xfs the&lt;br /&gt;
lazy superblock counter feature has now been enabled by default for the&lt;br /&gt;
upcoming xfsprogs 3.1.0 release, which will require kernel 2.6.22 for&lt;br /&gt;
the default mkfs invocation.  Also for mkfs.xfs as patch was posted&lt;br /&gt;
to correct the automatic detection of 4 kilobyte sector drivers which&lt;br /&gt;
are expected to show up in large quantities the real work soon.  The&lt;br /&gt;
norepair mode in xfs_repair has been enhanced with additional freespace&lt;br /&gt;
btree correction checks from xfs_db and is now identical to xfs_check in&lt;br /&gt;
filesystem consistency checking coverage.  A temporary file permission&lt;br /&gt;
problems has been fixed in xfs_fsr, and the libhandle library has been&lt;br /&gt;
fixed to better deal with symbolic links.  In xfs_io a few commands&lt;br /&gt;
that were added years ago have finally been wired up to actually be&lt;br /&gt;
usable.  And last but not least xfsdump saw a fix to the time stamp&lt;br /&gt;
handling in the backup format and some usability and documentation&lt;br /&gt;
improvements to xfsinvutil.&lt;br /&gt;
&lt;br /&gt;
== XFS status update for November 2009 ==&lt;br /&gt;
&lt;br /&gt;
November was a relatively slow month for XFS development.  The XFS tree&lt;br /&gt;
that is destined for the Linux 2.6.33 merge window saw a few fixes and&lt;br /&gt;
cleanups applied to it, and few important fixes still made it into the&lt;br /&gt;
last Linux 2.6.32 release candidates.  A few more patches including a&lt;br /&gt;
final version of the event tracing support for XFS were posted but not&lt;br /&gt;
reviewed yet.&lt;br /&gt;
&lt;br /&gt;
On the userspace side there has been a fair amount of xfsprogs activity.&lt;br /&gt;
The repair speedup patches have finally been merged into the main development&lt;br /&gt;
branch and a couple of other fixes to the various utilities made it in, too.&lt;br /&gt;
The xfstests test suite saw another new regression test suite and a build&lt;br /&gt;
system fix up.&lt;br /&gt;
&lt;br /&gt;
== XFS status update for October 2009 ==&lt;br /&gt;
In October we saw the Linux 2.6.32 merge window with a major XFS update.&lt;br /&gt;
This update includes a refactoring of the inode allocator which also&lt;br /&gt;
allows for speedups for very large filesystems, major sync fixes, updates&lt;br /&gt;
to the fsync and O_SYNC handling which merge the two code paths into a single&lt;br /&gt;
and more efficient one, a workaround for the VFS time stamp behavior,&lt;br /&gt;
and of course various smaller fixes.  A couple of additional fixes have been&lt;br /&gt;
queued up for the next merge window.&lt;br /&gt;
&lt;br /&gt;
On the userspace side there has been a healthy activity on xfsprogs:  mkfs can&lt;br /&gt;
now discard unused sectors on SSDs and thinly provisioned storage devices and&lt;br /&gt;
use the more generic libblkid for topology information and filesystems detection&lt;br /&gt;
instead of the older libdisk, and the build system gained some updates to&lt;br /&gt;
make the source package generation simpler and shared for different package&lt;br /&gt;
types.  A patch has been out to the list but yet committed to add symbol&lt;br /&gt;
versioning to the libhandle library to make future ABI additions easier.&lt;br /&gt;
The xfstests package only saw some minor activity with a new test case&lt;br /&gt;
and small build system fixes.&lt;br /&gt;
&lt;br /&gt;
New minor releases of xfsprogs and xfsdump were tagged but not formally&lt;br /&gt;
released after additional discussion.  Instead a new major xfsprogs release&lt;br /&gt;
is planned for next month.&lt;br /&gt;
&lt;br /&gt;
== XFS status update for September 2009 ==&lt;br /&gt;
&lt;br /&gt;
In September the Linux 2.6.31 kernel was finally released, including another&lt;br /&gt;
last minute XFS fix for the swapext (defragmentation) compat ioctl handler.&lt;br /&gt;
The final patch from 2.6.30 to 2.6.31 shows the following impressive diffstat&lt;br /&gt;
for XFS:&lt;br /&gt;
&lt;br /&gt;
   55 files changed, 1476 insertions(+), 2269 deletions(-)&lt;br /&gt;
&lt;br /&gt;
The 2.6.32 merge window started with a large XFS merge that included changes&lt;br /&gt;
to the inode allocator, and a few smaller fixes.  New versions of the sync&lt;br /&gt;
and time stamp fixes as well as the event tracing support have been posted&lt;br /&gt;
in September but not yet merged into the XFS development tree and/or mainline.&lt;br /&gt;
&lt;br /&gt;
On the userspace side a large patch series to reduce the memory usage in&lt;br /&gt;
xfs_repair to acceptable levels was posted, but not yet merged.  A new xfs_df&lt;br /&gt;
shell script to measure use of the on disk space was posted but not yet&lt;br /&gt;
merged pending some minor review comments and a missing man page.  In addition&lt;br /&gt;
we saw the usual amount of smaller fixes and cleanups.&lt;br /&gt;
&lt;br /&gt;
Also this month Felix Blyakher resigned from his post as XFS maintainer and handed off to Alex Elder.&lt;br /&gt;
&lt;br /&gt;
== XFS status update for August 2009 ==&lt;br /&gt;
&lt;br /&gt;
In August the Linux 2.6.31 kernel has still been in the release candidate&lt;br /&gt;
stage, but a couple of important XFS fixes made it in time for the release,&lt;br /&gt;
including a fix for the inode cache races with NFS workloads that have&lt;br /&gt;
plagued us for a long time.&lt;br /&gt;
&lt;br /&gt;
The list saw various patches destined for the Linux 2.6.32 merge window,&lt;br /&gt;
including a merge of the fsync and O_SYNC handling code to address various&lt;br /&gt;
issues with the latter, a workaround for deficits in the timestamp handling&lt;br /&gt;
interface between the VFS and filesystems, a repost of the sync improvements&lt;br /&gt;
patch series and various smaller patches.&lt;br /&gt;
&lt;br /&gt;
August also saw the minor 3.0.3 release of xfsprogs which collects smaller&lt;br /&gt;
fixes to the various tools and most importantly a fix to allow xfsprogs to&lt;br /&gt;
work again on SPARC and other strict alignment handling which regressed a&lt;br /&gt;
few releases ago.  The xfstests repository saw a few new test cases and a&lt;br /&gt;
various small improvements.&lt;br /&gt;
&lt;br /&gt;
== XFS status update for July 2009 ==&lt;br /&gt;
&lt;br /&gt;
As a traditional summer vacation month July has not seen a lot of XFS&lt;br /&gt;
activity.  The mainline 2.6.31 kernel made it to the 5th release candidate&lt;br /&gt;
but besides a few kernel-wide patches touching XFS the only activity were&lt;br /&gt;
two small patches fixing a bug in FIEMAP and working around writeback&lt;br /&gt;
performance problems in the VM.&lt;br /&gt;
&lt;br /&gt;
A few more patches were posted to the list but haven&#039;t been merged yet.&lt;br /&gt;
Two big patch series deal with theoretically possible deadlocks due to&lt;br /&gt;
locks taken in reclaim contexts, which are now detected by lockdep.&lt;br /&gt;
&lt;br /&gt;
The pace on the userspace side has been slow.  There have been a couple&lt;br /&gt;
of fixes to xfs_repair and xfs_db, and xfstests grew a few more testcases.&lt;br /&gt;
&lt;br /&gt;
== XFS status update for June 2009 ==&lt;br /&gt;
&lt;br /&gt;
On June 9th we finally saw the release of Linux 2.6.30.  For XFS&lt;br /&gt;
this release mostly contains the improved ENOSPC handling, but also&lt;br /&gt;
various smaller bugfixes and lots of cleanups.  The code size of XFS&lt;br /&gt;
decreased again by 500 lines of code in this release.&lt;br /&gt;
&lt;br /&gt;
The Linux 2.6.31 merge opened in the mid of the month and some big XFS&lt;br /&gt;
changes have been pushed: A removal of the quotaops&lt;br /&gt;
infrastructure which simplifies the quota implementation, the switch&lt;br /&gt;
from XFS&#039;s own Posix ACL implementation to the generic one shared&lt;br /&gt;
by various other filesystems which also supports in-memory caching of&lt;br /&gt;
ACLs and another incremental refactoring of the sync code.&lt;br /&gt;
&lt;br /&gt;
A patch to better track dirty inodes and work around issues in the&lt;br /&gt;
way the VFS updates the access time stamp on inodes has been reposted&lt;br /&gt;
and discussed. Another patch to converting the existing XFS tracing&lt;br /&gt;
infrastructure to use the ftrace even tracer has been posted.&lt;br /&gt;
&lt;br /&gt;
On the userspace side there have been a few updates to xfsprogs, including&lt;br /&gt;
some repair fixes and a new fallocate command for xfs_io.  There were&lt;br /&gt;
major updates for xfstests:  The existing aio-dio-regress testsuite has&lt;br /&gt;
been merged into xfstests, and various changes went into the tree to make&lt;br /&gt;
xfstests better suitable for use with other filesystems.&lt;br /&gt;
&lt;br /&gt;
The attr and acl projects which have been traditionally been hosted&lt;br /&gt;
as part of the XFS userspace utilities have now been split into a separate&lt;br /&gt;
project maintained by Andreas Gruenbacher, who has been doing most of&lt;br /&gt;
the work on it, and moved to the Savannah hosting platform.&lt;br /&gt;
&lt;br /&gt;
== XFS status update for May 2009 ==&lt;br /&gt;
&lt;br /&gt;
In May Linux 2.6.30 was getting close to be released, and various&lt;br /&gt;
important XFS fixes made it during the latest release candidates.&lt;br /&gt;
In the meantime some big patch series to rework the sync code and&lt;br /&gt;
the inode allocator have been posted for the next merge window.&lt;br /&gt;
&lt;br /&gt;
On the userspace side xfsprogs and xfsdump 3.0.1 were finally released,&lt;br /&gt;
quickly followed by 3.0.2 releases with updated Debian packaging.&lt;br /&gt;
After that various small patches that were held back made it into xfsprogs.&lt;br /&gt;
A patch to add the xfs_reno tool which allows to move inodes around to&lt;br /&gt;
fit into 32 bit inode number space has been posted which is also one&lt;br /&gt;
central aspect of future online shrinking support.&lt;br /&gt;
&lt;br /&gt;
There has been major activity on xfstests including adding generic&lt;br /&gt;
filesystems support to allow running tests that aren&#039;t XFS-specific on&lt;br /&gt;
any Linux filesystems.&lt;br /&gt;
&lt;br /&gt;
== XFS status update for April 2009 ==&lt;br /&gt;
&lt;br /&gt;
In April development for Linux 2.6.30 was in full motion.  A patchset to correct flushing of delayed allocations with near full filesystems has been committed in early April, as well as various smaller fixes. A patch series to improve the behavior of sys_sync has been posted but is waiting for VFS changes queued for Linux 2.6.31.&lt;br /&gt;
&lt;br /&gt;
On the userspace side xfsprogs and xfsdump 3.0.1 have managed to split their release dates into May again after a lot of last-minute build system updates.&lt;br /&gt;
&lt;br /&gt;
== XFS status update for March 2009 ==&lt;br /&gt;
&lt;br /&gt;
Linux 2.6.29 has been released which includes major XFS updates like the&lt;br /&gt;
new generic btree code, a fully functional 32bit compat ioctl implementation&lt;br /&gt;
and the new combined XFS and Linux inode.  (See previous status reports&lt;br /&gt;
for more details). A patch series to improve correctness and performance&lt;br /&gt;
has been posted but not yet applied.  Various minor fixes and cleanups&lt;br /&gt;
have been sent to Linus for 2.6.30 which looks like it will be a minor&lt;br /&gt;
release for XFS after the big churn in 2.6.29.&lt;br /&gt;
&lt;br /&gt;
On userspace a lot of time has been spent on fixing and improving the&lt;br /&gt;
build system shared by the various XFS utilities as well as various smaller&lt;br /&gt;
improvements leading to the xfsprogs and xfsdump 3.0.1 releases which are&lt;br /&gt;
still outstanding.&lt;br /&gt;
&lt;br /&gt;
== XFS status update for February 2009 ==&lt;br /&gt;
&lt;br /&gt;
In February various smaller fixes have been sent to Linus for 2.6.29,&lt;br /&gt;
including a revert of the faster vmap APIs which don&#039;t seem to be quite&lt;br /&gt;
ready yet on the VM side.  At the same time various patches have been&lt;br /&gt;
queued up for 2.6.30, with another big batch pending.  There also has&lt;br /&gt;
been a repost of the CRC patch series, including support for a new,&lt;br /&gt;
larger inode core.&lt;br /&gt;
&lt;br /&gt;
SGI released various bits of work in progress from former employees&lt;br /&gt;
that will be extremely helpful for the future development of XFS,&lt;br /&gt;
thanks a lot to Mark Goodwin for making this happen.&lt;br /&gt;
&lt;br /&gt;
On the userspace side the long awaited 3.0.0 releases of xfsprogs and&lt;br /&gt;
xfsdump finally happened early in the month, accompanied by a 2.2.9&lt;br /&gt;
release of the dmapi userspace.  There have been some issues with packaging&lt;br /&gt;
so a new minor release might follow soon.&lt;br /&gt;
&lt;br /&gt;
The xfs_irecover tool has been relicensed so that it can be merged into&lt;br /&gt;
the GPLv2 codebase of xfsprogs, but the actual integration work hasn&#039;t&lt;br /&gt;
happened yet.&lt;br /&gt;
&lt;br /&gt;
Important bits of XFS documentation that have been available on the XFS&lt;br /&gt;
website in PDF form have been released in the document source form under&lt;br /&gt;
the Creative Commons license so that they can be updated as a community&lt;br /&gt;
effort, and checked into a public git tree.&lt;br /&gt;
&lt;br /&gt;
== XFS status update for January 2009 ==&lt;br /&gt;
&lt;br /&gt;
January has been an extremely busy month on the userspace front.  Many&lt;br /&gt;
smaller and medium updates went into xfsprogs, xfstests and to a lesser&lt;br /&gt;
extent xfsdump.  xfsprogs and xfsdump are ramping up for getting a 3.0.0&lt;br /&gt;
release out in early February which will include the first major re-sync&lt;br /&gt;
with the kernel code in libxfs, a cleanup of the exported library interfaces&lt;br /&gt;
and the move of two tools (xfs_fsr and xfs_estimate) from the xfsdump&lt;br /&gt;
package to xfsprogs.  After this the xfsprogs package will contain all&lt;br /&gt;
tools that use internal libxfs interfaces which fortunately equates to those&lt;br /&gt;
needed for normal administration.  The xfsdump package now only contains&lt;br /&gt;
the xfsdump/xfsrestore tools needed for backing up and restoring XFS&lt;br /&gt;
filesystems.  In addition it grew a fix to support dump/restore on systems&lt;br /&gt;
with a 64k page size.  A large number of acl/attr package patches was&lt;br /&gt;
posted to the list, but pending a possible split of these packages from the&lt;br /&gt;
XFS project these weren&#039;t processed yet.&lt;br /&gt;
&lt;br /&gt;
On the kernel side the big excitement in January was an in-memory corruption&lt;br /&gt;
introduced in the btree refactoring which hit people running 32bit platforms&lt;br /&gt;
without support for large block devices.  This issue was fixed and pushed&lt;br /&gt;
to the 2.6.29 development tree after a long collaborative debugging effort&lt;br /&gt;
at linux.conf.au.  Besides that about a dozen minor fixes were pushed to&lt;br /&gt;
2.6.29 and the first batch of misc patches for the 2.6.30 release cycle&lt;br /&gt;
was sent out.&lt;br /&gt;
&lt;br /&gt;
At the end of December the SGI group in Melbourne which the previous&lt;br /&gt;
XFS maintainer and some other developers worked for has been closed down&lt;br /&gt;
and they will be missed greatly.  As a result maintainership has been passed&lt;br /&gt;
on in a way that has been slightly controversial in the community, and the&lt;br /&gt;
first patchset of work in progress in Melbourne have been posted to the list&lt;br /&gt;
to be picked up by others.&lt;br /&gt;
&lt;br /&gt;
The xfs.org wiki has gotten a little facelift on it&#039;s front page making it&lt;br /&gt;
a lot easier to read.&lt;br /&gt;
&lt;br /&gt;
== XFS status update for December 2008 ==&lt;br /&gt;
&lt;br /&gt;
On Christmas Eve the 2.6.28 mainline kernel was release, with only minor XFS&lt;br /&gt;
bug fixes over 2.6.27.&lt;br /&gt;
&lt;br /&gt;
On the development side December has been busy but unspectacular month.&lt;br /&gt;
All lot of misc fixes and improvements have been sent out, tested and committed&lt;br /&gt;
especially on the user land side.&lt;br /&gt;
&lt;br /&gt;
== XFS status update for November 2008 ==&lt;br /&gt;
&lt;br /&gt;
The mainline kernel is now at 2.6.28-rc6 and includes a small number of&lt;br /&gt;
XFS fixes.  There have been no updates to the XFS development tree during&lt;br /&gt;
November.  Without new regressions that large number of changes that&lt;br /&gt;
missed 2.6.28 has thus stabilized to be ready for 2.6.29.  In the meantime&lt;br /&gt;
kernel-side development has been slow, with the only major patch set&lt;br /&gt;
being a wide number of fixes to the compatibility for 32 bit ioctls on&lt;br /&gt;
a 64 bit kernel.&lt;br /&gt;
&lt;br /&gt;
In the meantime there has been a large number of commits to the user space&lt;br /&gt;
tree, which mostly consist of smaller fixes.  xfsprogs is getting close&lt;br /&gt;
to have the 3.0.0 release which will be the first full resync with the&lt;br /&gt;
kernel sources since the year 2005.&lt;br /&gt;
&lt;br /&gt;
== XFS status update for October 2008 ==&lt;br /&gt;
&lt;br /&gt;
Linux 2.6.27 released with all the bits covered in last month&#039;s report.  It&lt;br /&gt;
did however miss two important fixes for regressions that a few people hit.&lt;br /&gt;
2.6.27.3 or later are recommended for use with XFS.&lt;br /&gt;
&lt;br /&gt;
In the meantime the generic btree implementation, the sync reorganization&lt;br /&gt;
and after a lot of merge pain the XFS and VFS inode unification hit the&lt;br /&gt;
development tree during the time allocated for the merge window.  No XFS&lt;br /&gt;
updates other than the two regression fixes also in 2.6.27.3 have made it&lt;br /&gt;
into mainline as of 2.6.28-rc3.&lt;br /&gt;
&lt;br /&gt;
The only new feature on the list in October is support for the fiemap&lt;br /&gt;
interface that has been added to the VFS during the 2.6.28 merge window.&lt;br /&gt;
However there was lot of patch traffic consisting of fixes and respun&lt;br /&gt;
versions of previously known patches.  There still is a large backlog of&lt;br /&gt;
patches on the list that is not applied to the development tree yet.&lt;br /&gt;
&lt;br /&gt;
== XFS status update for September 2008 ==&lt;br /&gt;
&lt;br /&gt;
With Linux 2.6.27 still not released but only making slow progress from 2.6.27-rc5 to 2.6.27-rc8 XFS changes in mainline have been minimal in September with only about half a dozen bug fixes patches.&lt;br /&gt;
&lt;br /&gt;
In the meantime the generic btree patch set has been committed to the development tree, but not many other updates yet. On the user space side xfsprogs 2.10.1 has been released on September 5th with a number of important bug fixes. Following the release of xfsprogs 2.10.1 open season for development of the user space code has started. The first full update of the shared kernel / user space code in libxfs since 2005 has been committed. In addition to that the number of headers installed for the regular devel package has been reduced to the required minimum and support for checking the source code for endianess errors using sparse has been added.&lt;br /&gt;
&lt;br /&gt;
The patch sets to unify the XFS and Linux inode structures, and rewrite various bits of the sync code have seen various iterations on the XFS list, but haven&#039;t been committed yet. A first set of patches implementing CRCs for various metadata structures has been posted to the list.&lt;br /&gt;
&lt;br /&gt;
== XFS status update for August 2008 ==&lt;br /&gt;
&lt;br /&gt;
With the 2.6.27-rc5 release the 2.6.27 cycle is nearing it&#039;s end. The major XFS feature in 2.6.27-rc5 is support for case-insensitive file names. At this point it is still limited to 7bit ASCII file names, with updates for utf8 file names expected to follow later. In addition to that 2.6.27-rc5 fixes a long-standing problem with non-EABI arm compiler which pack some XFS data structures wrongly. Besides this 2.6.27-rc5 also contains various cleanups, most notably the removal of the last bhv_vnode_t instances, and most uses of semaphores. As usual the diffstat for XFS from 2.6.26 to 2.6.26-rc5 is negative:&lt;br /&gt;
&lt;br /&gt;
       100 files changed, 3819 insertions(+), 4409 deletions(-)&lt;br /&gt;
&lt;br /&gt;
On the user space front a new minor xfsprogs version is about to be released containing various fixes including the user space part of arm packing fix.&lt;br /&gt;
&lt;br /&gt;
Work in progress on the XFS mailing list are a large patch set to unify the alloc, inobt and bmap btree implementation into a single that supports arbitrarily pluggable key and record formats. These btree changes are the first major preparation for adding CRC checks to all metadata structures in XFS, and an even larger patch set to unify the XFS and Linux inode structures, and perform all inode write back from the btree uses instead of an inode cache in XFS.&lt;/div&gt;</summary>
		<author><name>Hch</name></author>
	</entry>
</feed>