On Thu, Sep 10, 2009 at 7:52 AM, Gordon Messmer <yinyang@xxxxxxxxx> 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 fedora-list@xxxxxxxxxx To unsubscribe: https://www.redhat.com/mailman/listinfo/fedora-list Guidelines: http://fedoraproject.org/wiki/Communicate/MailingListGuidelines