diff --git a/quota-4.04-quota-1-Distinguish-between-none-quota-limits-and-no.patch b/quota-4.04-quota-1-Distinguish-between-none-quota-limits-and-no.patch new file mode 100644 index 0000000..ca1c68e --- /dev/null +++ b/quota-4.04-quota-1-Distinguish-between-none-quota-limits-and-no.patch @@ -0,0 +1,72 @@ +From bd36c3cf438ac4fd44b6779714ad0a44453d41b5 Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Petr=20P=C3=ADsa=C5=99?= +Date: Mon, 16 Jul 2018 11:22:53 +0200 +Subject: [PATCH] quota(1): Distinguish between none quota limits and no + allocated resources +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +If a user does not occupies any space or inodes on a file system but +quota limits are set, quota(1) tool still reports "none": + + # quota -u test + Disk quotas for user test (uid 500): none + +That's because the tool skips printing details for file systems +without any used resources but uses the shares the message with file +system without any quota limits. + +This patch makes the distinction and changes "none" message into "no +quota limits set" and "no limited resources used" respectively. + +Signed-off-by: Petr Písař +--- + quota.c | 15 ++++++++++----- + 1 file changed, 10 insertions(+), 5 deletions(-) + +diff --git a/quota.c b/quota.c +index 15c2a53..0303c7d 100644 +--- a/quota.c ++++ b/quota.c +@@ -188,7 +188,7 @@ static int showquotas(int type, qid_t id, int mntcnt, char **mnt) + char timebuf[MAXTIMELEN]; + char name[MAXNAMELEN]; + struct quota_handle **handles; +- int lines = 0, bover, iover, over; ++ int lines = 0, bover, iover, over, unlimited; + time_t now; + + time(&now); +@@ -204,11 +204,16 @@ static int showquotas(int type, qid_t id, int mntcnt, char **mnt) + goto out_handles; + } + over = 0; ++ unlimited = 1; + for (q = qlist; q; q = q->dq_next) { + bover = iover = 0; +- if (!(flags & FL_VERBOSE) && !q->dq_dqb.dqb_isoftlimit && !q->dq_dqb.dqb_ihardlimit +- && !q->dq_dqb.dqb_bsoftlimit && !q->dq_dqb.dqb_bhardlimit) +- continue; ++ if (!q->dq_dqb.dqb_isoftlimit && !q->dq_dqb.dqb_ihardlimit ++ && !q->dq_dqb.dqb_bsoftlimit && !q->dq_dqb.dqb_bhardlimit) { ++ if (!(flags & FL_VERBOSE)) ++ continue; ++ } else { ++ unlimited = 0; ++ } + msgi = NULL; + if (q->dq_dqb.dqb_ihardlimit && q->dq_dqb.dqb_curinodes >= q->dq_dqb.dqb_ihardlimit) { + msgi = _("File limit reached on"); +@@ -300,7 +305,7 @@ static int showquotas(int type, qid_t id, int mntcnt, char **mnt) + } + } + if (!(flags & FL_QUIET) && !lines && qlist) +- heading(type, id, name, _("none")); ++ heading(type, id, name, unlimited ? _("none") : _("no limited resources used")); + freeprivs(qlist); + out_handles: + dispose_handle_list(handles); +-- +2.14.4 + diff --git a/quota.spec b/quota.spec index f18a964..1c5ac43 100644 --- a/quota.spec +++ b/quota.spec @@ -10,7 +10,7 @@ Name: quota Epoch: 1 Version: 4.04 -Release: 8%{?dist} +Release: 9%{?dist} Summary: System administration tools for monitoring users' disk usage # quota_nld.c, quotaio_xfs.h: GPLv2 # bylabel.c copied from util-linux: GPLv2+ @@ -79,6 +79,10 @@ Patch10: quota-4.04-Listen-on-a-TCP-socket.patch # Fix current block usage limit in RPC client, in upstream after 4.04, # Patch11: quota-4.04-rpc-Fix-wrong-limit-for-space-usage.patch +# Distinguish between none quota limits and no allocated resources in quota(1) +# tool output, proposed to upstream, +# +Patch12: quota-4.04-quota-1-Distinguish-between-none-quota-limits-and-no.patch BuildRequires: autoconf BuildRequires: automake BuildRequires: bash @@ -204,6 +208,7 @@ Linux/UNIX environment. %patch9 -p1 %patch10 -p1 %patch11 -p1 +%patch12 -p1 # Regenerate build scripts autoreconf -f -i @@ -348,6 +353,10 @@ make check %changelog +* Tue Jul 24 2018 Petr Pisar - 1:4.04-9 +- Distinguish between none quota limits and no allocated resources in quota(1) + tool output + * Sat Jul 14 2018 Fedora Release Engineering - 1:4.04-8 - Rebuilt for https://fedoraproject.org/wiki/Fedora_29_Mass_Rebuild