Commits b20b6c2 and 29647c8 modified xfs_quota for use on non-XFS filesystems. One modification in fs_initialise_mounts (paths.c) resulted in an xfstest fail (xfs/261), due to foreign fs paths entering the fs table. This patch reverts the behavior in fs_initialise_mounts back to skip populating the table with foreign paths, unless the -f flag is thrown in xfs_quota to set foreign_allowed true. Signed-off-by: Bill O'Donnell <billodo@xxxxxxxxxx> --- libxcmd/paths.c | 5 +++++ quota/init.c | 1 - 2 files changed, 5 insertions(+), 1 deletion(-) diff --git a/libxcmd/paths.c b/libxcmd/paths.c index 4158688..7375c0e 100644 --- a/libxcmd/paths.c +++ b/libxcmd/paths.c @@ -34,6 +34,7 @@ extern char *progname; int fs_count; struct fs_path *fs_table; struct fs_path *fs_path; +bool foreign_allowed = false; /* foreign filesystems not allowed (default) */ char *mtab_file; #define PROC_MOUNTS "/proc/self/mounts" @@ -311,6 +312,10 @@ fs_table_initialise_mounts( return errno; while ((mnt = getmntent(mtp)) != NULL) { + /* don't populate if not XFS, and foreign fs disallowed */ + if ((strcmp(mnt->mnt_type, "xfs") != 0) && + !foreign_allowed) + continue; if (!realpath(mnt->mnt_dir, rmnt_dir)) continue; if (!realpath(mnt->mnt_fsname, rmnt_fsname)) diff --git a/quota/init.c b/quota/init.c index 44be322..65e4dad 100644 --- a/quota/init.c +++ b/quota/init.c @@ -24,7 +24,6 @@ char *progname; int exitcode; int expert; -bool foreign_allowed = false; static char **projopts; /* table of project names (cmdline) */ static int nprojopts; /* number of entries in name table. */ -- 2.7.4 _______________________________________________ xfs mailing list xfs@xxxxxxxxxxx http://oss.sgi.com/mailman/listinfo/xfs