mirror of https://gitee.com/Nocallback/glibc.git
Browse Source
* sysdeps/unix/sysv/linux/internal_statvfs.c (__internal_statvfs): Avoid infinite loops in case the mounts file is hosed. * io/Makefile: Add rules to build and run tst-statvfs. * io/tst-statvfs.c: New file.cvs/fedora-2_3-branch
4 changed files with 46 additions and 5 deletions
@ -0,0 +1,30 @@ |
|||
#include <stdio.h> |
|||
#include <sys/statvfs.h> |
|||
|
|||
|
|||
/* This test cannot detect many errors. But it will fail if the
|
|||
statvfs is completely hosed and it'll detect a missing export. So |
|||
it is better than nothing. */ |
|||
static int |
|||
do_test (int argc, char *argv[]) |
|||
{ |
|||
for (int i = 1; i < argc; ++i) |
|||
{ |
|||
struct statvfs st; |
|||
if (statvfs (argv[i], &st) != 0) |
|||
printf ("%s: failed (%m)\n", argv[i]); |
|||
else |
|||
printf ("%s: free: %llu, mandatory: %s\n", argv[i], |
|||
(unsigned long long int) st.f_bfree, |
|||
#ifdef ST_MANDLOCK |
|||
(st.f_flag & ST_MANDLOCK) ? "yes" : "no" |
|||
#else |
|||
"no" |
|||
#endif |
|||
); |
|||
} |
|||
return 0; |
|||
} |
|||
|
|||
#define TEST_FUNCTION do_test (argc, argv) |
|||
#include "../test-skeleton.c" |
|||
Loading…
Reference in new issue