On Tue, 2006-11-28 at 10:14 +0000, Anton Altaparmakov wrote:
> On Tue, 2006-11-28 at 02:56 +0100, Frans Pop wrote:
> > On Monday 27 November 2006 23:45, Anton Altaparmakov wrote:
> > > //vol = ntfs_mount(opt.volume, 0);
> > > vol = NULL;
> >
> > I'm almost afraid to have to tell you this... ;-)
> >
> > After recompiling ntfsfix with this change, running it once immediately
> > after the ntfsresize and rebooting Vista, I _do_ get the chkdsk by Vista
> > and it boots fine after its automatic reboot.
> >
> > So, it very much looks like there is something in the "mount failed"
> > codepath after all.
> >
> > I've tried this trick with both your CVS version and with the current
> > version in Debian, both with identical results.
> >
> > I just noticed something.
> > If the mount is OK, ntfsfix prints all its messages almost instantaneous,
> > like nothing is actually happening at all. But if the mount fails,
> > ntfsfix takes significantly longer, especially over the "Going to empty
> > the journal ($logfile)" step.
> > There is a definite pause, both while that step is being processed
> > (before "OK\n" is printed) and immediately afterwards (before the next
> > line "NTFS volume version" is printed).
> >
> > Another step closer...
>
> Argh! Thank you for persisting with this. I have now looked at the
> code and you are right it does not do the same thing. This is because
> when Yura ported my $LogFile code from the kernel for some unknown to me
> (or forgotten by me) reason he did not integrate clearing the journal
> into the mount process. He integrated the checking but not the
> clearing. This is a HUGE and VERY BAD bug in libntfs and means that all
> ntfs utilities are _DANGEROUS_ to run and can cause massive and very
> hard to detect data corruption. )-:
>
> No wonder Vista does not boot!!! It is amazing it took so long to find
> this problem. I cannot believe we managed to get away with it for so
> long...
>
> I have now fixed this in CVS. Could you update, compile, and try again?
>
> Once just with ntfsresize (the one in current CVS) and if that still
> does not work, once with ntfsresize + immediate ntfsfix (the one in
> current CVS without the my change that you put in). If that still does
> not fix it then once with ntfsresize + immediate ntfsfix (the one in
> current CVS but with my change that you put in again).
>
> In an ideal world, just ntfsresize will now be sufficient. If not
> ntfsfix should work first time. And if not I need to look at it
> further!
Ok, I just committed some more fixes to ntfsresize. It never actually
unmounted the volume, just exited which was very rude of it!
Using the latest ntfsresize/libntfs combination on my Vista data
partition I can now run ntfsresize to change the size of a partition
then immediately run Vista and it boots, runs chkdsk automatically, and
then continues to boot to completion. Yey. (-:
Frans, it would be great if you could verify it is fixed for you when
resizing the system partition also. Assuming you say it works I think
it is time for a new ntfsprogs release which we can rubber stamp as
"Vista compatible". (-:
Best regards,
Anton
--
Anton Altaparmakov <aia21 at cam.ac.uk> (replace at with @)
Unix Support, Computing Service, University of Cambridge, CB2 3QH, UK
Linux NTFS maintainer, http://www.linux-ntfs.org/
--
To UNSUBSCRIBE, email to [EMAIL PROTECTED]
with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]