On Thu, Oct 18, 2018 at 4:32 PM, Miklos Szeredi [off-list ref] wrote:
On Thu, Oct 18, 2018 at 3:15 PM, Florian Weimer [off-list ref] wrote:
quoted
* Miklos Szeredi:
quoted
#define STATX__RESERVED 0x80000000U /* Reserved for future struct statx expansion */
What about this? Isn't it similar to STATX_ALL in the sense that we
don't know yet what it will mean?
Kernel will return -EINVAL if request_mask contains STATX__RESERVED,
so it's definitely different from other flag values.
Specifying this in the UAPI sort of implies that other flag values
will *not* need a struct statx expansion, so it's safe to pass in any
random value not containing STATX__RESERVED on any past or future
kernel and it will not write beyond the current struct statx boundary.
Not sure if that's a useful thing or not, but it's not actively
harmful, like the STATX_ALL flag.
In other words, if STATX_ALL was defined as 0x7fffffff, then that
would mean the same thing, and I wouldn't complain about it.
Thanks,
Miklos