On Sat, Aug 8, 2009 at 12:40 AM, <meino.cra...@gmx.de> wrote: > Paul Hartman <paul.hartman+gen...@gmail.com> [09-08-03 23:09]: >> On Mon, Aug 3, 2009 at 3:22 PM, Grant<emailgr...@gmail.com> wrote: >> > I know Linux systems aren't supposed to become fragmented, but I've >> > also read that it can happen eventually. I'm on ext3. I've read that >> > ext4 will have a defragmenter but that it doesn't have one yet. >> >> It's not that they aren't supposed to become fragmented, it is that >> they try to avoid it. There is a big difference, and things like >> streaming writes (downloads, bittorrents, etc) can cause extreme >> fragmentation. >> >> The time-honored way of fixing this is "backup, delete, restore". In >> my case my simple defragmenter is to move a file to tmpfs and then >> move it back to the hard drive. I always do this to files I'm about to >> burn to a CD/DVD to ensure the read speed is optimal. >> >> > Has anyone tried the shake defragmenter? >> >> Yes, nothing has blown up yet. :) > > Hi, > > does anyone know a source of information -- except reading the C-source > of shake itsself -- what the meaning of the different columns of > > shake -pvv <dir> > > are ?
No. :) There's no documentation really. The source cide is funny, everything is named after law, investigations, accused, trials and judgments. :) There best I can do is reproduce the part of the source that shows this info and hope you can infer from the names what they are showing: /* Show statistics about an accused */ void show_reg (struct accused *a, struct law *l) { /* Show file status */ printf ("%lli\t%lli\t%lli\t%i\t%i\t%i\t%i\t%s", a->ideal, a->start / 1024, a->end / 1024, a->fragc, a->crumbc, (int) (a->age / 3600 / 24), a->guilty, a->name); /* And, eventualy, list of frags and crumbs */ if (l->verbosity > 2 && a->poslog && a->poslog[0] != -1) { uint n; putchar ('\t'); for (n = 0; a->sizelog[n + 1] != -1; n++) printf ("%lli:%lli,", a->poslog[n] / 1024, a->sizelog[n] / 1024); printf ("%lli:%lli\n", a->poslog[n] / 1024, a->sizelog[n] / 1024); } else putchar ('\n'); }