" -v -- More verbose output\n"
" -r -- Print raw statx structure fields\n"
" -m mask -- Specify the field mask for the statx call\n"
-" (can also be 'basic' or 'all'; default STATX_ALL)\n"
+" (can also be 'basic' or 'all'; defaults to\n"
+" STATX_BASIC_STATS | STATX_BTIME)\n"
" -D -- Don't sync attributes with the server\n"
" -F -- Force the attributes to be sync'd with the server\n"
"\n"));
char *p;
struct statx stx;
int atflag = 0;
- unsigned int mask = STATX_ALL;
+ unsigned int mask = STATX_BASIC_STATS | STATX_BTIME;
while ((c = getopt(argc, argv, "m:rvFD")) != EOF) {
switch (c) {
if (strcmp(optarg, "basic") == 0)
mask = STATX_BASIC_STATS;
else if (strcmp(optarg, "all") == 0)
- mask = STATX_ALL;
+ mask = ~STATX__RESERVED;
else {
mask = strtoul(optarg, &p, 0);
if (!p || p == optarg) {
#define STATX_BLOCKS 0x00000400U /* Want/got stx_blocks */
#define STATX_BASIC_STATS 0x000007ffU /* The stuff in the normal stat struct */
#define STATX_BTIME 0x00000800U /* Want/got stx_btime */
-#define STATX_ALL 0x00000fffU /* All currently supported flags */
#define STATX__RESERVED 0x80000000U /* Reserved for future struct statx expansion */
+/*
+ * This is deprecated, and shall remain the same value in the future. To avoid
+ * confusion please use the equivalent (STATX_BASIC_STATS | STATX_BTIME)
+ * instead.
+ */
+#define STATX_ALL 0x00000fffU
+
/*
* Attributes to be found in stx_attributes
*
Set the field mask for the statx call to STATX_BASIC_STATS.
.TP
.B \-m all
-Set the the field mask for the statx call to STATX_ALL (default).
+Set all bits in the field mask for the statx call except for STATX__RESERVED.
+The default is to set STATX_BASIC_STATS and STATX_BTIME.
.TP
.B \-m <mask>
Specify a numeric field mask for the statx call.