On Tue, 24 Feb 2004, Mark Bergsma wrote:
> Some investigation showed that, due to check_spool_inodes being set in
> the configuration file, Exim does a statfs() on the spool directory and
> finds that there are no inodes left. The mail servers showing this
> behaviour are all using reiserfs. It appears that reiserfs in linux 2.6
> always returns value 0 for the f_ffree, which makes Exim think that
> there are no free inodes:
I wanted to use reiserfs on this workstation when I got it a few months
ago, but I wasn't able to because it couldn't then be automatically
dumped, using the tools we have set up. Otherwise I might have found
this problem!
> However, according to the manpage for statfs(), value 0 means 'undefined':
That seems true for Linux.
> I think this is a flaw in the design of the statfs() call, as there is
> no way for it to state that there are no inodes left for filesystems
> that do have this concept. However, I think this is a bug in Exim,
> because it should regard 0 as a special value.
Agreed.
> I do not know and I have not checked how statfs() behaves in this regard
> on other unix systems, but I hope this is not yet another incompatibility...
Probably. There's no mention of a special value for Solaris, for
example. I've added this bug to my worklist. Thanks for the report.
Philip
--
Philip Hazel University of Cambridge Computing Service,
ph10@??? Cambridge, England. Phone: +44 1223 334714.