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@xxxxxxxxxx>
---
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);
}
|