+// SPDX-License-Identifier: GPL-2.0
/*
* Copyright (c) 2003-2005 Silicon Graphics, Inc.
* All Rights Reserved.
- *
* Copyright (C) 2015, 2017 Red Hat, Inc.
* Portions of statx support written by David Howells (dhowells@redhat.com)
- *
- * This program is free software; you can redistribute it and/or
- * modify it under the terms of the GNU General Public License as
- * published by the Free Software Foundation.
- *
- * This program is distributed in the hope that it would be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write the Free Software Foundation,
- * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
*/
#include "command.h"
static int
dump_raw_stat(struct stat *st)
{
- printf("stat.blksize = %lu\n", st->st_blksize);
- printf("stat.nlink = %lu\n", st->st_nlink);
+ printf("stat.blksize = %lu\n", (unsigned long)st->st_blksize);
+ printf("stat.nlink = %lu\n", (unsigned long)st->st_nlink);
printf("stat.uid = %u\n", st->st_uid);
printf("stat.gid = %u\n", st->st_gid);
printf("stat.mode: 0%o\n", st->st_mode);
- printf("stat.ino = %lu\n", st->st_ino);
- printf("stat.size = %lu\n", st->st_size);
- printf("stat.blocks = %lu\n", st->st_blocks);
+ printf("stat.ino = %llu\n", (unsigned long long)st->st_ino);
+ printf("stat.size = %lld\n", (long long)st->st_size);
+ printf("stat.blocks = %lld\n", (long long)st->st_blocks);
printf("stat.atime.tv_sec = %ld\n", st->st_atim.tv_sec);
printf("stat.atime.tv_nsec = %ld\n", st->st_atim.tv_nsec);
printf("stat.ctime.tv_sec = %ld\n", st->st_ctim.tv_sec);
return 0;
}
-void print_file_info(void)
+static void
+print_file_info(void)
{
printf(_("fd.path = \"%s\"\n"), file->name);
printf(_("fd.flags = %s,%s,%s%s%s%s%s\n"),
file->flags & IO_TMPFILE ? _(",tmpfile") : "");
}
-void print_xfs_info(int verbose)
+static void
+print_xfs_info(int verbose)
{
struct dioattr dio;
struct fsxattr fsx, fsxa;
printf(_("statfs.f_bavail = %lld\n"), (long long) st.f_bavail);
printf(_("statfs.f_files = %lld\n"), (long long) st.f_files);
printf(_("statfs.f_ffree = %lld\n"), (long long) st.f_ffree);
+#ifdef HAVE_STATFS_FLAGS
+ printf(_("statfs.f_flags = 0x%llx\n"), (long long) st.f_flags);
+#endif
}
if (file->flags & IO_FOREIGN)
return 0;
{
printf("stat.mask = 0x%x\n", stx->stx_mask);
printf("stat.blksize = %u\n", stx->stx_blksize);
- printf("stat.attributes = 0x%llx\n", stx->stx_attributes);
+ printf("stat.attributes = 0x%llx\n", (unsigned long long)stx->stx_attributes);
printf("stat.nlink = %u\n", stx->stx_nlink);
printf("stat.uid = %u\n", stx->stx_uid);
printf("stat.gid = %u\n", stx->stx_gid);
printf("stat.mode: 0%o\n", stx->stx_mode);
- printf("stat.ino = %llu\n", stx->stx_ino);
- printf("stat.size = %llu\n", stx->stx_size);
- printf("stat.blocks = %llu\n", stx->stx_blocks);
- printf("stat.atime.tv_sec = %lld\n", stx->stx_atime.tv_sec);
+ printf("stat.ino = %llu\n", (unsigned long long)stx->stx_ino);
+ printf("stat.size = %llu\n", (unsigned long long)stx->stx_size);
+ printf("stat.blocks = %llu\n", (unsigned long long)stx->stx_blocks);
+ printf("stat.atime.tv_sec = %lld\n", (long long)stx->stx_atime.tv_sec);
printf("stat.atime.tv_nsec = %d\n", stx->stx_atime.tv_nsec);
- printf("stat.btime.tv_sec = %lld\n", stx->stx_btime.tv_sec);
+ printf("stat.btime.tv_sec = %lld\n", (long long)stx->stx_btime.tv_sec);
printf("stat.btime.tv_nsec = %d\n", stx->stx_btime.tv_nsec);
- printf("stat.ctime.tv_sec = %lld\n", stx->stx_ctime.tv_sec);
+ printf("stat.ctime.tv_sec = %lld\n", (long long)stx->stx_ctime.tv_sec);
printf("stat.ctime.tv_nsec = %d\n", stx->stx_ctime.tv_nsec);
- printf("stat.mtime.tv_sec = %lld\n", stx->stx_mtime.tv_sec);
+ printf("stat.mtime.tv_sec = %lld\n", (long long)stx->stx_mtime.tv_sec);
printf("stat.mtime.tv_nsec = %d\n", stx->stx_mtime.tv_nsec);
printf("stat.rdev_major = %u\n", stx->stx_rdev_major);
printf("stat.rdev_minor = %u\n", stx->stx_rdev_minor);
* - output style for flags (and all else?) (chars vs. hex?)
* - output - mask out incidental flag or not?
*/
-int
+static int
statx_f(
int argc,
char **argv)