updatedb from slocate-3.1-r1 appears to ignore the IONICE_CLASS option in /etc/updatedb.conf. Previous versions of updatedb may do this too, but I have not tested them. Reproducible: Always Steps to Reproduce: 1. Edit /etc/updatedb.conf, changing IONICE_CLASS to 3 (for idle). 2. Wait for updatedb to run through it's cron job or run updatedb as root. 3. Use "ionice -p `pidof updatedb`" to check the class & priority of updatedb. Actual Results: When updatedb is run by its cron job, the class and priority are "none: prio 0". When updatedb is run through "sudo updatedb -v", where the "-v" option was added to make it run long for long enough to check its io-niceness, its class and priority are shown as "none: prio 4". Expected Results: The class of updatedb should appear as "idle". This is the case when updatedb is invoked with the command, "sudo ionice -c 3 updatedb -v". Output of "equery belongs $(which ionice)": [ Searching for file(s) /usr/bin/ionice in *... ] sys-apps/util-linux-2.16.1 (/usr/bin/ionice) My modified /etc/updatedb.conf with IONICE_CLASS changed to 3 for idle: # /etc/updatedb.conf: config file for slocate # $Id: updatedb.conf,v 1.25 2008/12/02 20:09:15 vapier Exp $ # This file sets variables that are used by updatedb. # For more info, see the updatedb(1) manpage. # Filesystems that are pruned from updatedb database PRUNEFS="afs auto autofs cifs devfs devpts eventpollfs futexfs gfs hugetlbfs iso9660 mqueue ncpfs nfs NFS nfs4 nfsd nnpfs ocfs ocfs2 pipefs proc ramfs rpc_pipefs selinuxfs sfs shfs smbfs sockfs spufs subfs supermount sysfs tmpfs udf usbfs vperfctrfs" # Paths which are pruned from updatedb database PRUNEPATHS="/tmp /var/tmp /root/.ccache" # nice value to run at: see -n in nice(1) NICE="15" # ionice class to run at: see -c in ionice(1) IONICE_CLASS="3" # ionice priority to run at: see -n in ionice(1) IONICE_PRIORITY="7" /etc/cron.daily/slocate: #! /bin/sh if [ -x /usr/bin/updatedb ] then if [ -f /etc/updatedb.conf ] then nice /usr/bin/updatedb else nice /usr/bin/updatedb -f proc fi fi emerge --info: Portage 2.1.6.13 (hardened/linux/x86/10.0, gcc-4.3.4, glibc-2.9_p20081201-r2, 2.6.30-gentoo-r8-2009Dec05 i686) ================================================================= System uname: Linux-2.6.30-gentoo-r8-2009Dec05-i686-Intel-R-_Pentium-R-_M_processor_1.73GHz-with-gentoo-1.12.13 Timestamp of tree: Mon, 14 Dec 2009 17:15:01 +0000 ccache version 2.4 [enabled] app-shells/bash: 4.0_p35 dev-java/java-config: 2.1.9-r1 dev-lang/python: 2.6.4 dev-util/ccache: 2.4-r7 dev-util/cmake: 2.6.4-r3 sys-apps/baselayout: 1.12.13 sys-apps/sandbox: 1.6-r2 sys-devel/autoconf: 2.13, 2.63-r1 sys-devel/automake: 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="x86" CBUILD="i686-pc-linux-gnu" CFLAGS="-march=pentium-m -O2 -pipe" CHOST="i686-pc-linux-gnu" CONFIG_PROTECT="/etc /usr/share/X11/xkb /var/lib/hsqldb" CONFIG_PROTECT_MASK="/etc/ca-certificates.conf /etc/env.d /etc/env.d/java/ /etc/fonts/fonts.conf /etc/gconf /etc/revdep-rebuild /etc/sandbox.d /etc/terminfo /etc/texmf/language.dat.d /etc/texmf/language.def.d /etc/texmf/updmap.d /etc/texmf/web2c /etc/udev/rules.d" CXXFLAGS="-march=pentium-m -O2 -pipe" DISTDIR="/usr/portage/distfiles" FEATURES="ccache distlocks fixpackages parallel-fetch protect-owned sandbox sfperms strict unmerge-orphans userfetch" GENTOO_MIRRORS="http://www.gtlib.gatech.edu/pub/gentoo http://gentoo.mirrors.pair.com/ http://gentoo.netnitco.net http://open-systems.ufl.edu/mirrors/gentoo http://gentoo.mirrors.tds.net/gentoo ftp://mirror.datapipe.net/gentoo http://distfiles.gentoo.org http://www.ibiblio.org/pub/Linux/distributions/gentoo" LANG="en_US.utf8" LDFLAGS="-Wl,-O1" LINGUAS="en_US en" 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.namerica.gentoo.org/gentoo-portage" USE="X a52 aac acl acpi alsa bash-completion berkdb bluetooth bzip2 cairo caps cdparanoia cjk cli cracklib crypt cups cxx dbus dell divx dri dts dvb dvd eap-tls emacs encode exif fbcon ffmpeg flac ftp gd gdbm gif gmedia gnutls gpm gstreamer gtk hal hardened iconv ipv6 java javascript jpeg jpeg2k laptop libcaca logrotate lzo mad mailwrapper matroska mbrola mmx mmxext modules mp3 mpeg mudflap ncurses nls nptl nptlonly ogg openal opengl openmp pam pcmcia pcre pdf perl pic png ppds pppd prediction preview-latex python qt3support qt4 quicktime readline reflection samba scanner sdl session socks5 sound spell spl sse sse2 ssl svg sysfs tcpd theora threads tiff tk truetype unicode urandom usb v4l v4l2 vcd vlm vorbis wifi win32codecs wmf wmp wxwindows x86 xinerama xml xorg xulrunner xv xvid xvmc zlib" ALSA_CARDS="intel8x0" 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" CAMERAS="ptp2" ELIBC="glibc" INPUT_DEVICES="evdev synaptics" KERNEL="linux" LCD_DEVICES="bayrad cfontz cfontz633 glk hd44780 lb216 lcdm001 mtxorb ncurses text" LINGUAS="en_US en" RUBY_TARGETS="ruby18" USERLAND="GNU" VIDEO_CARDS="intel" Unset: CPPFLAGS, CTARGET, EMERGE_DEFAULT_OPTS, FFLAGS, INSTALL_MASK, LC_ALL, PORTAGE_COMPRESS, PORTAGE_COMPRESS_FLAGS, PORTAGE_RSYNC_EXTRA_OPTS
the change is in slocate-3.1-r2