aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--ChangeLog8
-rw-r--r--sysdeps/generic/fstatvfs64.c5
-rw-r--r--sysdeps/generic/statvfs64.c5
-rw-r--r--sysdeps/posix/fpathconf.c36
-rw-r--r--sysdeps/unix/sysv/linux/fstatvfs64.c5
-rw-r--r--sysdeps/unix/sysv/linux/statvfs64.c5
6 files changed, 55 insertions, 9 deletions
diff --git a/ChangeLog b/ChangeLog
index 80bc4e43ad..398502e214 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,11 +1,19 @@
2001-01-25 Ulrich Drepper <drepper@redhat.com>
+ * sysdeps/unix/sysv/linux/statvfs64.c: Rename to __statvfs64 and
+ make old name weak alias.
+ * sysdeps/generic/statvfs64.c: Likewise.
+ * sysdeps/unix/sysv/linux/fstatvfs64.c: Rename to __fstatvfs64 and
+ make old name weak alias.
+ * sysdeps/generic/fstatvfs64.c: Likewise.
+
* sysdeps/generic/bits/confname.h: Define _PC_REC_INCR_XFER_SIZE,
_PC_REC_MAX_XFER_SIZE, _PC_REC_MIN_XFER_SIZE, and
_PC_REC_XFER_ALIGN.
* sysdeps/posix/pathconf.c (__pathconf): Implement handling of
_PC_REC_INCR_XFER_SIZE, _PC_REC_MAX_XFER_SIZE,
_PC_REC_MIN_XFER_SIZE, and _PC_REC_XFER_ALIGN.
+ * sysdeps/posix/fpathconf.c (__fpathconf): Likewise.
* conform/conformtest.pl: Run Unix tests for XPG6.
Implement handling of known namespace violations.
diff --git a/sysdeps/generic/fstatvfs64.c b/sysdeps/generic/fstatvfs64.c
index c7efc0c1d5..a2aa5137a7 100644
--- a/sysdeps/generic/fstatvfs64.c
+++ b/sysdeps/generic/fstatvfs64.c
@@ -1,4 +1,4 @@
-/* Copyright (C) 1998 Free Software Foundation, Inc.
+/* Copyright (C) 1998, 2001 Free Software Foundation, Inc.
This file is part of the GNU C Library.
The GNU C Library is free software; you can redistribute it and/or
@@ -21,11 +21,12 @@
/* Return information about the filesystem on which FD resides. */
int
-fstatvfs64 (int fd, struct statvfs64 *buf)
+__fstatvfs64 (int fd, struct statvfs64 *buf)
{
__set_errno (ENOSYS);
return -1;
}
+weak_alias (__fstatvfs64, fstatvfs64)
stub_warning (fstatvfs64)
#include <stub-tag.h>
diff --git a/sysdeps/generic/statvfs64.c b/sysdeps/generic/statvfs64.c
index b9c19adf70..42f7928bfc 100644
--- a/sysdeps/generic/statvfs64.c
+++ b/sysdeps/generic/statvfs64.c
@@ -1,4 +1,4 @@
-/* Copyright (C) 1998 Free Software Foundation, Inc.
+/* Copyright (C) 1998, 2001 Free Software Foundation, Inc.
This file is part of the GNU C Library.
The GNU C Library is free software; you can redistribute it and/or
@@ -21,11 +21,12 @@
/* Return information about the filesystem on which FILE resides. */
int
-statvfs64 (const char *file, struct statvfs64 *buf)
+__statvfs64 (const char *file, struct statvfs64 *buf)
{
__set_errno (ENOSYS);
return -1;
}
+weak_alias (__statvfs64, statvfs64)
stub_warning (statvfs64)
#include <stub-tag.h>
diff --git a/sysdeps/posix/fpathconf.c b/sysdeps/posix/fpathconf.c
index ede91fbf95..c92afb9439 100644
--- a/sysdeps/posix/fpathconf.c
+++ b/sysdeps/posix/fpathconf.c
@@ -1,4 +1,4 @@
-/* Copyright (C) 1991, 1995, 1996, 1998, 2000 Free Software Foundation, Inc.
+/* Copyright (C) 1991,1995,1996,1998,2000,2001 Free Software Foundation, Inc.
This file is part of the GNU C Library.
The GNU C Library is free software; you can redistribute it and/or
@@ -167,6 +167,40 @@ __fpathconf (fd, name)
/* We let platforms with larger file sizes overwrite this value. */
return 32;
#endif
+
+ case _PC_REC_INCR_XFER_SIZE:
+ /* XXX It is not entirely clear what the limit is supposed to do.
+ What is incremented? */
+ return -1;
+
+ case _PC_REC_MAX_XFER_SIZE:
+ /* XXX It is not entirely clear what the limit is supposed to do.
+ In general there is no top limit of the number of bytes which
+ case be transported at once. */
+ return -1;
+
+ case _PC_REC_MIN_XFER_SIZE:
+ {
+ /* XXX It is not entirely clear what the limit is supposed to do.
+ I assume this is the block size of the filesystem. */
+ struct statvfs64 sv;
+
+ if (__fstatvfs64 (fd, &sv) < 0)
+ return -1;
+ return sv.f_bsize;
+ }
+
+ case _PC_REC_XFER_ALIGN:
+ {
+ /* XXX It is not entirely clear what the limit is supposed to do.
+ I assume that the number should reflect the minimal block
+ alignment. */
+ struct statvfs64 sv;
+
+ if (__fstatvfs64 (fd, &sv) < 0)
+ return -1;
+ return sv.f_frsize;
+ }
}
}
diff --git a/sysdeps/unix/sysv/linux/fstatvfs64.c b/sysdeps/unix/sysv/linux/fstatvfs64.c
index bc2165e3ee..99a3eda40f 100644
--- a/sysdeps/unix/sysv/linux/fstatvfs64.c
+++ b/sysdeps/unix/sysv/linux/fstatvfs64.c
@@ -1,5 +1,5 @@
/* Return information about the filesystem on which FD resides.
- Copyright (C) 1996, 1997, 1998, 2000 Free Software Foundation, Inc.
+ Copyright (C) 1996, 1997, 1998, 2000, 2001 Free Software Foundation, Inc.
This file is part of the GNU C Library.
The GNU C Library is free software; you can redistribute it and/or
@@ -23,7 +23,7 @@
/* Return information about the filesystem on which FD resides. */
int
-fstatvfs64 (int fd, struct statvfs64 *buf)
+__fstatvfs64 (int fd, struct statvfs64 *buf)
{
struct statvfs buf32;
@@ -45,3 +45,4 @@ fstatvfs64 (int fd, struct statvfs64 *buf)
return 0;
}
+weak_alias (__fstatvfs64, fstatvfs64)
diff --git a/sysdeps/unix/sysv/linux/statvfs64.c b/sysdeps/unix/sysv/linux/statvfs64.c
index 9417b23247..7800feab1b 100644
--- a/sysdeps/unix/sysv/linux/statvfs64.c
+++ b/sysdeps/unix/sysv/linux/statvfs64.c
@@ -1,5 +1,5 @@
/* Return information about the filesystem on which FILE resides.
- Copyright (C) 1998, 2000 Free Software Foundation, Inc.
+ Copyright (C) 1998, 2000, 2001 Free Software Foundation, Inc.
This file is part of the GNU C Library.
The GNU C Library is free software; you can redistribute it and/or
@@ -24,7 +24,7 @@
/* Return information about the filesystem on which FILE resides. */
int
-statvfs64 (const char *file, struct statvfs64 *buf)
+__statvfs64 (const char *file, struct statvfs64 *buf)
{
struct statvfs buf32;
@@ -46,3 +46,4 @@ statvfs64 (const char *file, struct statvfs64 *buf)
return 0;
}
+weak_alias (__statvfs64, statvfs64)