From: Nathan Scott Date: Tue, 20 Sep 2005 15:33:37 +0000 (+0000) Subject: Switch to using /proc/self/mounts instead of /etc/mtab now this has all we need. X-Git-Tag: v2.8.0~97 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=8fc372bc16ff1b95afbbf1923e1659e5c5aa4329;p=thirdparty%2Fxfsprogs-dev.git Switch to using /proc/self/mounts instead of /etc/mtab now this has all we need. Merge of master-melb:xfs-cmds:23863a by kenmcd. --- diff --git a/growfs/xfs_growfs.c b/growfs/xfs_growfs.c index 843fd5e80..01c9aa2f9 100644 --- a/growfs/xfs_growfs.c +++ b/growfs/xfs_growfs.c @@ -69,10 +69,12 @@ void report_info( xfs_fsop_geom_t geo, char *mntpoint, + int isint, + char *logname, + char *rtname, int unwritten, int dirversion, - int logversion, - int isint) + int logversion) { printf(_( "meta-data=%-22s isize=%-6u agcount=%u, agsize=%u blks\n" @@ -89,11 +91,11 @@ report_info( "", geo.blocksize, (unsigned long long)geo.datablocks, geo.imaxpct, "", geo.sunit, geo.swidth, unwritten, - dirversion, geo.dirblocksize, - isint ? _("internal") : _("external"), geo.blocksize, - geo.logblocks, logversion, + dirversion, geo.dirblocksize, + isint ? _("internal") : logname ? logname : _("external"), + geo.blocksize, geo.logblocks, logversion, "", geo.logsectsize, geo.logsunit / geo.blocksize, - geo.rtblocks ? _("external") : _("none"), + !geo.rtblocks ? _("none") : rtname ? rtname : _("external"), geo.rtextsize * geo.blocksize, (unsigned long long)geo.rtblocks, (unsigned long long)geo.rtextents); } @@ -249,8 +251,8 @@ main(int argc, char **argv) logversion = geo.flags & XFS_FSOP_GEOM_FLAGS_LOGV2 ? 2 : 1; if (nflag) { - report_info(geo, fname, unwritten, dirversion, logversion, - isint); + report_info(geo, datadev, isint, logdev, rtdev, + unwritten, dirversion, logversion); exit(0); } @@ -286,7 +288,8 @@ main(int argc, char **argv) exit(1); } - report_info(geo, fname, unwritten, dirversion, logversion, isint); + report_info(geo, datadev, isint, logdev, rtdev, + unwritten, dirversion, logversion); ddsize = xi.dsize; dlsize = ( xi.logBBsize? xi.logBBsize : diff --git a/libxcmd/paths.c b/libxcmd/paths.c index 7cb31b853..e25ae9aec 100644 --- a/libxcmd/paths.c +++ b/libxcmd/paths.c @@ -45,7 +45,9 @@ int fs_count; struct fs_path *fs_table; struct fs_path *fs_path; + char *mtab_file; +#define PROC_MOUNTS "/proc/self/mounts" struct fs_path * fs_table_lookup( @@ -187,8 +189,11 @@ fs_table_initialise_mounts( char *dir = NULL, *fsname = NULL, *fslog, *fsrt; int error = 0, found = 0; - if (!mtab_file) - mtab_file = MOUNTED; + if (!mtab_file) { + mtab_file = PROC_MOUNTS; + if (access(mtab_file, R_OK) != 0) + mtab_file = MOUNTED; + } if ((mtp = setmntent(mtab_file, "r")) == NULL) return ENOENT;