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"
"", 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);
}
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);
}
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 :
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(
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;