SELinux Exim Problem

Didar Hossain didar.hossain at gmail.com
Thu Sep 10 07:39:28 UTC 2009


On Thu, Sep 10, 2009 at 7:52 AM, Gordon Messmer <yinyang at eburg.com> wrote:
> Right.  IIRC, because some elements of the path may be symlinks or bind
> mounts, statvfs will stat() the path argument, and then stat() each
> filesystem in /proc/mounts.  It will compare the st_dev elements of each
> filesystem listed to the st_dev from the path in order to determine which fs
> actually contains the path argument.
>
> The question I'd ask is why exim is using statvfs() instead of statfs().

>From statfs(2):

CONFORMING TO
       Linux-specific.  The Linux statfs() was inspired by the 4.4BSD one (but
       they do not use the same structure).

NOTES
       The  kernel  has  system  calls  statfs(),  fstatfs(),  statfs64(), and
       fstatfs64() to support this library call.

       Some  systems  only  have  <sys/vfs.h>,   other   systems   also   have
       <sys/statfs.h>,  where  the  former  includes  the latter.  So it seems
       including the former is the best choice.

       LSB has deprecated the library calls statfs() and fstatfs()  and  tells
       us to use statvfs(2) and fstatvfs(2) instead.

So, using statvfs is the POSIX-ly right thing to do.

I think this discussion should really be had with upstream regarding
this problem.

Didar




More information about the fedora-list mailing list