LLAPI_CREATE_VOLATILE_PARAM(3)
π NAME π
llapi_create_volatile_param β bestie, this is the Lustre API file management page, and it's giving "make a file that ghosts everyone" energy π»β¨
πΈ SYNOPSIS πΈ
#include <lustre/lustreapi.h>
int llapi_create_volatile_param(const char *directory, int mdt_indx,
int open_flags, mode_t mode,
const struct llapi_stripe_param *stripe_param)
int llapi_create_volatile_idx(char *directory, int idx, int open_flags)
int llapi_create_volatile(char *directory, int mode)
β¨ DESCRIPTION β¨
Okay so these three functions are the trio we're obsessed with. They make an anonymous, temporary, volatile file on a Lustre filesystem. The file they create? not visible with ls(1). Like, it literally will not show up. Not me making files nobody can see π . And the second you close the file β or the process that owns it just... dies β the file is permanently removed from the filesystem. Gone. Poof. Periodt.
Lowkey cute fact: these functions also work on a non-Lustre filesystem too. But over there it's not the same vibe β the file gets created and then unlinked, so all you've got left is the file descriptor to access it with. And why is that not strictly equivalent? Because there's a small window during which the file is visible to users (as long as they have access to the directory). So not the stealth mode you get on Lustre, iykyk π.
- The
directoryparameter tells you where to create the file on the Lustre filesystem. mdt_idxis the MDT index onto which to create the file. Wanna use a default MDT? Setmdt_idxto-1. Easy.open_flagsandmodeare the same asopen(2)β no new rules, same as always.stripe_paramdescribes the striping information. If it'sNULL, then the default for the directory is used. Simple as that π.
π«Ά RETURN VALUE π«Ά
llapi_create_volatile_param, llapi_create_volatile_idx and llapi_create_volatile all return a file descriptor on success β slay. And on failure? All three return a negative errno. Every single one of them.
π ERRORS π
The negative errno can be (but is not limited to):
-EINVALβ an invalid value was passed. Something in there was not it, bestie.-ENOMEMβ not enough memory to allocate a resource. The machine is out here struggling, fr fr.
π AUTHORS π
Frank Zago for Cray Inc. β iconic work, no cap π«‘
π AVAILABILITY π
llapi_create_volatile_param(), llapi_create_volatile_idx() and llapi_create_volatile() are part of the lustre(7) user application interface library since release 2.4.0. So if you're on anything older, that's a vibe check fail, sorry π§
β SEE ALSO β
And that's the whole page, bestie! π This was the Lustre Library Functions manual β aka LLAPI_CREATE_VOLATILE_PARAM(3) β brought to you by the Lustre User API, dated 2024-08-23. Go forth and make invisible files, you main character π¦β¨π
π¦ 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