Re: Q: NTFS?

Martin v. Loewis (loewis@informatik.hu-berlin.de)
26 Nov 1996 00:13:55 +0100


"Theodore Y. Ts'o" <tytso@mit.edu> writes:
> I doubt we'd want to get the Linux VFS layer involved. It sounds like
> it could be done entirely within the NTFS layer. If you run out of
> space, presumably what you'll need to do is to store transactions in
> memory during the rollback, clearing, and reissue process.

The problem is not the undo/redo process, but the logging itself. You
need to guarantee order of writes as in:
1. write the log record for the metadata modifications
2. perform the metadata modifications themselves
3. write a completion record
Now, you can do this easily using synchronous writes. However,
performance might suffer compared to other file systems or the WinNT
implementation.
You need something like delayed ordered writes. Some people will point
out quickly that this is patented in some countries, and suggest using
soft updates instead.
Anyways, I believe the buffer cache management needs to interact with
the file system: If the buffer is written back to disk (and the IO
operation is completed successfully), the buffer management should
call back the file system to notify about the completion. The file
system would then schedule other blocks for write-back.

Sounds reasonable? Possible? Desirable?

Regards,
Martin