On Tue, 28 Nov 2006, Anton Altaparmakov wrote: > On Tue, 2006-11-28 at 14:20 +0100, Szakacsits Szabolcs wrote: > > > > relocate_inodes(), relocate_inode(), especially the $MFT part. There is a > > strict order in what and when is relocated. At some point ntfs_volume is > > mostly used only for reading and a new NTFS gets written. > > That is not true, at least not in the code that I am reading here! It > may have been your intention perhaps but you failed to code it...
Then it wouldn't have worked. > relocate_inodes() -> relocate_inode() -> at the end of the function > calls write_mft_record() which uses the ntfs_volume and the libntfs > function ntfs_mft_record_write() to do the writing. Think about relocating $MFT. > After that we have truncate_badclust_file() and truncate_bitmap_file() > both of which use write_mft_record() also... The beginning of the $MFT is never relocated, so the MFT records belonging to these files can be safely modified in place, otherwise resizing is restricted to a safe size. > Remember that what you were doing was not working for Vista and it works > now... I didn't have time to check the patches yet but wasn't the Vista problem due to a bug in libntfs and not because of ntfsresize? You seem to mix here two different problems: the missing log file reset in libntfs and the unsafe umount you introduced by another patch to ntfsresize because you thought that it was missing by accident. > Anyway, given ntfsresize is your code, if you want to insist on not > allowing unmounting, then can you please tell me the exact point in the > code at which unmounting becomes dangerous/wrong I must think about it. The design rule was being always consistent or trivially recoverable whenever we exit immediately without any cleanup. > > There is a huge difference between the "works for me" and "always works". > > Certainly but given it was broken to start with "works for me" and > "never works for Vista" is more like the real comparison here and the > "works for me" is a big improvement... (-; The first patch seems to fixed Vista, the next one broke all of them in certain scenarios. Szaka -- To UNSUBSCRIBE, email to [EMAIL PROTECTED] with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]