This is the mail archive of the libc-hacker@sourceware.org mailing list for the glibc project.
Note that libc-hacker is a closed list. You may look at the archives of this list, but subscription and posting are not open.
Index Nav: | [Date Index] [Subject Index] [Author Index] [Thread Index] | |
---|---|---|
Message Nav: | [Date Prev] [Date Next] | [Thread Prev] [Thread Next] |
Other format: | [Raw text] |
Here's a patch to handle btrfs and cgroup on Linux, Andreas 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. diff --git a/sysdeps/unix/sysv/linux/internal_statvfs.c b/sysdeps/unix/sysv/linux/internal_statvfs.c index 0169ae3..aefaf2a 100644 --- a/sysdeps/unix/sysv/linux/internal_statvfs.c +++ b/sysdeps/unix/sysv/linux/internal_statvfs.c @@ -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"); diff --git a/sysdeps/unix/sysv/linux/linux_fsinfo.h b/sysdeps/unix/sysv/linux/linux_fsinfo.h index b10e98b..8efbdea 100644 --- a/sysdeps/unix/sysv/linux/linux_fsinfo.h +++ b/sysdeps/unix/sysv/linux/linux_fsinfo.h @@ -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 diff --git a/sysdeps/unix/sysv/linux/pathconf.c b/sysdeps/unix/sysv/linux/pathconf.c index db03529..ae597fb 100644 --- a/sysdeps/unix/sysv/linux/pathconf.c +++ b/sysdeps/unix/sysv/linux/pathconf.c @@ -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: -- Andreas Jaeger, Program Manager openSUSE, aj@{novell.com,opensuse.org} Twitter: jaegerandi | Identica: jaegerandi SUSE LINUX Products GmbH, GF: Markus Rex, HRB 16746 (AG Nürnberg) Maxfeldstr. 5, 90409 Nürnberg, Germany GPG fingerprint = 93A3 365E CE47 B889 DF7F FED1 389A 563C C272 A126 -- Andreas Jaeger, Program Manager openSUSE, aj@{novell.com,opensuse.org} Twitter: jaegerandi | Identica: jaegerandi SUSE LINUX Products GmbH, GF: Markus Rex, HRB 16746 (AG Nürnberg) Maxfeldstr. 5, 90409 Nürnberg, Germany GPG fingerprint = 93A3 365E CE47 B889 DF7F FED1 389A 563C C272 A126
Index Nav: | [Date Index] [Subject Index] [Author Index] [Thread Index] | |
---|---|---|
Message Nav: | [Date Prev] [Date Next] | [Thread Prev] [Thread Next] |