about summary refs log tree commit diff
path: root/sysdeps/unix/sysv/linux/pathconf.c
diff options
context:
space:
mode:
Diffstat (limited to 'sysdeps/unix/sysv/linux/pathconf.c')
-rw-r--r--sysdeps/unix/sysv/linux/pathconf.c12
1 files changed, 8 insertions, 4 deletions
diff --git a/sysdeps/unix/sysv/linux/pathconf.c b/sysdeps/unix/sysv/linux/pathconf.c
index 50a4b3ada4..6115335334 100644
--- a/sysdeps/unix/sysv/linux/pathconf.c
+++ b/sysdeps/unix/sysv/linux/pathconf.c
@@ -30,11 +30,15 @@ static long int posix_pathconf (const char *file, int name);
 long int
 __pathconf (const char *file, int name)
 {
-  if (name == _PC_LINK_MAX)
+  struct statfs fsbuf;
+
+  switch (name)
     {
-      struct statfs fsbuf;
+    case _PC_LINK_MAX:
       return statfs_link_max (__statfs (file, &fsbuf), &fsbuf);
+    case _PC_FILESIZEBITS:
+      return statfs_filesize_max (__statfs (file, &fsbuf), &fsbuf);
+    default:
+      return posix_pathconf (file, name);
     }
-
-  return posix_pathconf (file, name);
 }