59 Commits

Author SHA1 Message Date
Ilia Ross
25bb1def50 Add ability to use vfsv1 for newly created Linux quota files
This PR adds ability to use the `vfsv1` quota format for newly created user and group quota files when supported by quota-tools 4 or newer. This removes the `vfsv0` range limitation while preserving existing quota files and configured journal formats.

Quota creation remains scoped to the requested user or group type, safely normalizes configured `quotacheck` flags, and retains `vfsv0` and legacy fallbacks for compatibility.

Addresses issue report in:
https://forum.virtualmin.com/t/quota-out-of-range/137331?u=ilia
2026-08-13 04:41:27 +02:00
Ilia Ross
29b299c881 Fix to avoid overriding Btrfs quota enforcement 2026-08-08 14:40:03 +02:00
Ilia Ross
40f0239224 Fix comments 2026-08-07 02:29:36 +02:00
Ilia Ross
2918ac4204 Add missing API 2026-08-05 01:25:58 +02:00
Ilia Ross
b433cdd810 Fix to clarify Btrfs qgroup limit retry behavior
https://github.com/webmin/webmin/pull/2807#discussion_r3708456970
2026-08-04 02:04:59 +02:00
Ilia Ross
9be5dc31eb Add Btrfs subvolume quota management
Add Btrfs subvolume quota support to the Disk Quotas module, including full and simple accounting modes, quota lifecycle actions, and qgroup usage and limit management.

Includes ACL enforcement, compatibility with older btrfs-progs versions, destructive-action confirmation, top-level qgroup protection, help, and tests.
2026-08-04 01:19:45 +02:00
Ilia Ross
99ab9159c3 Fix to use formal params
https://github.com/webmin/webmin/pull/2804#pullrequestreview-4840092046
2026-08-03 02:44:49 +02:00
Ilia Ross
cc05957d0d Add Btrfs qgroup management APIs
Add Linux quota helpers for detecting Btrfs filesystems, reporting full and simple quota status, inspecting subvolume qgroups, and managing limits and qgroup hierarchies. Support older btrfs-progs releases through a compatibility fallback and add focused coverage for parsing, validation, command construction, and error propagation.
2026-08-03 01:09:38 +02:00
Ilia Ross
de9e95facf Add support for ext4 hidden inode (superblock) quota mode
Some checks failed
webmin.dev: webmin/webmin / build (push) Has been cancelled
https://forum.virtualmin.com/t/quotacheck-fails-with-unknown-quota-format-on-ext4-native-quota-ubuntu-24-04/136963/
2026-04-09 22:11:47 +02:00
Ilia Ross
b782a124b5 Fix to use quotemeta to prevent shell injection in Quota module 2026-02-10 18:56:37 +02:00
Jamie Cameron
9de937612b when setting XFS quotas by UID or GID, the # is not allowed
https://github.com/webmin/webmin/issues/2418
2025-02-22 19:12:55 -08:00
Jamie Cameron
05382d840d fs has to be outside the command 2024-10-17 16:47:06 -07:00
Jamie Cameron
22beff5e92 Add missing . 2024-10-17 16:31:24 -07:00
Jamie Cameron
5ff7190f06 Do proper quoting for XFS commands 2024-10-17 15:18:30 -07:00
Ilia Ross
00f11fc81d Fix to quote usernames in xfs_quota command
https://forum.virtualmin.com/t/issue-regarding-with-restore/129843/4?u=ilia
2024-10-16 12:28:39 +03:00
luz paz
3e6142f098 Fix user and non-user facing typos 2022-06-29 07:17:11 -04:00
Jamie Cameron
65bf61271d Special case for when getpw* list doesn't return all users https://github.com/virtualmin/virtualmin-gpl/issues/84 2019-03-29 20:01:04 -07:00
Jamie Cameron
473f383883 Simfs mounts look like BIND mounts https://www.virtualmin.com/node/54704 2017-12-16 09:36:40 -08:00
Ilia Rostovtsev
c39a9e2a3d Grep mount binds differently #706
Related Virtualmin patch. [0900fdc](0900fdc083 (diff-d93c5e3420554c840d321dbc5e2fca0b))
2017-11-29 10:38:29 +03:00
Jamie Cameron
766ccf57de Deal wth missing findmnt command gracefully https://sourceforge.net/p/webadmin/bugs/4955/ 2017-05-11 20:42:22 -07:00
Ilia Rostovtsev
9215dde41a Excluding bind mounts properly
Jamie, hi.

