Is it worth it to support transactions?

Hi,

I’m writing a file activity monitor using a mini filter. I’ve taken a good hard look at the change and delete sample drivers from Microsoft, and those examples devote a lot of code to dealing with transactions. I’ve read that Microsoft is discouraging new designs from using Transactional NTFS. My project is targeted at Windows 8 or later and might not ship until Threshold is released. Is it still worth the effort to support transactions in a mini filter driver? What would the side effects be from ignoring transactions?

As a matter of quality of design, I’d prefer to support transactions since the Microsoft examples still do. But I have found it hard to devise any test procedures. Does anyone know of a utility to create some transactions? Ideally I’d like to cause a few rollbacks as well as commits. I even had trouble finding sample code to make my own utility. Thanks for any advice.

  • Joaquin Luna

So far as I’m aware there are still TxFS regression tests in the HCK, so if
you ever want logo, you should at best not break them.

t.

On Thu, Aug 21, 2014 at 7:22 AM, wrote:

> Hi,
>
> I’m writing a file activity monitor using a mini filter. I’ve taken a
> good hard look at the change and delete sample drivers from Microsoft, and
> those examples devote a lot of code to dealing with transactions. I’ve
> read that Microsoft is discouraging new designs from using Transactional
> NTFS. My project is targeted at Windows 8 or later and might not ship
> until Threshold is released. Is it still worth the effort to support
> transactions in a mini filter driver? What would the side effects be from
> ignoring transactions?
>
> As a matter of quality of design, I’d prefer to support transactions since
> the Microsoft examples still do. But I have found it hard to devise any
> test procedures. Does anyone know of a utility to create some
> transactions? Ideally I’d like to cause a few rollbacks as well as
> commits. I even had trouble finding sample code to make my own utility.
> Thanks for any advice.
>
> - Joaquin Luna
>
> —
> NTFSD is sponsored by OSR
>
> OSR is hiring!! Info at http://www.osr.com/careers
>
> For our schedule of debugging and file system seminars visit:
> http://www.osr.com/seminars
>
> To unsubscribe, visit the List Server section of OSR Online at
> http://www.osronline.com/page.cfm?name=ListServer
>

>

Does anyone know of a utility to create some transactions? Ideally I’d
like to cause a few rollbacks as well as commits. I even had trouble
finding sample code to make my own utility.

This has everything you need to try out:
http://www.zezula.net/en/fstools/filetest.html

I do see some sample code floating around now, try codeproject.

>Soon we may even be rid of 16 bit support and NTVDM!

Already so in all x64 versions.

And, for x86 versions, DosBox is by far better than NTVDM these days.


Maxim S. Shatskih
Microsoft MVP on File System And Storage
xxxxx@storagecraft.com
http://www.storagecraft.com