On Fri, 9 Apr 2004, Anton Altaparmakov wrote:
> On Fri, 9 Apr 2004, Szakacsits Szabolcs wrote:
> >
> > Apparently NTFS 3.1 says so. You never checked?
>
> What do you mean by NTFS 3.1? Do you mean the NTFS driver that comes with
> XP? The one with XPSP1? The one with XPSP2? The one with 2003 or
> Longhorn? Note all these drivers are things like version 5.1, etc. NTFS
> 3.1 is the NTFS specification not the driver.
I mean NTFS 3.1. So I mean all drivers that supports NTFS 3.1. But note,
again, this feature doesn't break anything. If a driver knows about this
flag/feature then it can query the state otherwise it does recovery, just
as before.
If you like, forget everything about NTFS versions and distinguishing NTFS
and LFS. Just focus on that bit. It would be backward compatible, there
would have been no need to bump up LFS version because that could break
compatibility.
> Certainly on my XPSP1 test system, I see differences between crashed NTFS
> and cleanly shutdown NTFS in the $LogFile restart pages. And the
> differences are as I have described in include/ntfs/logfile.h.
That's interesting since on my XPSP1 none of the dirty related comments
are right.
Ok, let's take those comments in order:
RESTART_AREA:
"client_free_list At present on dirty volume this is 0xffff."
Always -1.
"client_in_use_list On a clean volume this is 0xffff. On a dirty
volume this is != 0xffff. At present on dirty
volume this is 0."
Always 0.
"unknown; It seems like it = 0 if clean and it != 0
if dirty."
This seems to be a counter related to the total number of checkpoints or
number of event logs or something like that.
LOG_CLIENT_RECORD:
"seq_number; ??? It is 1 when clean and 0 when dirty,
but don't know if this is always the case."
Always 0.
> > > It certainly isn't the case for LFS 1.1 (the only one I know about).
> > > I believe XP uses LFS 1.1, too (as do NT4 and Win2k).
> >
> > AFAIK, the only LFS user is NTFS. NTFS 3.0 and earlier isn't able to
> > access/mount NTFS 3.1. So NTFS 3.1 LFS version could be anything.
>
> Yes, LFS allows only one client registration per logfile. And yes only
> NTFS uses LFS I believe. NTFS 3.1 LFS makes no sense. NTFS and LFS are
> quite separate things...
True from pedantry point of view but I doubt even Microsoft cares. Show me
an example when LFS is used outside of NTFS.
> Also make sure to crash windows at least once while idle and at least once
> while it is doing active i/o. (E.g. use explorer to start copying your
> Program Files directory to your temp directory or something like that and
> when your HD is going like mad, press the reset button.)
That's not ok. Some cases send reset notifications to the OS and they can
do a fast flush. Just unplug the power cable (for your own risk).
Of course you could also sniff the journal events by Captive NTFS, VMware,
etc.
> > If Windows is XP/W2K3/Longhorn then
> >
> > flags = 2 apparently means clean shutdown, no recovery needed
> > flags = 0 means unknows state, recovery needed
>
> I have never seen the flags be anything other than 0 on XPSP1 and W2K.
OK but that's not rebuttal.
Szaka
|