Handle cgroup and btrfs filesystems
authorAndreas Jaeger <aj@suse.de>
Fri, 1 Oct 2010 14:49:47 +0000 (10:49 -0400)
committerUlrich Drepper <drepper@gmail.com>
Fri, 1 Oct 2010 14:49:47 +0000 (10:49 -0400)
ChangeLog
sysdeps/unix/sysv/linux/internal_statvfs.c
sysdeps/unix/sysv/linux/linux_fsinfo.h
sysdeps/unix/sysv/linux/pathconf.c

index 4404718..62eb2ff 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,12 @@
+2010-09-30  Andreas Jaeger  <aj@suse.de>
+
+       * sysdeps/unix/sysv/linux_fsinfo.h (BTRFS_SUPER_MAGIC): Define.
+       (CGROUP_SUPER_MAGIC): Define.
+       * sysdeps/unix/sysv/linux/internal_statvfs.c (__statvfs_getflags):
+       Handle btrfs and cgroup file systems.
+       * sysdeps/unix/sysv/linux/pathconf.c (__statfs_filesize_max):
+       Likewise.
+
 2010-09-27  Luis Machado  <luisgpm@br.ibm.com>
 
        * sysdeps/powerpc/powerpc32/rtld-memset.c: New file.
index 83ffb99..8288548 100644 (file)
@@ -109,6 +109,12 @@ __statvfs_getflags (const char *name, int fstype, struct stat64 *st)
     case LOGFS_MAGIC_U32:
       fsname = "logfs";
       break;
+    case BTRFS_SUPER_MAGIC:
+      fsname = "btrfs";
+      break;
+    case CGROUP_SUPER_MAGIC:
+      fsname = "cgroup";
+      break;
     }
 
   FILE *mtab = __setmntent ("/proc/mounts", "r");
index b10e98b..8efbdea 100644 (file)
@@ -23,7 +23,7 @@
 /* These definitions come from the kernel headers.  But we cannot
    include the headers here because of type clashes.  If new
    filesystem types will become available we have to add the
-   appropriate definitions here.*/
+   appropriate definitions here.  */
 
 /* Constant that identifies the `adfs' filesystem.  */
 #define ADFS_SUPER_MAGIC       0xadf5
 /* Constant that identifies the `bfs' filesystem.  */
 #define BFS_MAGIC              0x1BADFACE
 
+/* Constant that identifies the `btrfs' filesystem.  */
+#define BTRFS_SUPER_MAGIC      0x1BADFACE
+
+/* Constant that identifies the `cgroup' filesystem.  */
+#define CGROUP_SUPER_MAGIC     0x1BADFACE
+
 /* Constant that identifies the `coda' filesystem.  */
 #define CODA_SUPER_MAGIC       0x73757245
 
index db03529..ae597fb 100644 (file)
@@ -1,5 +1,5 @@
 /* Get file-specific information about a file.  Linux version.
-   Copyright (C) 1991,1995,1996,1998-2003,2008 Free Software Foundation, Inc.
+   Copyright (C) 1991,1995,1996,1998-2003,2008,2010 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
@@ -126,6 +126,9 @@ __statfs_filesize_max (int result, const struct statfs *fsbuf)
 
   switch (fsbuf->f_type)
     {
+    case BTRFS_SUPER_MAGIC:
+      return 255;
+
     case EXT2_SUPER_MAGIC:
     case UFS_MAGIC:
     case UFS_CIGAM:
@@ -136,6 +139,7 @@ __statfs_filesize_max (int result, const struct statfs *fsbuf)
     case UDF_SUPER_MAGIC:
     case JFS_SUPER_MAGIC:
     case VXFS_SUPER_MAGIC:
+    case CGROUP_SUPER_MAGIC:
       return 64;
 
     case MSDOS_SUPER_MAGIC: