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]