From 430c2113c76440bca1223a7260bf8d416bf0320d Mon Sep 17 00:00:00 2001 From: David van Moolenbroek Date: Tue, 20 Aug 2013 01:33:43 +0200 Subject: [PATCH] Enable getmntinfo(3) Change-Id: Ida9b0660471bb9fde3cdca6c9b9fd9e94341e02f --- lib/libc/gen/Makefile.inc | 4 ++-- sbin/newfs_ext2fs/newfs_ext2fs.c | 15 ++++----------- sys/sys/statvfs.h | 3 +++ 3 files changed, 9 insertions(+), 13 deletions(-) diff --git a/lib/libc/gen/Makefile.inc b/lib/libc/gen/Makefile.inc index 142fbb318..85fcb7573 100644 --- a/lib/libc/gen/Makefile.inc +++ b/lib/libc/gen/Makefile.inc @@ -9,7 +9,7 @@ .if defined(__MINIX) # Unsupported by Minix. -# closefrom.c confstr.c extattr.c getdevmajor.c getmntinfo.c \ +# closefrom.c confstr.c extattr.c getdevmajor.c \ # pthread_atfork.c setdomainname.c sethostname.c setproctitle.c \ # sysctl.c sysctlbyname.c sysctlgetmibinfo.c sysctlnametomib.c \ # devname.c wait3.c @@ -32,7 +32,7 @@ SRCS+= _errno.c alarm.c alphasort.c arc4random.c assert.c basename.c clock.c \ fts.c ftw.c getbsize.c getcap.c getcwd.c \ getdomainname.c getgrent.c \ getgrouplist.c getgroupmembership.c gethostname.c \ - getloadavg.c getlogin.c \ + getloadavg.c getlogin.c getmntinfo.c \ getnetgrent.c getpagesize.c \ getpass.c getprogname.c getpwent.c getttyent.c \ getusershell.c glob.c humanize_number.c initdir.c initgroups.c \ diff --git a/sbin/newfs_ext2fs/newfs_ext2fs.c b/sbin/newfs_ext2fs/newfs_ext2fs.c index f3cc5ad89..1c79f8467 100644 --- a/sbin/newfs_ext2fs/newfs_ext2fs.c +++ b/sbin/newfs_ext2fs/newfs_ext2fs.c @@ -136,12 +136,12 @@ main(int argc, char *argv[]) #ifndef __minix struct disk_geom geo; struct dkwedge_info dkw; - struct statvfs *mp; - char *s2; - int len, n; #else u64_t minix_fssize; #endif + struct statvfs *mp; + char *s2; + int len, n; struct stat sb; int ch, fsi, fso, Fflag, Iflag, Zflag; char *cp, *s1, *special; @@ -280,7 +280,6 @@ main(int argc, char *argv[]) if (fsi < 0 || fstat(fsi, &sb) == -1) err(EXIT_FAILURE, "%s: open for read", special); -#ifndef __minix if (!Nflag) { fso = open(special, O_WRONLY, 0); if (fso < 0) @@ -312,6 +311,7 @@ main(int argc, char *argv[]) } } +#ifndef __minix if (getdiskinfo(special, fsi, disktype, &geo, &dkw) == -1) errx(EXIT_FAILURE, lmsg, special); @@ -335,12 +335,6 @@ main(int argc, char *argv[]) } } #else - { - fso = open(special, O_WRONLY, 0); - if (fso < 0) - err(EXIT_FAILURE, - "%s: open for write", special); - if(minix_sizeup(special, &minix_fssize) < 0) errx(EXIT_FAILURE, "minix_sizeup failed"); @@ -349,7 +343,6 @@ main(int argc, char *argv[]) if (sectorsize == 0) sectorsize = 512; - } #endif } diff --git a/sys/sys/statvfs.h b/sys/sys/statvfs.h index 5a17b255d..c6a92df5d 100644 --- a/sys/sys/statvfs.h +++ b/sys/sys/statvfs.h @@ -118,6 +118,9 @@ __BEGIN_DECLS int statvfs(const char *__restrict, struct statvfs *__restrict); int fstatvfs(int, struct statvfs *); int getvfsstat(struct statvfs *, size_t, int); +#ifndef __LIBC12_SOURCE__ +int getmntinfo(struct statvfs **, int) __RENAME(__getmntinfo13); +#endif /* __LIBC12_SOURCE__ */ int statvfs1(const char *__restrict, struct statvfs *__restrict, int); int fstatvfs1(int, struct statvfs *, int);