Bug 233849 - r339008 broke repquota on UFS
Summary: r339008 broke repquota on UFS
Status: In Progress
Alias: None
Product: Base System
Classification: Unclassified
Component: bin (show other bugs)
Version: 11.2-STABLE
Hardware: Any Any
: --- Affects Some People
Assignee: Sean Eric Fagan
URL:
Keywords: regression
Depends on:
Blocks:
 
Reported: 2018-12-07 14:07 UTC by Andre Albsmeier
Modified: 2019-09-03 04:53 UTC (History)
6 users (show)

See Also:
koobs: mfc-stable11?
koobs: mfc-stable12+


Attachments
Patch (598 bytes, patch)
2018-12-07 14:07 UTC, Andre Albsmeier
no flags Details | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description Andre Albsmeier 2018-12-07 14:07:38 UTC
Created attachment 199932 [details]
Patch

https://svnweb.freebsd.org/base?view=revision&revision=339008
broke repquote on UFS. To fix it, I use attached patch.
Apparently it wants qf->qfname to be filled in by hasquota(). No idea
if calling hasquota() hurts for non-UFS...
Comment 1 Mark Linimon freebsd_committer freebsd_triage 2018-12-07 14:41:59 UTC
Notify committer of r339008.
Comment 2 Sean Eric Fagan freebsd_committer 2018-12-07 18:18:52 UTC
I saw the original email about the issue, but have not looked any deeply into it yet.
Comment 3 Sean Eric Fagan freebsd_committer 2018-12-07 19:21:37 UTC
ok.  repquota is going through and reading the quoata file.  Which it can only do on UFS.

There is, as far as I can tell, no problem with checking hasquota() first, although if it returns no error, then there's no reason to call quotactl() afterwards, I think.

This means the code should be moved around and refactored a bit to get the tests done in the right way -- namely, only call quotactl() if hasquota() fails, but fail if quotactl() fails, but also if hasquota() succeeds but it's not UFS. (For now, anyway.)
Comment 4 commit-hook freebsd_committer 2019-02-07 21:52:03 UTC
A commit references this bug:

Author: sef
Date: Thu Feb  7 21:51:39 UTC 2019
New revision: 343881
URL: https://svnweb.freebsd.org/changeset/base/343881

Log:
  r339008 broke repquota for UFS.  This rectifies that.

  Refactor the function calls and tests so that, on UFS, the proper fields
  are filled out.

  PR:		233849
  Reported by:	Andre Albsmeier
  Reviewed by:	mav, delphij
  MFC after:	1 month
  Sponsored by:	iXsystems Inc
  Differential Revision:	https://reviews.freebsd.org/D18785

Changes:
  head/lib/libutil/quotafile.c
Comment 5 commit-hook freebsd_committer 2019-02-07 22:11:22 UTC
A commit references this bug:

Author: sef
Date: Thu Feb  7 22:10:21 UTC 2019
New revision: 343882
URL: https://svnweb.freebsd.org/changeset/base/343882

Log:
  r343881 had an uninitialized error.  This fixes that.

  PR:             233849
  Reported by:    Andre Albsmeier
  MFC after:      1 month
  Sponsored by:   iXsystems Inc
  Differential Revision:  https://reviews.freebsd.org/D18785

Changes:
  head/lib/libutil/quotafile.c
Comment 6 Andrey Linkevich 2019-02-28 11:18:01 UTC
Hello

FreeBSD FreeBSD 12.0-STABLE r344111 GENERIC  amd64

We are use groupquota.

repquota return data about only wheel group

# repquota -g /mnt/hosting
                                           Block  limits                    File  limits
User                                  used   soft   hard  grace     used    soft    hard  grace
wheel                            -- 2385444      0      0      -    60633       0       0      -

edquota/quotacheck/quota -gv uses normally.

If yor execute quotaoff -a , everything works fine - repquota return data about all group.

# repquota -g /mnt/hosting
                                           Block  limits                    File  limits