I finally had a time to take a look. The fix is simple and straight forward. It works perfectly on my production system. All "bad" mounts are excluded and not listed anymore.
2017-03-28 12:31:02 +03:00
Jamie Cameron
c1ebe147ac BIND mounts can't have quotas https://github.com/webmin/webmin/issues/493 2017-02-16 21:48:32 -08:00
Jamie Cameron
a1e74e6659 Deal with long user/group names by requesting UIDs instead 2015-03-17 22:34:15 -07:00
Jamie Cameron
4caa56aa80 Deal with long user/group names by requesting UIDs instead 2015-03-17 22:33:31 -07:00
Jamie Cameron
112ce34f95 Don't assume that df output will be in english 2014-08-28 17:15:13 -07:00
Jamie Cameron
8d6fbb9532 Quotacheck isn't needed on XFS 2014-08-07 22:14:28 -07:00
Jamie Cameron
8ba1c6f630 Fixes for getting all quotas for a user 2014-08-06 00:16:38 -07:00
Jamie Cameron
e860c76075 Functions to set quotas on XFS 2014-08-05 20:50:38 -07:00
Jamie Cameron
5571970328 Function to parse a user's quotas on all FS 2014-08-04 21:14:23 -07:00
Jamie Cameron
d3bc4d40b7 XFS quota display on Linux 2014-08-04 17:26:27 -07:00
Jamie Cameron
f00e3e94a1 XFS has uquota and gquota options to enable quotas 2014-04-24 16:57:32 -07:00
Jamie Cameron
72bb51c751 Allow enabling of quotas from scratch on Linux 2013-12-07 13:33:59 -08:00
Jamie Cameron
10c955efb2 OpenVZ quota block size is 1k http://virtualmin.com/node/30730 2013-10-20 10:33:27 -07:00
Jamie Cameron
627f56f06c If fstab has a usrquota=file directive, use it when checking if quotas are active https://sourceforge.net/tracker/?func=detail&atid=117457&aid=3602466&group_id=17457 2013-01-28 19:44:37 -08:00
Jamie Cameron
69d3f41026 /dev/root is always / https://www.virtualmin.com/node/24986 2013-01-18 16:09:21 -08:00
Jamie Cameron
73bf8a5092 Fix XFS quota block size https://sourceforge.net/tracker/?func=detail&atid=117457&aid=3568219&group_id=17457 2012-09-16 18:57:27 -07:00
Jamie Cameron
e97d61125f Fix function for getting uquotas on a FS 2011-09-29 21:58:58 -07:00
Jamie Cameron
539c9dfcf3 Add new function to force use of english, use it in quota module 2011-08-22 21:26:53 -07:00
Jamie Cameron
42cd1dc31d Quotacheck usage fix for SL 6.1
https://www.virtualmin.com/node/19214
2011-08-21 16:36:19 -07:00
Jamie Cameron
db26358f7c Handle case where same device is mounted twice
http://www.virtualmin.com/node/18280
2011-05-25 12:52:23 -07:00
Jamie Cameron
c4616d4b6a Fix quota parsing on Debian 6
http://www.virtualmin.com/node/17304
2011-03-10 15:52:44 -08:00
Jamie Cameron
32d43b9c3a Don't create aquota.user or .group file with quota utils 4.0 and above, as they can create it for us 2011-02-09 21:05:20 -08:00
Jamie Cameron
fe14bb4037 Handle different output from quotaon -p
http://www.virtualmin.com/node/12689
2011-01-10 11:41:09 -08:00
Jamie Cameron
b6029c7a10 Fix extra-wide field in freebsd quota 2010-12-24 22:36:37 -08:00
Jamie Cameron
7dc022173e Handle ext4 2010-07-13 18:14:22 -07:00
Jamie Cameron
0e00c4c7b0 Delete .new files first 2009-11-25 08:33:53 -08:00
Jamie Cameron
9dbd5db2c9 Fix permissions 2009-07-20 23:42:32 -07:00
Jamie Cameron
6d13cb2980 POD fixes 2009-01-11 21:16:52 +00:00
Jamie Cameron
7dcfdf690a Completed POD conversion 2008-12-24 21:38:36 +00:00
Jamie Cameron
b2077f7788 Some POD-ification 2008-12-24 01:06:42 +00:00