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'
signature.asc
Description: Digital signature