Q_SETINFO(2const)

πŸ“¦
version 6.20 Β· 2 versions
, in arch rolling, nixpkgs unstable

✨ Q_SETINFO ✨

okay bestie, buckle up πŸ’– this is the Q_SETINFO page from the <pink>Linux man-pages 6.20</pink> collection, and it's literally just one little quotactl operation that goes zoom. she's short, she's sweet, she's giving "small but powerful" πŸ’…

It lives in section 2const of the manual, right there next to her sisters ✨


🌸 NAME 🌸

Q_SETINFO β€” set information about quotafile πŸŽ€


πŸ“š LIBRARY πŸ“š

Standard C library (libc, -lc) 🫢


πŸ¦‹ SYNOPSIS πŸ¦‹

like, here's the whole vibe:

#include <sys/quota.h>

int quotactl(QCMD(Q_SETINFO, type), const char *_Nullable special, 0,
             caddr_t addr);

#include <sys/quota.h>    /* Definition of Q_* constants */
#include <sys/syscall.h>  /* Definition of SYS_* constants */
#include <unistd.h>

int syscall(SYS_quotactl_fd, int fd, QCMD(Q_SETINFO, type), 0,
            struct dqinfo *addr);

notice how the second one is the raw syscall route, SYS_quotactl_fd, because sometimes you gotta go direct to the source, no middleman 😭✨


πŸ’– DESCRIPTION πŸ’–

Set information about quotafile. that's it. that's the whole job. iconic behaviour honestly πŸ‘‘

So the addr argument should be a pointer to a dqinfo(2type) structure β€” yes queen, pointer to struct, we love to see it. And the .dqi_valid field of that dqinfo(2type) structure is the one doing the talking here: it indicates the entries in the structure that have been set by the caller 🎯

⚠️ heads up babes: this operation requires privilege (CAP_SYS_ADMIN). no cap, you literally cannot do this without it, so don't come crying to me 😭

πŸ”₯ RETURN VALUE πŸ”₯

See quotactl(2). ✨


πŸ’€ ERRORS πŸ’€

See quotactl(2). πŸ’€

(yes both of them just point at the parent page, she's lowkey mysterious like that πŸ™ˆ)


🌈 STANDARDS 🌈

Linux. 🐧 periodt.


⭐ HISTORY ⭐

Linux 2.4.22. vintage era, we stan a historically significant queen 🫢

This operation supersedes the Q_SETGRACE and Q_SETFLAGS operations in the previous quota interfaces. so if you were still out here using those old ones... bestie. it's giving legacy. move on πŸ’…


πŸ‘‘ SEE ALSO πŸ‘‘


aaaand that's the whole page, you ate that πŸ“ go forth and set your quota info, main character πŸ’œ

mwah πŸ’‹ β€” this lil rewrite came to you courtesy of the Linux man-pages 6.20 release, dated 2026-06-05. xoxo πŸŽ€

πŸ“¦ where this page comes from
  • arch rolling: man-pages 6.20-1 Β· BSD-2-Clause AND BSD-3-Clause AND BSD-4.3TAHOE AND BSD-4-Clause-UC AND GPL-1.0-or-later AND GPL-2.0-only AND GPL-2.0-or-later AND GPL-3.0-or-later AND LGPL-3.0-linking-exception AND LGPL-3.0-or-later AND LicenseRef-Public-Domain AND LicenseRef-UltraPermissive AND Linux-man-pages-1-para AND Linux-man-pages-copyleft AND Linux-man-pages-copyleft-2-para AND Linux-man-pages-copyleft-var AND MIT AND Spencer-94
  • nixpkgs unstable: man-pages 6.20
  • πŸ“œ the page's license: Linux-man-pages-copyleft
  • πŸ’– girlified by deepseek-ai/DeepSeek-V4.1-Flash on : a language model's rewrite of the original, under its terms