NOFLUSHD - An idle-disk daemon

This is noflushd, a daemon that spins down disks that have not been read from after a certain amount of time, and then prevents disk writes from spinning them back up. It's for use with kernel versions 2.2.11 and up, where the userland bdflush (update) daemon has been fully integrated in the new kernel thread kupdated (formerly known as kupdate). noflushd uses the sleep support logic from bdflush-1.6.2. bdflush was originally written by Eric Youngdale, Pavel Machek added the sleep support.


Okay, so you're seeing this message trying to start noflushd:

BUG at disk_info.c line 168: Unable to determine device dir
Segmentation fault (core dumped)
This is most probably triggered by one thing: You have compiled the device filesystem (devfs) into the kernel but haven't mounted it (yet). A look into /proc/partitions reveals whether you're running devfs. On a non-devfs kernel, the name field contains entries like hda, sda, hda1, etc. On a devfs kernel, it looks more like ide/host0/bus0/target0/lun0/disc, scsi/host0/bus0/target0/lun0/disc, ide/host0/bus0/target0/lun0/part1, etc.

On a devfs kernel, noflushd absolutely must be able to find the devfs somewhere within the filesystem. In other words, devfs needs to be mounted, or noflushd will BUG. Mounting to /devfs is probably a good idea. So first create the directory:

mkdir /devfs
Then mount devfs on it:
mount -t devfs /devfs
If you want the mount to survive a reboot, add the following to /etc/fstab:
none    /devfs  devfs   defaults        0       0
But of course, this is not your only option. The others being:


Version 2.7 of noflushd was released on Jan 20th 2004. It is available as a source tarball via http. This release adds support for the 2.6 Linux kernel series, and facilitates configuration on standard setups due to changed default behaviour. Random bug fixes and documentation updates have been supplies as well.

While noflushd ships with an RPM spec file that ought to work on (at least) RedHat and SuSE distribution, the noflushd author is a Debian native and RPM illiterate. RPMs therefore may be considered ill-supported. Matthias Saou, however, provides improved RPMs tailored for recent RedHat systems at Unlike the official spec file, his RPMs support persistent configuration data. RedHat users are encouraged to check it out.

Daring folks might be interested in noflushd's bleeding edge version which is now available via anonymous CVS as module noflushd from Just hit return when prompted for a password. There's also a daily CVSROOT snapshot. This is not a ready-to-use tarball, it's the raw repository that you can setup on your local machine.




Created: Oct, 28th, 2000 (dk)
Last changed: May, 3rd, 2004 (dk)