On Thu, Feb 21, 2013 at 10:10:57AM -0600, Eric Sandeen wrote:
> On 2/21/13 9:10 AM, Swâmi Petaramesh wrote:
> > Le 21/02/2013 16:01, Hugo Mills a écrit :
> >> That's a success. The return code for defrag is broken, and for some
> >> reason returns 20 on success.
> >
> > Thanks for the quick reply Hugo. So should I script that "for now and
> > the future", $? 20 = OK ?
>
> Heh:
>
> static int cmd_defrag(int argc, char **argv)
> {
>
> <snip>
> if (errors) {
> fprintf(stderr, "total %d failures\n", errors);
> exit(1);
> }
>
> return errors + 20;
> }
>
> what the . . . It's the only command in the file that adds
> some random number to the 0 success return. I have no idea
> what that could possibly be for.
It's been a minor pain in the arse for some time.
> Unless someone can document & explain the rationale for all these crazy
> error values I think they need to be ripped out & sanitized.
I asked about the rationale a couple of years ago. IIRC, it was
simply to try to ensure that they were all unique. They're
undocumented, and always have been.
Hugo.
> For scripting I suppose I'd say "0 or 20 is OK"
>
> -Eric
>
> >> This is pretty good. You can't guarantee that any given file will be
> >> defragmented completely. I think if the file is large (bigger than a
> >> block group), then it'll be split across the block group boundaries.
> >> I'd say 3 fragments is pretty good, unless it's a couple of KiB in
> >> size... Hugo.
> >
> > Isn't filefrag supposed to report only non-consecutive fragments ?
> >
> > If not, at which number of fragments would you advise me to defrag a file ?
> >
> > (Another question would be : How to check directory fragmentation ?)
> >
> > Something extremely weird happened here : I just ran filefrag -v twice
> > on this very file, and it gave me very different results... I don't
> > expect the file to have changed although, as this is an initramfs which
> > gets updated only when critical packages are - and no update of any kind
> > took place between the 2 very different reports... Any clue ?
> >
> > Once :
> >
> > # filefrag -v /boot/initrd.img-3.5.0-24-generic
> > Filesystem type is: 9123683e
> > File size of /boot/initrd.img-3.5.0-24-generic is 22809774 (5569 blocks,
> > blocksize 4096)
> > ext logical physical expected length flags
> > 0 0 94048 128
> > 1 128 94176 128
> > 2 256 94304 128
> > 3 384 94432 128
> > 4 512 94560 128
> > 5 640 94688 128
> > 6 768 94816 128
> > 7 896 94944 128
> > 8 1024 95072 128
> > 9 1152 95200 128
> > 10 1280 95328 128
> > 11 1408 95456 128
> > 12 1536 95584 128
> > 13 1664 95712 128
> > 14 1792 127044 95840 128
> > 15 1920 127172 128
> > 16 2048 127300 128
> > 17 2176 127428 128
> > 18 2304 127556 128
> > 19 2432 127684 128
> > 20 2560 127812 128
> > 21 2688 127940 128
> > 22 2816 128068 128
> > 23 2944 128196 128
> > 24 3072 128324 128
> > 25 3200 128452 128
> > 26 3328 128580 128
> > 27 3456 128708 128
> > 28 3584 128836 128
> > 29 3712 128964 128
> > 30 3840 129092 128
> > 31 3968 129220 128
> > 32 4096 129348 128
> > 33 4224 129476 128
> > 34 4352 129604 128
> > 35 4480 129732 128
> > 36 4608 129860 128
> > 37 4736 129988 128
> > 38 4864 130116 128
> > 39 4992 130244 128
> > 40 5120 130372 128
> > 41 5248 130500 128
> > 42 5376 130628 128
> > 43 5504 21832 130756 65 eof
> > /boot/initrd.img-3.5.0-24-generic: 3 extents found
> >
> > ...and then...:
> >
> > # filefrag -v /boot/initrd.img-3.5.0-24-generic
> > Filesystem type is: 9123683e
> > File size of /boot/initrd.img-3.5.0-24-generic is 22809774 (5569 blocks,
> > blocksize 4096)
> > ext logical physical expected length flags
> > 0 0 94048 1792
> > 1 1792 127044 95840 3712
> > 2 5504 21832 130756 65 eof
> > /boot/initrd.img-3.5.0-24-generic: 3 extents found
> >
> > I'm puzzled...
> >
>
--
=== Hugo Mills: hugo@... carfax.org.uk | darksatanic.net | lug.org.uk ===
PGP key: 515C238D from wwwkeys.eu.pgp.net or http://www.carfax.org.uk
--- I get nervous when I see words like 'mayhaps' in a novel, ---
because I fear that just round the corner
is lurking 'forsooth'
Attachment:
signature.asc
Description: Digital signature
