about summary refs log tree commit diff
diff options
context:
space:
mode:
-rw-r--r--ChangeLog6
-rw-r--r--NEWS12
-rw-r--r--sysdeps/posix/pathconf.c14
3 files changed, 15 insertions, 17 deletions
diff --git a/ChangeLog b/ChangeLog
index ae8cab2b75..414e04356d 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,9 @@
+2014-04-09  Peter Brett  <peter@peter-b.co.uk>
+
+	[BZ #15514]
+	* sysdeps/posix/pathconf.c (__pathconf): Use statvfs64() for
+	pathconf(_PC_NAME_MAX).
+
 2014-04-09  Adhemerval Zanella  <azanella@linux.vnet.ibm.com>
 
 	* nptl/sysdeps/pthread/pthread.h (__PTHREAD_MUTEX_HAVE_ELISION):
diff --git a/NEWS b/NEWS
index db8cc103ee..441eae3be1 100644
--- a/NEWS
+++ b/NEWS
@@ -9,12 +9,12 @@ Version 2.20
 
 * The following bugs are resolved with this release:
 
-  6804, 13347, 15347, 15804, 15894, 16002, 16198, 16284, 16348, 16349,
-  16357, 16362, 16447, 16532, 16545, 16574, 16599, 16600, 16609, 16610,
-  16611, 16613, 16623, 16632, 16634, 16639, 16642, 16648, 16649, 16670,
-  16674, 16677, 16680, 16683, 16689, 16695, 16701, 16706, 16707, 16712,
-  16713, 16714, 16731, 16739, 16743, 16758, 16759, 16760, 16770, 16786,
-  16789, 16799, 16800, 16815.
+  6804, 13347, 15347, 15514, 15804, 15894, 16002, 16198, 16284, 16348,
+  16349, 16357, 16362, 16447, 16532, 16545, 16574, 16599, 16600, 16609,
+  16610, 16611, 16613, 16623, 16632, 16634, 16639, 16642, 16648, 16649,
+  16670, 16674, 16677, 16680, 16683, 16689, 16695, 16701, 16706, 16707,
+  16712, 16713, 16714, 16731, 16739, 16743, 16758, 16759, 16760, 16770,
+  16786, 16789, 16799, 16800, 16815.
 
 * Running the testsuite no longer terminates as soon as a test fails.
   Instead, a file tests.sum (xtests.sum from "make xcheck") is generated,
diff --git a/sysdeps/posix/pathconf.c b/sysdeps/posix/pathconf.c
index 8aa55e0856..ac617d4a08 100644
--- a/sysdeps/posix/pathconf.c
+++ b/sysdeps/posix/pathconf.c
@@ -65,10 +65,10 @@ __pathconf (const char *path, int name)
     case _PC_NAME_MAX:
 #ifdef	NAME_MAX
       {
-	struct statfs buf;
+	struct statvfs64 sv;
 	int save_errno = errno;
 
-	if (__statfs (path, &buf) < 0)
+	if (__statvfs64 (path, &sv) < 0)
 	  {
 	    if (errno == ENOSYS)
 	      {
@@ -79,15 +79,7 @@ __pathconf (const char *path, int name)
 	  }
 	else
 	  {
-#ifdef _STATFS_F_NAMELEN
-	    return buf.f_namelen;
-#else
-# ifdef _STATFS_F_NAME_MAX
-	    return buf.f_name_max;
-# else
-	    return NAME_MAX;
-# endif
-#endif
+	    return sv.f_namemax;
 	  }
       }
 #else