User                                  used   soft   hard  grace     used    soft    hard  grace
wheel                            -- 2385444      0      0      -    60633       0       0      -
operator                         --    192      0      0      -        1       0       0      -
staff                            -- 328876      0      0      -    19568       0       0      -
www                              --   1240      0      0      -       29       0       0      -
mariadb                          -- 3653288      0      0      -      948       0       0      -


Patch https://reviews.freebsd.org/D18785 helped us.

Please commit this in STABLE branche.

Thanks a lot
Comment 7 commit-hook freebsd_committer 2019-03-11 03:01:03 UTC
A commit references this bug:

Author: sef
Date: Mon Mar 11 03:00:33 UTC 2019
New revision: 344997
URL: https://svnweb.freebsd.org/changeset/base/344997

Log:
  MFC r343881

  r339008 broke repquota for UFS.  This rectifies that.

  Refactor the function calls and tests so that, on UFS, the proper fields
  are filled out.

  PR:           233849

Changes:
_U  stable/12/
  stable/12/lib/libutil/quotafile.c
Comment 8 commit-hook freebsd_committer 2019-03-11 03:03:10 UTC
A commit references this bug:

Author: sef
Date: Mon Mar 11 03:01:58 UTC 2019
New revision: 344998
URL: https://svnweb.freebsd.org/changeset/base/344998

Log:
  MFC r343882

  r343881 had an uninitialized error.  This fixes that.

  PR:             233849

Changes:
_U  stable/12/
  stable/12/lib/libutil/quotafile.c
Comment 9 lampa 2019-07-16 12:25:26 UTC
Not committed in 11-STABLE, 11.3-RELEASE, repquota doesn't work:

FreeBSD XXX 11.3-STABLE FreeBSD 11.3-STABLE #23 r349909: Thu Jul 11 16:01:04 CEST 2019     

repquota /home
                                           Block  limits                    File  limits
User                                  used   soft   hard  grace     used    soft    hard  grace
root                             -- 836341780      0      0      -    62221       0       0      -


No users reported, only root.
Comment 10 Kubilay Kocak freebsd_committer freebsd_triage 2019-08-19 12:33:41 UTC
Fix committed to head and stable/12

Pending stable/11 MFC

^Triage: Assign to committer resolving
Comment 11 Sean Eric Fagan freebsd_committer 2019-09-01 21:09:24 UTC
My question is does this need to go into 11/stable?  I don't have the test systems for this any longer, which makes me a bit hesitant, but I can't try to reproduce them.
Comment 12 Philip Petrov 2019-09-02 04:05:20 UTC
I can confirm this bug on my end still exists:

root@srv2:~ # repquota /
                                           Block  limits                    File  limits
User                                  used   soft   hard  grace     used    soft    hard  grace
root                             -- 18505800      0      0      -   843339       0       0      -

root@srv2:~ # freebsd-update fetch
Looking up update.FreeBSD.org mirrors... 3 mirrors found.
Fetching metadata signature for 11.3-RELEASE from update2.freebsd.org... done.
Fetching metadata index... done.
Inspecting system... done.
Preparing to download files... done.

No updates needed to update system to 11.3-RELEASE-p3.

root@srv2:~ # uname -v
FreeBSD 11.3-RELEASE-p2 #0: Tue Aug  6 05:07:20 UTC 2019     root@amd64-builder.daemonology.net:/usr/obj/usr/src/sys/GENERIC
Comment 13 Andre Albsmeier 2019-09-02 06:03:09 UTC
> My question is does this need to go into 11/stable? 

Yes.
Comment 14 commit-hook freebsd_committer 2019-09-03 04:51:04 UTC
A commit references this bug:

Author: sef
Date: Tue Sep  3 04:50:39 UTC 2019
New revision: 351730
URL: https://svnweb.freebsd.org/changeset/base/351730

Log:
  MFC r343881, r343882

  r339008 broke repquota for UFS.  This rectifies that.

  PR:		233849

Changes:
_U  stable/11/
  stable/11/lib/libutil/quotafile.c
Comment 15 Sean Eric Fagan freebsd_committer 2019-09-03 04:53:47 UTC
Ok, I MFC'd the two patches.