Handle cgroup and btrfs filesystems

This commit is contained in:
Andreas Jaeger 2010-10-01 10:49:47 -04:00 committed by Ulrich Drepper
parent 91c4255919
commit 6484ba5ef0
4 changed files with 27 additions and 2 deletions

View File

@ -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.

View 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");

View 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
@ -37,6 +37,12 @@
/* 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

View 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: