LFS-PROJECT(1)
π LFS-PROJECT β the lfs project thingy (manual page 1, Lustre User Utilities bestie) π
okay so. bestie. gather round. this is the Lustre User Utilities manual, section 1, and we're talking about lfs-project. it's giving "I organize your files into little project cliques" and honestly? iconic behavior. π
β¨ NAME β¨
lfs-project β change or list the project attribute for a specified file or directory. that's it. that's the job. π«Ά
β¨ SYNOPSIS β¨
here's the vibe check on how you actually call it, no cap:
lfs project [-p|--proj-inherit|--inherit ID] [-d|--directory]
[-r|--recursive] [-s|--set-inherit] FILE|DIRECTORY...
lfs project -c|--check [-0|--print0]] [-d|--directory] [-p|--proj-
inherit|--inherit ID] [-r|--recursive] FILE|DIRECTORY...
lfs project -C|--clear [-d|--directory] [-k|--keep] [-r|--recursive]
FILE|DIRECTORY...
(yes bestie, that ]] in the middle one is literally in the original. I don't make the rules, I just report them. π« )
β¨ DESCRIPTION β¨
lfs project can list or change the numeric project ID and flags that are stored on individual FILE(s) or DIRECTORIES. like, per-file, per-directory. very main character, very individual.
Only one numeric project ID can live on each file. it's similar to the numeric User ID (UID) or Group ID (GID), except here's the twist: the ProjID does not affect Unix file access permissions the way UID and GID do. so no, it's not out here gatekeeping your files. it's just vibing. π
The Project ID interface is compatible with existing tools like chattr(1) and lsattr(1) from e2fsprogs. so if you already know those, you're gonna eat this up. π₯
β¨ OPTIONS β¨
every single flag, present and accounted for. no skipping, no summarizing, we don't do that here. π
-0,--print0β print pathnames returned by-cwith a trailing NUL, suitable for use by'xargs -0 lfs project -p'. perfect for piping, chef's kiss. π-c,--checkβ check the project ID and inherit flag on the specifiedFILE(s) orDIRECTORY. if-p|--proj-inherit|--inheritisn't given, then it uses the project ID on the top-level directory; otherwise it uses the specified ID. if you're checking a directory and/or recursively, it prints only the files that do NOT match the ID. lowkey a snitch but we love it. π-C,--clearβ clear the inherit attribute and reset the project ID to0for theFILEorDIRECTORY. if the-d|--directoryoption is set, then it clears only the directory itself. clean slate era. β¨-d,--directoryβ show the directory's own project ID and flags, and override the-r|--recursiveoption. it said "my own stats, not my kids'." π-k,--keepβ keep the project ID unchanged. can only be specified with-C|--clear. don't try it anywhere else bestie, it won't go. π-p,--proj-inherit|--inheritβ set the project ID and inherit flag on theFILE(s) orDIRECTORIES. sets the project ID with the given value for the specifiedFILEorDIRECTORY.-r,--recursiveβ recursively applylfs projecton all descendants of theDIRECTORY. it's giving "and I took that personally" energy, all the way down. π-p,--proj-inherit"ID"β set the project ID with the given value for the specified file or directory. the project ID is a 32-bit integer (excluding4294967295) or a project name as listed in the/etc/projid(5)file. a username or group name can also be used in place of a project name by specifyingu:USERNAMEoruser:USERNAMEorg:GROUPNAMEorgroup:GROUPNAMErespectively β though heads up, this name will not be shown in place of the numeric ID. so it accepts the nickname but still calls you by your legal name. π-s,--set-inheritβ set thePROJID_INHERITattribute on directories, so that new files and subdirectories created therein will inherit the project ID and attribute from the parent. generational wealth but for project IDs. π
β¨ EXAMPLES β¨
okay here's where it gets fun, let's see it in the wild πΈ
set directory quota on /mnt/lustre/dir1, all descendants' project ID and inherit attribute are set:
$ lfs project -srp 1000 /mnt/lustre/dir1
check directory /mnt/lustre/dir1, whether all files and directories ID are 1000, inherit attribute is properly set for all directories, print mismatch if any are found:
$ lfs project -cr -p 1000 /mnt/lustre/dir1
see? -srp and -cr -p. told you. π₯
β¨ AVAILABILITY β¨
lfs project is part of the lustre(7) filesystem package since release 2.11.0. so it's been around, it's seasoned, it's an elder that still slays. β
β¨ SEE ALSO β¨
go read these too, bestie, they're all in the family π¦
chattr(1), lfs(1), lfs-quota(1), lsattr(1), xargs(1), mdt.enable_chprojid_gid(4), projid(5)
ngl if you got this far you're officially a project-ID girlie now. no cap. π
and that's a wrap on the Lustre 2026-03-19 release of this page, manual section LFS-PROJECT(1). mwah. thanks for reading, go check your inherit flags, ily π«Άβ¨π
π¦ where this page comes from
- ubuntu stonking: lustre-client-utils 2.17.58+dfsg-0ubuntu2 Β· GPL-2.0-only
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash on : a language model's rewrite of the original, under its terms