Wednesday, May 18, 2005 9:26 PM
by
malx
Good article describing Transactional NTFS at a conceptual level
Recently, The NT Insider published an article entitled
Don't be Afraid
to Commit -- The Transactional Filesystem (TxFS) in Windows.
The article deserves mention for a number of reasons, mainly because
it's a really good conceptual explanation of what we're working on.
There are some small nits that should probably also be explained.
If you see the term TxFS, or TxF, this term refers to the same feature:
Transactional NTFS. In this blog, I'm trying to use the latter
term, just to be clear: this support is integrated into NTFS.
Transactions aren't supported on FAT32, and nor do you need a new
filesystem to support this functionality. In fact, we've done a
lot of work to make sure the on-disk format doesn't change at all: when
you boot into Longhorn, the necessary structures will be created; you
don't need to reformat.
Seeing as I'm linking to this article from a Microsoft blog, I should
also make one small correction: we changed our mind on namespace
isolation. Prior to commit, changes made to the namespace from
within a transaction are only visible inside the transaction, and upon
commit, those changes are visible to both non-transacted applications,
and other transactions. That is, if you delete a file
transactionally and commit, other uncommitted transactions will see the
delete; prior to commit, only the deleting transaction will see the
change.
The article is very correct that Transactional NTFS has a huge impact
on filter drivers. If you're writing a filesystem filter driver,
and we haven't heard from you at plugfests or similar events, we'd like
to hear from you now. In many cases the impact for filters is
huge, and it'd be great to have filters ready for these changes in
Longhorn; this will help users migrate to Longhorn, and help your
customers from being inconvenienced in the process.