xfs_quota: un-flag non-foreign-capable commands
diff mbox

Message ID 294717b5-f997-ca39-2095-cc144a71de47@redhat.com
State Accepted
Headers show

Commit Message

Eric Sandeen Sept. 15, 2016, 10:58 p.m. UTC
The off command calls XFS_QUOTAOFF / Q_XQUOTAOFF, which calls
quota_disable in the kernel, which returns ENOSYS if the
->quota_enable quota op doesn't exist - and it does not exist
on any non-xfs filesystems.

We could get clever if we wanted it, and send Q_QUOTAOFF
instead for foreign filesystems, but for now it's broken
so just remove the flag.

The free command relies on XFS_IOC_FSGEOMETRY_V1, so unflag it
as well.

Signed-off-by: Eric Sandeen <sandeen@redhat.com>
---

Comments

Bill O'Donnell Sept. 16, 2016, 1:31 p.m. UTC | #1
On Thu, Sep 15, 2016 at 05:58:26PM -0500, Eric Sandeen wrote:
> The off command calls XFS_QUOTAOFF / Q_XQUOTAOFF, which calls
> quota_disable in the kernel, which returns ENOSYS if the
> ->quota_enable quota op doesn't exist - and it does not exist
> on any non-xfs filesystems.
> 
> We could get clever if we wanted it, and send Q_QUOTAOFF
> instead for foreign filesystems, but for now it's broken
> so just remove the flag.
> 
> The free command relies on XFS_IOC_FSGEOMETRY_V1, so unflag it
> as well.
> 
> Signed-off-by: Eric Sandeen <sandeen@redhat.com>

Reviewed-by: Bill O'Donnell <billodo@redhat.com>

> ---
> 
> diff --git a/quota/state.c b/quota/state.c
> index 05e4ec5..09dfa70 100644
> --- a/quota/state.c
> +++ b/quota/state.c
> @@ -584,7 +584,6 @@ state_init(void)
>  	off_cmd.args = _("[-gpu] [-v]");
>  	off_cmd.oneline = _("permanently switch quota off for a path");
>  	off_cmd.help = off_help;
> -	off_cmd.flags = CMD_FLAG_FOREIGN_OK;
>  
>  	state_cmd.name = "state";
>  	state_cmd.cfunc = state_f;
> diff --git a/quota/free.c b/quota/free.c
> index b9be954..3c8a5ce 100644
> --- a/quota/free.c
> +++ b/quota/free.c
> @@ -372,7 +372,6 @@ free_init(void)
>  	free_cmd.args = _("[-bir] [-hn] [-f file]");
>  	free_cmd.oneline = _("show free and used counts for blocks and inodes");
>  	free_cmd.help = free_help;
> -	free_cmd.flags = CMD_FLAG_FOREIGN_OK;
>  
>  	add_command(&free_cmd);
>  }
> --
> To unsubscribe from this list: send the line "unsubscribe linux-xfs" in
> the body of a message to majordomo@vger.kernel.org
> More majordomo info at  http://vger.kernel.org/majordomo-info.html

Patch
diff mbox

diff --git a/quota/state.c b/quota/state.c
index 05e4ec5..09dfa70 100644
--- a/quota/state.c
+++ b/quota/state.c
@@ -584,7 +584,6 @@  state_init(void)
 	off_cmd.args = _("[-gpu] [-v]");
 	off_cmd.oneline = _("permanently switch quota off for a path");
 	off_cmd.help = off_help;
-	off_cmd.flags = CMD_FLAG_FOREIGN_OK;
 
 	state_cmd.name = "state";
 	state_cmd.cfunc = state_f;
diff --git a/quota/free.c b/quota/free.c
index b9be954..3c8a5ce 100644
--- a/quota/free.c
+++ b/quota/free.c
@@ -372,7 +372,6 @@  free_init(void)
 	free_cmd.args = _("[-bir] [-hn] [-f file]");
 	free_cmd.oneline = _("show free and used counts for blocks and inodes");
 	free_cmd.help = free_help;
-	free_cmd.flags = CMD_FLAG_FOREIGN_OK;
 
 	add_command(&free_cmd);
 }