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');
}

Reply via email to