1
0
mirror of https://sourceware.org/git/glibc.git synced 2025-07-29 11:41:21 +03:00

* sysdeps/unix/sysv/linux/pathconf.h (statfs_link_max): Add inline.

(statfs_filesize_max): New function.
	* sysdeps/unix/sysv/linux/linux_fsinfo.h (JFFS_SUPER_MAGIC,
	JFFS2_SUPER_MAGIC, JFS_SUPER_MAGIC, NTFS_SUPER_MAGIC,
	ROMFS_SUPER_MAGIC, UDF_SUPER_MAGIC): Define.
	* sysdeps/unix/sysv/linux/fpathconf.c (__fpathconf): Use
	statfs_filesize_max.
	* sysdeps/unix/sysv/linux/pathconf.c (__pathconf): Likewise.
	* sysdeps/unix/sysv/linux/alpha/fpathconf.c: Removed.
	* sysdeps/unix/sysv/linux/alpha/pathconf.c: Removed.
This commit is contained in:
Roland McGrath
2002-10-18 19:03:55 +00:00
parent 2e9d4e8c88
commit 69c708edbc
7 changed files with 92 additions and 116 deletions

View File

@ -24,7 +24,7 @@
/* Used like: return statfs_link_max (__statfs (name, &buf), &buf); */
static long int
static inline long int
statfs_link_max (int result, const struct statfs *fsbuf)
{
if (result < 0)
@ -74,3 +74,43 @@ statfs_link_max (int result, const struct statfs *fsbuf)
return LINUX_LINK_MAX;
}
}
/* Used like: return statfs_filesize_max (__statfs (name, &buf), &buf); */
static inline long int
statfs_filesize_max (int result, const struct statfs *fsbuf)
{
if (result < 0)
{
if (errno == ENOSYS)
/* Not possible, return the default value. */
return 32;
/* Some error occured. */
return -1;
}
switch (fsbuf->f_type)
{
case EXT2_SUPER_MAGIC:
case UFS_MAGIC:
case UFS_CIGAM:
case REISERFS_SUPER_MAGIC:
case XFS_SUPER_MAGIC:
case SMB_SUPER_MAGIC:
case NTFS_SUPER_MAGIC:
case UDF_SUPER_MAGIC:
case JFS_SUPER_MAGIC:
return 64;
case MSDOS_SUPER_MAGIC:
case JFFS_SUPER_MAGIC:
case JFFS2_SUPER_MAGIC:
case NCP_SUPER_MAGIC:
case ROMFS_SUPER_MAGIC:
return 32;
default:
return 32;
}
}