xfs
[Top] [All Lists]

Re: [PATCH v3 3/3] xfs_quota: add case for foreign fs, disabled regardle

To: Bill O'Donnell <billodo@xxxxxxxxxx>, linux-xfs@xxxxxxxxxxxxxxx
Subject: Re: [PATCH v3 3/3] xfs_quota: add case for foreign fs, disabled regardless of foreign_allowed
From: Eric Sandeen <sandeen@xxxxxxxxxxx>
Date: Thu, 15 Sep 2016 15:43:19 -0500
Cc: xfs@xxxxxxxxxxx
Delivered-to: xfs@xxxxxxxxxxx
In-reply-to: <1473969469-27354-1-git-send-email-billodo@xxxxxxxxxx>
References: <1473953386-10242-4-git-send-email-billodo@xxxxxxxxxx> <1473969469-27354-1-git-send-email-billodo@xxxxxxxxxx>
User-agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.11; rv:45.0) Gecko/20100101 Thunderbird/45.3.0
On 9/15/16 2:57 PM, Bill O'Donnell wrote:
> Some commands are disallowed for foreign filesystems,
> regardless of whether or not the -f flag is thrown.
> Add a case for this condition and improve commenting
> and output messaging accordingly in init_check_command.
> 
> Signed-off-by: Bill O'Donnell <billodo@xxxxxxxxxx>

Thanks, Bill.

Reviewed-by: Eric Sandeen <sandeen@xxxxxxxxxx>

> ---
> history:
> v3: clarify foreign filesystem user output message.
> v2: no change
> v1: http://www.spinics.net/lists/linux-xfs/msg00685.html
> 
>  quota/init.c | 18 +++++++++++++-----
>  1 file changed, 13 insertions(+), 5 deletions(-)
> 
> diff --git a/quota/init.c b/quota/init.c
> index 2c18c8b..3bebbb8 100644
> --- a/quota/init.c
> +++ b/quota/init.c
> @@ -112,21 +112,29 @@ init_check_command(
>       if (!fs_path)
>               return 1;
>  
> -     /* Always run commands that we are told to skip here */
> +     /* Always run commands that are valid for all fs types. */
>       if (ct->flags & CMD_ALL_FSTYPES)
>               return 1;
>  
> -     /* if it's an XFS filesystem, always run the command */
> +     /* If it's an XFS filesystem, always run the command. */
>       if (!(fs_path->fs_flags & FS_FOREIGN))
>               return 1;
>  
> -     /* If the user specified foreign filesysetms are ok, run it */
> +     /* If the user specified foreign filesystems are ok (-f), run cmd. */
>       if (foreign_allowed &&
>           (ct->flags & CMD_FLAG_FOREIGN_OK))
>               return 1;
>  
> -     /* foreign filesystem and it's not a valid command! */
> -     fprintf(stderr, _("%s command is for XFS filesystems only\n"),
> +     /* If cmd not allowed on foreign fs, regardless of -f flag, skip it. */
> +     if (!(ct->flags & CMD_FLAG_FOREIGN_OK)) {
> +             fprintf(stderr, _("%s: command is for XFS filesystems only\n"),
> +                     ct->name);
> +             return 0;
> +     }
> +
> +     /* foreign fs, but cmd only allowed via -f flag. Skip it. */
> +     fprintf(stderr,
> +             _("%s: foreign filesystem. Invoke xfs_quota with -f to 
> enable.\n"),
>               ct->name);
>       return 0;
>  }
> 

<Prev in Thread] Current Thread [Next in Thread>