Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 253162 - sys-fs/e2fsprogs-1.41.3 - "tune2fs -I 256" extremely slow
Summary: sys-fs/e2fsprogs-1.41.3 - "tune2fs -I 256" extremely slow
Status: RESOLVED FIXED
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: [OLD] Core system (show other bugs)
Hardware: All Linux
: High normal (vote)
Assignee: Gentoo's Team for Core System packages
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2008-12-30 17:46 UTC by Craig Andrews
Modified: 2009-01-04 17:08 UTC (History)
1 user (show)

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


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Craig Andrews gentoo-dev 2008-12-30 17:46:28 UTC
Running "tune2fs -I 256 /dev/sda1" where /dev/sda1 is reasonably big (say 100gb) and doesn't already have 256 byte inodes takes a LONG time. On my system, it's been running at full CPU for over 3 days non-stop.

Reproducible: Always

Steps to Reproduce:
1. Run "tune2fs -I 256 /dev/sda1" on a reasonably big (say 100gb) sda1 that doesn't already have 256 byte inodes
Actual Results:  
A *long* wait

Expected Results:  
A relatively short wait (perhaps a couple hours? I'm not exactly sure)

from http://marc.info/?l=linux-ext4&m=122672822822037&w=2
    tune2fs: Fix inefficient O(n**2) algorithms when expanding the inode size

    When running "tune2fs -I 256" on moderate to large filesystems, the
    time required to run tune2fs can take many hours (20+ before some
    users gave up in disgust). This was due to some O(n**2) and O(n*m)
    algorithms in move_block() and inode_scan_and_fix(), respectively.
Comment 1 Craig Andrews gentoo-dev 2008-12-30 17:50:03 UTC
I forgot emerge --info:
# emerge --info
Portage 2.1.6.4 (default/linux/amd64/2008.0, gcc-4.3.2, glibc-2.9_p20081201-r1, 2.6.27-gentoo-r4 x86_64)
=================================================================
System uname: Linux-2.6.27-gentoo-r4-x86_64-AMD_Athlon-tm-_64_Processor_3300+-with-gentoo-2.0.0
Timestamp of tree: Sun, 28 Dec 2008 19:15:01 +0000
distcc 3.1 x86_64-pc-linux-gnu [disabled]
ccache version 2.4 [enabled]
app-shells/bash:     3.2_p48
dev-java/java-config: 1.3.7-r1, 2.1.6-r1
dev-lang/python:     2.6.1
dev-util/ccache:     2.4-r8
dev-util/cmake:      2.6.2
sys-apps/baselayout: 2.0.0
sys-apps/openrc:     0.4.1
sys-apps/sandbox:    1.3.2
sys-devel/autoconf:  2.13, 2.63
sys-devel/automake:  1.5, 1.7.9-r1, 1.9.6-r2, 1.10.2
sys-devel/binutils:  2.18-r1
sys-devel/gcc-config: 1.4.0-r4
sys-devel/libtool:   2.2.6a
virtual/os-headers:  2.6.28
ACCEPT_KEYWORDS="amd64 ~amd64"
CBUILD="x86_64-pc-linux-gnu"
CFLAGS="-O2 -march=athlon64 -pipe -fomit-frame-pointer"
CHOST="x86_64-pc-linux-gnu"
CONFIG_PROTECT="/etc /usr/share/xbmc/userdata"
CONFIG_PROTECT_MASK="/etc/ca-certificates.conf /etc/env.d /etc/env.d/java/ /etc/fonts/fonts.conf /etc/gconf /etc/gentoo-release /etc/php/apache2-php5/ext-active/ /etc/php/cgi-php5/ext-active/ /etc/php/cli-php5/ext-active/ /etc/revdep-rebuild /etc/sandbox.d /etc/splash /etc/terminfo /etc/udev/rules.d"
CXXFLAGS="-O2 -march=athlon64 -pipe -fomit-frame-pointer"
DISTDIR="/usr/portage/distfiles"
FEATURES="ccache distlocks fixpackages parallel-fetch prelink protect-owned sandbox sfperms strict unmerge-orphans userfetch usersandbox"
GENTOO_MIRRORS="http://distfiles.gentoo.org http://distro.ibiblio.org/pub/linux/distributions/gentoo"
LDFLAGS="-Wl,--hash-style=both,-z,relro,--enable-new-dtags,-O1,-z,now,--as-needed"
LINGUAS="en"
MAKEOPTS="-j2"
PKGDIR="/usr/portage/packages"
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/layman/sunrise /usr/local/portage/layman/webapps-experimental /usr/local/portage/layman/openrc /usr/local/portage/layman/sabayon /usr/local/portage/layman/java-overlay /usr/local/portage"
SYNC="rsync://rsync.namerica.gentoo.org/gentoo-portage"
USE="3dnow X a52 aac acl acpi aiglx alsa amd64 animation apache2 artworkextra asf aspnet2 asyncns authdaemond avahi avi bash-completion berkdb bitmap-fonts bluetooth bzip2 cairo caps ccache cdda cdparanoia cdr chm cli cracklib crypt cups curl daap dbus dga divx4linux dlloader dpms dri dts dv dvb dvd dvdr dvdread encode exif fam fame fat fbcondecor fbsplash ffmpeg fftw firefox flac foomaticdb fortran freetype gaim gd gdbm geoip gif gimpprint glib glibc-omitfp glitz glut gnome gnutls gphoto2 gpm gstreamer gstreamer10 gtk gtk2 hal hardenedphp hbci howl howl-compat iconv ieee1394 imagemagick imap imlib innodb ipv6 isdnlog java java5 joystick jpeg jpeg2k junit kde kdehiddenvisibility lcms libfame libnotify libsamplerate libusb lirc live lm_sensors lzo mad maildir mdnsresponder-compat midi mjpeg mmap mms mmx mmxext mng mono motif mozilla mozsvg mp3 mpeg mpeg2 mplayer mudflap multilib musepack mysql mythtv nautilus ncurses network nls nptl nptlonly ntfs nvidia offensive ofx ogg oggvorbis openexr opengl openmp pam pango pcre pdf pdflib perl pic pie png pnp ppd ppds pppd prelude pulseaudio python qt qt3 qt4 quicktime rar readline reflection resolvconf rtc samba sasl screensaver sctp sdl session sharedmem shout snmp sox speex spell spl sqlite sse sse2 ssl suspend2 svg sysfs tcpd theora threads tiff transcode truetype truetype-fonts type-fonts unicode unzip upnp ups usb v4l v4l2 vcd videos vorbis webdav webservices wifi wmf wv x264 xanim xcb xine xinerama xml2 xorg xpm xprint xrandr xscreensaver xv xvid xvmc zeroconf zip zlib" ALSA_CARDS="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 auth_digest proxy proxy_ajp proxy_connect proxy_http" ELIBC="glibc" INPUT_DEVICES="evdev joystick keyboard mouse" KERNEL="linux" LCD_DEVICES="bayrad cfontz cfontz633 glk hd44780 lb216 lcdm001 mtxorb ncurses text" LINGUAS="en" LIRC_DEVICES="mceusb2" USERLAND="GNU" VIDEO_CARDS="nv nvidia"
Unset:  CPPFLAGS, CTARGET, EMERGE_DEFAULT_OPTS, FFLAGS, INSTALL_MASK, LANG, LC_ALL, PORTAGE_COMPRESS, PORTAGE_COMPRESS_FLAGS, PORTAGE_RSYNC_EXTRA_OPTS
Comment 2 Jeroen Roovers (RETIRED) gentoo-dev 2009-01-03 03:16:31 UTC
Which version of sys-fs/e2fsprogs do you use?
Comment 3 Craig Andrews gentoo-dev 2009-01-03 21:41:12 UTC
I'm using e2fsprogs-1.41.3 (the latest in portage right now, and the latest released version).
Comment 4 SpanKY gentoo-dev 2009-01-04 17:08:21 UTC
added patch from upstream git to 1.41.3-r1

http://sources.gentoo.org/sys-fs/e2fsprogs/files/e2fsprogs-1.41.3-tune2fs-opt.patch?rev=1.1