From: Andreas Dilger Date: Thu, 7 Jul 2011 04:20:32 +0000 (-0400) Subject: Handle Lustre filesystem X-Git-Tag: upstream/2.20~5252 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=de283087c74f720cf8a7171972e72b5fa2b45e79;p=platform%2Fupstream%2Flinaro-glibc.git Handle Lustre filesystem --- diff --git a/ChangeLog b/ChangeLog index bed2e27..6225871 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,13 @@ +2011-07-07 Ulrich Drepper + + [BZ #12868] + * sysdeps/unix/sysv/linux/linux_fsinfo.h: Define Lustre constants. + * sysdeps/unix/sysv/linux/internal_statvfs.c (__statvfs_getflags): + Handle Lustre. + * sysdeps/unix/sysv/linux/pathconf.c (__statfs_link_max): Likewise. + (__statfs_filesize_max): Likewise. + Patch mostly by Andreas Dilger . + 2011-07-05 Andreas Jaeger * resolv/res_comp.c (dn_skipname): Remove unused variable. diff --git a/NEWS b/NEWS index dd5565f..f3cead3 100644 --- a/NEWS +++ b/NEWS @@ -9,7 +9,7 @@ Version 2.15 * The following bugs are resolved with this release: - 9696, 12874, 12885, 12907, 12922, 12935 + 9696, 12868, 12874, 12885, 12907, 12922, 12935 * New program pldd to list loaded object of a process Implemented by Ulrich Drepper. diff --git a/sysdeps/unix/sysv/linux/internal_statvfs.c b/sysdeps/unix/sysv/linux/internal_statvfs.c index 8288548..2ddec1e 100644 --- a/sysdeps/unix/sysv/linux/internal_statvfs.c +++ b/sysdeps/unix/sysv/linux/internal_statvfs.c @@ -1,4 +1,4 @@ -/* Copyright (C) 1998-2006, 2010 Free Software Foundation, Inc. +/* Copyright (C) 1998-2006, 2010, 2011 Free Software Foundation, Inc. This file is part of the GNU C Library. Contributed by Ulrich Drepper , 1998. @@ -115,6 +115,9 @@ __statvfs_getflags (const char *name, int fstype, struct stat64 *st) case CGROUP_SUPER_MAGIC: fsname = "cgroup"; break; + case LUSTRE_SUPER_MAGIC: + fsname = "lustre"; + 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 a0e0700..55bc6e3 100644 --- a/sysdeps/unix/sysv/linux/linux_fsinfo.h +++ b/sysdeps/unix/sysv/linux/linux_fsinfo.h @@ -1,5 +1,5 @@ /* Constants from kernel header for various FSes. - Copyright (C) 1998-2003,2005,2010 Free Software Foundation, Inc. + Copyright (C) 1998-2003,2005,2010,2011 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 @@ -83,6 +83,9 @@ /* Constant that identifies the `logfs' filesystem. */ #define LOGFS_MAGIC_U32 0xc97e8168u +/* Constant that identifies the `lustre' filesystem. */ +#define LUSTRE_SUPER_MAGIC 0x0BD00BD0 + /* Constants that identify the `minix2' filesystem. */ #define MINIX2_SUPER_MAGIC 0x2468 #define MINIX2_SUPER_MAGIC2 0x2478 @@ -150,6 +153,8 @@ /* Maximum link counts. */ #define COH_LINK_MAX 10000 #define EXT2_LINK_MAX 32000 +#define EXT4_LINK_MAX 65000 +#define LUSTRE_LINK_MAX EXT4_LINK_MAX #define MINIX2_LINK_MAX 65530 #define MINIX_LINK_MAX 250 #define REISERFS_LINK_MAX 64535 diff --git a/sysdeps/unix/sysv/linux/pathconf.c b/sysdeps/unix/sysv/linux/pathconf.c index 52610a1..42b7b80 100644 --- a/sysdeps/unix/sysv/linux/pathconf.c +++ b/sysdeps/unix/sysv/linux/pathconf.c @@ -121,6 +121,9 @@ __statfs_link_max (int result, const struct statfs *fsbuf) case XFS_SUPER_MAGIC: return XFS_LINK_MAX; + case LUSTRE_SUPER_MAGIC: + return LUSTRE_LINK_MAX; + default: return LINUX_LINK_MAX; } @@ -157,6 +160,7 @@ __statfs_filesize_max (int result, const struct statfs *fsbuf) case JFS_SUPER_MAGIC: case VXFS_SUPER_MAGIC: case CGROUP_SUPER_MAGIC: + case LUSTRE_SUPER_MAGIC: return 64; case MSDOS_SUPER_MAGIC: