Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 299386 - sys-fs/e2fsprogs-1.41.9: e2freefrag processes getopt() oddly on unsigned char hosts
Summary: sys-fs/e2fsprogs-1.41.9: e2freefrag processes getopt() oddly on unsigned char...
Status: RESOLVED FIXED
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: [OLD] Core system (show other bugs)
Hardware: PPC Linux
: High normal (vote)
Assignee: Gentoo's Team for Core System packages
URL: https://sourceforge.net/tracker/?func...
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2010-01-02 20:00 UTC by Sebastian Koehler
Modified: 2010-12-29 06:49 UTC (History)
1 user (show)

See Also:
Package list:
Runtime testing required: ---


Attachments
posted this patch upstream (0001-fix-local-storage-of-getopt.patch,1.63 KB, patch)
2010-01-05 04:16 UTC, SpanKY
Details | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description Sebastian Koehler 2010-01-02 20:00:57 UTC
e2freefrag does not work and returns suspicious usage information.

Tried traditional volumes as well as volumes on LVM2. Tried device name and mount point as parameter.

plex ~ # e2freefrag /dev/hda3
e2freefrag: bad option '▒'
usage: e2freefrag [-c chunksize in kb] [-h] device_name
plex ~ # e2freefrag /boot
e2freefrag: bad option '▒'
usage: e2freefrag [-c chunksize in kb] [-h] device_name
plex ~ # e2freefrag /dev/rootvg/rootvol
e2freefrag: bad option '▒'
usage: e2freefrag [-c chunksize in kb] [-h] device_name
plex ~ # e2freefrag /
e2freefrag: bad option '▒'
usage: e2freefrag [-c chunksize in kb] [-h] device_name

Reproducible: Always

Steps to Reproduce:
1. invoke e2freefrag to determine current fragmentation of an ext3 filesystem
Actual Results:  
e2freefrag: bad option '▒'
usage: e2freefrag [-c chunksize in kb] [-h] device_name

Expected Results:  
filesystem fragmentation information as stated in manpage

