[Exim] Re: check_spool_inodes / reiserfs / Linux 2.6 bug

Top Page
Delete this message
Reply to this message
Author: Philip Hazel
Date:  
To: Mark Bergsma
CC: mrten+exim, exim-users
Subject: [Exim] Re: check_spool_inodes / reiserfs / Linux 2.6 bug
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.