Bug 279249 - quotactl(2) out of date w.r.t. ZFS, and missing information
Summary: quotactl(2) out of date w.r.t. ZFS, and missing information
Status: New
Alias: None
Product: Base System
Classification: Unclassified
Component: kern (show other bugs)
Version: 14.0-RELEASE
Hardware: Any Any
: --- Affects Many People
Assignee: freebsd-bugs (Nobody)
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2024-05-23 10:46 UTC by Norman Gray
Modified: 2024-06-06 12:39 UTC (History)
2 users (show)

See Also:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Norman Gray 2024-05-23 10:46:38 UTC
The quotactl(2) manpage states bluntly that ‘Currently quotas are supported only for the "ufs" file system.’ But (a) bug #234413 from 2019/12.0, states that ‘ZFS implements quotactl(2) as of r336017; the man page needs to be updated.’ Also (b) quotactl does seem to work when called on a ZFS filesystem.

Though it seems to work, does this work only by accident? (ie, is it going to stop working unexpectedly?).  It would be good for the manpage to be explicit about this.

Separately, the manpage doesn't give, or point to, relevant information on how to interpret the results of the call.  I can call quotactl(2) on a ZFS filesystem and it produces numbers, which quota.h tells me are in units of disk blocks, and which are right if the block-size is 512B.  But I can find nothing, neither in quotactl() nor in ufs/ufs/quota.h, which tells me that unequivocally, and in a way which I'm confident will work on a pool with a different ashift value.
Comment 1 Norman Gray 2024-06-06 12:37:06 UTC
On reflection, and after failing to uncover any information on this on forums or lists, I'm proposing changing this to be a 'base system' bug rather than 'merely' a documentation bug.

On the grounds that if something isn't documented, then it doesn't really exist, if it's not knowable what the units are, in the response to the quotactl(2) call, then one can claim that this call produces no information, and thus in a sense does not work.
Comment 2 Norman Gray 2024-06-06 12:39:59 UTC
(by 'this call', I mean a call to quotatcl with cmd=Q_GETQUOTA)