[PATCH] xfsprogs: don't populate fs table with foreign fs paths unless foreign_allowed
Darrick J. Wong
darrick.wong at oracle.com
Mon Aug 29 10:13:23 CDT 2016
On Mon, Aug 29, 2016 at 08:40:12AM -0500, Bill O'Donnell wrote:
> 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 at redhat.com>
> ---
> 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) */
/me wonders if this would be better as a parameter to
fs_table_initialise_mounts() ?
--D
>
> 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 at oss.sgi.com
> http://oss.sgi.com/mailman/listinfo/xfs
More information about the xfs
mailing list