plex ~ # emerge --info
Portage 2.1.6.13 (default/linux/powerpc/ppc32/10.0, gcc-4.3.4, glibc-2.9_p20081201-r2, 2.6.31-gentoo-r6 ppc)
=================================================================
System uname: Linux-2.6.31-gentoo-r6-ppc-7447A,_altivec_supported-with-gentoo-1.12.13
Timestamp of tree: Sat, 02 Jan 2010 09:15:01 +0000
app-shells/bash:     4.0_p35
dev-lang/python:     2.6.4
sys-apps/baselayout: 1.12.13
sys-apps/sandbox:    1.6-r2
sys-devel/autoconf:  2.63-r1
sys-devel/automake:  1.6.3, 1.9.6-r2, 1.10.2
sys-devel/binutils:  2.18-r3
sys-devel/gcc-config: 1.4.1
sys-devel/libtool:   2.2.6b
virtual/os-headers:  2.6.27-r2
ACCEPT_KEYWORDS="ppc"
CBUILD="powerpc-unknown-linux-gnu"
CFLAGS="-O2 -mcpu=G4 -mtune=G4 -maltivec -mabi=altivec -fno-strict-aliasing -pipe"
CHOST="powerpc-unknown-linux-gnu"
CONFIG_PROTECT="/etc"
CONFIG_PROTECT_MASK="/etc/ca-certificates.conf /etc/env.d /etc/fonts/fonts.conf /etc/gconf /etc/revdep-rebuild /etc/sandbox.d /etc/splash /etc/terminfo /etc/udev/rules.d"
CXXFLAGS="-O2 -mcpu=G4 -mtune=G4 -maltivec -mabi=altivec -fno-strict-aliasing -pipe"
DISTDIR="/usr/portage/distfiles"
FEATURES="distlocks fixpackages parallel-fetch protect-owned sandbox sfperms strict unmerge-orphans userfetch"
GENTOO_MIRRORS="ftp://ftp.tu-clausthal.de/pub/linux/gentoo/ ftp://sunsite.informatik.rwth-aachen.de/pub/Linux/gentoo http://linux.rz.ruhr-uni-bochum.de/download/gentoo-mirror/ ftp://linux.rz.ruhr-uni-bochum.de/gentoo-mirror/ http://ftp.uni-erlangen.de/pub/mirrors/gentoo ftp://ftp.uni-erlangen.de/pub/mirrors/gentoo ftp://ftp.join.uni-muenster.de/pub/linux/distributions/gentoo ftp://ftp.wh2.tu-dresden.de/pub/mirrors/gentoo ftp://ftp.join.uni-muenster.de/pub/linux/distributions/gentoo http://mirrors.sec.informatik.tu-darmstadt.de/gentoo/ http://ftp-stud.fht-esslingen.de/pub/Mirrors/gentoo/ ftp://ftp-stud.fht-esslingen.de/pub/Mirrors/gentoo/ http://gentoo.mneisen.org/ http://de-mirror.org/distro/gentoo/ ftp://de-mirror.org/distro/gentoo/ "
LDFLAGS="-Wl,-O1"
MAKEOPTS="-j2"
PKGDIR="/usr/portage/packages"
PORTAGE_CONFIGROOT="/"
PORTAGE_RSYNC_OPTS="--recursive --links --safe-links --perms --times --compress --force --whole-file --delete --stats --timeout=180 --exclude=/distfiles --exclude=/local --exclude=/packages"
PORTAGE_TMPDIR="/var/tmp"
PORTDIR="/usr/portage"
PORTDIR_OVERLAY="/usr/local/portage"
SYNC="rsync://rsync.europe.gentoo.org/gentoo-portage"
USE="aac acl altivec apm bash-completion berkdb bzip2 cli cracklib crypt curl cxx daemon dri dvd dvdread encode exif expat fbcon fbcondecor ffmpeg flac fortran gdbm gpm iconv javascript jpeg logging matroska mng modules mp3 mudflap mysql ncurses network nls nptl nptlonly ogg openmp pam pcre perl png ppc pppd python readline reflection remote rtsp session softquota spl ssl stream sysfs syslog taglib tcpd truetype unicode upnp vlc vorbis winbind xmlrpc xorg xvid zlib" ALSA_CARDS="aoa aoa-fabric-layout aoa-onyx aoa-soundbus aoa-soundbus-i2s aoa-tas aoa-toonie powermac usb-audio via82xx" ALSA_PCM_PLUGINS="adpcm alaw asym copy dmix dshare dsnoop empty extplug file hooks iec958 ioplug ladspa lfloat linear meter mmap_emul mulaw multi null plug rate route share shm softvol" APACHE2_MODULES="actions alias auth_basic authn_alias authn_anon authn_dbm authn_default authn_file authz_dbm authz_default authz_groupfile authz_host authz_owner authz_user autoindex cache dav dav_fs dav_lock deflate dir disk_cache env expires ext_filter file_cache filter headers include info log_config logio mem_cache mime mime_magic negotiation rewrite setenvif speling status unique_id userdir usertrack vhost_alias" ELIBC="glibc" INPUT_DEVICES="keyboard mouse evdev" KERNEL="linux" LCD_DEVICES="bayrad cfontz cfontz633 glk hd44780 lb216 lcdm001 mtxorb ncurses text" RUBY_TARGETS="ruby18" USERLAND="GNU" VIDEO_CARDS="fbdev glint mach64 mga nv r128 radeon savage tdfx trident voodoo"
Unset:  CPPFLAGS, CTARGET, EMERGE_DEFAULT_OPTS, FFLAGS, INSTALL_MASK, LANG, LC_ALL, LINGUAS, PORTAGE_COMPRESS, PORTAGE_COMPRESS_FLAGS, PORTAGE_RSYNC_EXTRA_OPTS
Comment 1 SpanKY gentoo-dev 2010-01-05 04:08:50 UTC
ppc defaults to unsigned chars which causes the getopt test to be (255 != -1) and then it outputs that.  getopt returns an "int", not a "char" or "unsigned char".
Comment 2 SpanKY gentoo-dev 2010-01-05 04:16:54 UTC
Created attachment 215225 [details, diff]
posted this patch upstream

seems like there's three files that have this problem
Comment 3 Sebastian Koehler 2010-07-02 16:19:55 UTC
Anything new from upstream? I've applied the patch against the latest stable version of e2fsprogs-1.41.12 and it's working.

plex e2fsprogs # e2freefrag /dev/mapper/system-rootvol
Device: /dev/mapper/system-rootvol
Blocksize: 4096 bytes
Total blocks: 37728256
Free blocks: 2063475 (5.5%)

Min. free extent: 4 KB
Max. free extent: 129016 KB
Avg. free extent: 196 KB

HISTOGRAM OF FREE EXTENT SIZES:
Extent Size Range :  Free extents   Free Blocks  Percent
    4K...    8K-  :          4915          4915    0.24%
    8K...   16K-  :          7353         18523    0.90%
   16K...   32K-  :         15198         78509    3.80%
   32K...   64K-  :          3791         40911    1.98%
   64K...  128K-  :          2885         64508    3.13%
  128K...  256K-  :          2797        127032    6.16%
  256K...  512K-  :          2299        207534   10.06%
  512K... 1024K-  :          1680        299746   14.53%
    1M...    2M-  :           831        289049   14.01%
    2M...    4M-  :           249        173369    8.40%
    4M...    8M-  :            61         75669    3.67%
    8M...   16M-  :            15         49981    2.42%
   16M...   32M-  :             9         59501    2.88%
   32M...   64M-  :            10        123252    5.97%
   64M...  128M-  :            16        450976   21.86%

Regards,
Sebastian
Comment 4 Theodore Tso 2010-07-05 18:57:48 UTC
Sorry for the delay, I've applied it into e2fsprogs's git tree in the maint branch.
Comment 5 SpanKY gentoo-dev 2010-12-29 06:49:35 UTC
fix is part of upstream 1.41.14 release