The threading isn't actually the whole of the problem.
When fsync() is called on certain filesystems (ext3 without certain optimizations turned on is
mentioned in the bug) it causes the whole desktop to freeze/slow as all the data is written to
fsync() in these filesystems is really just a call to sync(). :-(