[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Thu, Sep 10, 2009 at 7:52 AM, Gordon Messmer <[email protected]> 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

-- 
fedora-list mailing list
[email protected]
To unsubscribe: https://www.redhat.com/mailman/listinfo/fedora-list
Guidelines: http://fedoraproject.org/wiki/Communicate/MailingListGuidelines

[Index of Archives]     [Current Fedora Users]     [Fedora Desktop]     [Fedora SELinux]     [Yosemite News]     [Yosemite Photos]     [KDE Users]     [Fedora Tools]     [Fedora Docs]
  Powered by Linux