Re: quotactl(2) units of reported sizes on ZFS
- Reply: Norman Gray : "Re: quotactl(2) units of reported sizes on ZFS"
- In reply to: Dag-Erling_Smørgrav : "Re: quotactl(2) units of reported sizes on ZFS"
- Go to: [ bottom of page ] [ top of archives ] [ this month ]
Date: Wed, 05 Jun 2024 08:48:55 UTC
Dag-Erling, hello. On 4 Jun 2024, at 23:17, Dag-Erling Smørgrav wrote: > Norman Gray <gray@nxg.name> writes: >> The call quotactl(2) reports quota sizes in units of 'blocks', but how >> big is a block? Traditionally, of course, the answer is 512B, [...] > > You could simply have stopped there, it's a POSIX requirement. That's an interesting direction to come from -- thanks! Can you point to chapter and verse, though? Looking at [1], and specifically the specification of the contents of sys/stat.h [2], I find: > The unit for the st_blocks member of the stat structure is not defined within POSIX.1-2017. In some implementations it is 512 bytes. It may differ on a file system basis. There is no correlation between values of the st_blocks and st_blksize, and the f_bsize (from <sys/statvfs.h>) structure members. That's stat.h, of course, rather than anything to do with quotas specifically. But POSIX doesn't mention quotas (not surprisingly), so if the quotactl manpage were going to silently adopt a POSIX unit definition, it's stat.h I'd expect it to come from. Individual utilities -- for example `ulimit` [3] or `df` -- document that one or other argument is in units of 512B 'blocks', but that's a user-interface issue. Best wishes, Norman [1] The Open Group Base Specifications Issue 7, 2018 edition <https://pubs.opengroup.org/onlinepubs/9699919799/toc.htm> [2] https://pubs.opengroup.org/onlinepubs/9699919799/basedefs/sys_stat.h.html [3] https://pubs.opengroup.org/onlinepubs/9699919799/utilities/ulimit.html -- Norman Gray : https://nxg.me.uk