]> git.ipfire.org Git - thirdparty/glibc.git/commitdiff
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 44047187428af8d4a03afaa64e1fc59a14decb3e..62eb2ff130a302f69f413877b2ffb93dc827ca76 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 83ffb99c0530886e3df7520cc2776209acd8e08f..828854806c81b0da22d0d6b7d37b5ecff9d6ec1a 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 b10e98b46f3860416b8e87b0c7ce163d355ae43d..8efbdea42d51efa42ad562811790e0dde0630a76 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 db03529fe87f7b6f03cc1147af7024ceb8bbb7e1..ae597fb5ba101582a5eac1e3a741e9afcca75249 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: