Intro Download and install Frequently Asked Questions Tips and tricks

Homepage







© J.C. Kessels 2009
MyDefrag Forum
May 24, 2013, 01:11:04 pm *
Welcome, Guest. Please login or register.

Login with username, password and session length
News:
 
   Home   Help Search Login Register  
Pages: [1]
  Print  
Author Topic: movetoendofdisk() problems  (Read 1024 times)
ff_mfg
JkDefrag Hero
*****
Posts: 51


View Profile
« on: February 14, 2010, 08:32:27 am »

First of all, thanks for the long-awaited option.

Hovewer, it seems it isn't quite battle-ready yet. I haven't done much testing, but on the very first volume I've tried this, the zones after the one with movetoendofdisk() do not get consolidated with FastFill(). It looks somewhat like before when I've tried makegap(0) after the endofdisk zone in previous version - some weird unpredictable file movement, and then all the files are marked green.

So, can movetoendofdisk() be used not in the last zone? Manual doesn't mention it, so I assumed it can. Is it a bug then?
Logged
jonib
JkDefrag Hero
*****
Posts: 810


View Profile
« Reply #1 on: February 14, 2010, 01:08:27 pm »

You should always attach the script you are having problem with unless it's a default one, it makes it easier to find the problem or bug.
Hovewer, it seems it isn't quite battle-ready yet. I haven't done much testing, but on the very first volume I've tried this, the zones after the one with movetoendofdisk() do not get consolidated with FastFill(). It looks somewhat like before when I've tried makegap(0) after the endofdisk zone in previous version - some weird unpredictable file movement, and then all the files are marked green.

So, can movetoendofdisk() be used not in the last zone? Manual doesn't mention it, so I assumed it can. Is it a bug then?
I haven't done too much testing either but for me it seems to work, I put the MoveToEndOfDisk() in the first zone and put MakeGap(0) right after and it seems to work correctly.

jonib
« Last Edit: February 14, 2010, 11:16:52 pm by jonib » Logged

jeroen
Administrator
JkDefrag Hero
*****
Posts: 7155



View Profile WWW
« Reply #2 on: February 14, 2010, 02:30:14 pm »

So, can movetoendofdisk() be used not in the last zone? Manual doesn't mention it, so I assumed it can. Is it a bug then?
Ah, I see a problem. MyDefrag automatically adjusts the zone pointer upwards by the size of the files in a zone, but it should not do that for MoveToEndOfDisk(). I will fix this in the next version. So at the moment MoveToEndOfDisk() will only work properly if used in the last zone, or by adjusting the zonebegin, as Jonib suggests.
Logged
ff_mfg
JkDefrag Hero
*****
Posts: 51


View Profile
« Reply #3 on: February 14, 2010, 02:53:17 pm »

I haven't done too much testing either but for me it seems to work, I but the MoveToEndOfDisk() in the first zone and put MakeGap(0) right after and it seems to work correctly.
Ah! Thanks, with MakeGap(0) it works. Again, no mention of a need to "reset" the "pointer" after using MoveToEndOfDisk() in the manual, so I assumed it's taken care of automatically. Actually, without autoreset to the end of previous zone things look really messy in the boolean select, 'cause we have to exclude all the zones that go in the beginning (assuming we use MakeGap(0)), and if they already have long boolean expressions... it's not pretty. I think really there should be autoreset to the end of previous zone. Otherwise it's only faster than the previous MakeGap(MaxNextZone) approach, not cleaner. Also, mentioned previous approach optimizes in one pass (though slow while initial migration to the end is going on), while this new can't move unselected files down from the end of disk, so it could take anywhere from 1 to quite a number of passes (while also generating space fragmentation).
Essentially, it works good only if freespace is consolidated already (and is plentyful).

P.S. Or am I missing something? Maybe I can use something like
<previous zone>
 saved=ZoneEnd
FileEnd

FileSelect
 <files to the end>
FileActions
 MoveToEndOfDisk()
FileEnd

MakeGap(0)
MakeGap(saved,DoNotVacate)
?
Logged
ff_mfg
JkDefrag Hero
*****
Posts: 51


View Profile
« Reply #4 on: February 14, 2010, 02:59:23 pm »

Ah, I see a problem. MyDefrag automatically adjusts the zone pointer upwards by the size of the files in a zone, but it should not do that for MoveToEndOfDisk(). I will fix this in the next version. So at the moment MoveToEndOfDisk() will only work properly if used in the last zone, or by adjusting the zonebegin, as Jonib suggests.
Ah. Thanks. Scratch that autoreset nonsense Smiley Do not adjust forward is the way to go)
The only missing feature now is the 1-pass optimize (moving unselected files down).
Actually, something like FastFillUp(WithShuffling) would be even better, but a man can dream...)
Logged
Pages: [1]
  Print  
 
Jump to:  

Powered by MySQL Powered by PHP Powered by SMF 1.1.5 | SMF © 2006-2008, Simple Machines LLC Valid XHTML 1.0! Valid CSS!