summaryrefslogtreecommitdiffstats
path: root/sbin/dumpfs
diff options
context:
space:
mode:
authornjl <njl@FreeBSD.org>2003-01-24 00:07:40 +0000
committernjl <njl@FreeBSD.org>2003-01-24 00:07:40 +0000
commit7d4d4fab25d5bd413eef65b8ac867699aae7d3b7 (patch)
tree534dfbc09639ea51e27ee9aa882c7d831df6a905 /sbin/dumpfs
parentdd2fdc87043e462457687a0e485955ec60bc9cc0 (diff)
downloadFreeBSD-src-7d4d4fab25d5bd413eef65b8ac867699aae7d3b7.zip
FreeBSD-src-7d4d4fab25d5bd413eef65b8ac867699aae7d3b7.tar.gz
Parse both old flags location and new one. Print out new flags including
acls, multilabel, and location updated.
Diffstat (limited to 'sbin/dumpfs')
-rw-r--r--sbin/dumpfs/dumpfs.c38
1 files changed, 24 insertions, 14 deletions
diff --git a/sbin/dumpfs/dumpfs.c b/sbin/dumpfs/dumpfs.c
index 2194a68..71b05e9 100644
--- a/sbin/dumpfs/dumpfs.c
+++ b/sbin/dumpfs/dumpfs.c
@@ -130,6 +130,7 @@ dumpfs(const char *name)
{
time_t fstime;
int64_t fssize;
+ int32_t fsflags;
int i;
switch (disk.d_ufs) {
@@ -211,21 +212,30 @@ dumpfs(const char *name)
printf("cgrotor\t%d\tfmod\t%d\tronly\t%d\tclean\t%d\n",
afs.fs_cgrotor, afs.fs_fmod, afs.fs_ronly, afs.fs_clean);
printf("flags\t");
- if (afs.fs_flags == 0)
+ if (afs.fs_old_flags & FS_FLAGS_UPDATED)
+ fsflags = afs.fs_flags;
+ else
+ fsflags = afs.fs_old_flags;
+ if (fsflags == 0)
printf("none");
- if (afs.fs_flags & FS_UNCLEAN)
- printf("unclean ");
- if (afs.fs_flags & FS_DOSOFTDEP)
- printf("soft-updates ");
- if (afs.fs_flags & FS_NEEDSFSCK)
- printf("needs fsck run ");
- if (afs.fs_flags & FS_INDEXDIRS)
- printf("indexed directories ");
- if ((afs.fs_flags &
- ~(FS_UNCLEAN | FS_DOSOFTDEP | FS_NEEDSFSCK | FS_INDEXDIRS)) != 0)
- printf("unknown flags (%#x)", afs.fs_flags &
- ~(FS_UNCLEAN | FS_DOSOFTDEP |
- FS_NEEDSFSCK | FS_INDEXDIRS));
+ if (fsflags & FS_UNCLEAN)
+ printf("unclean ");
+ if (fsflags & FS_DOSOFTDEP)
+ printf("soft-updates ");
+ if (fsflags & FS_NEEDSFSCK)
+ printf("needs fsck run ");
+ if (fsflags & FS_INDEXDIRS)
+ printf("indexed directories ");
+ if (fsflags & FS_ACLS)
+ printf("acls ");
+ if (fsflags & FS_MULTILABEL)
+ printf("multilabel ");
+ if (fsflags & FS_FLAGS_UPDATED)
+ printf("fs_flags expanded ");
+ fsflags &= ~(FS_UNCLEAN | FS_DOSOFTDEP | FS_NEEDSFSCK | FS_INDEXDIRS |
+ FS_ACLS | FS_MULTILABEL | FS_FLAGS_UPDATED);
+ if (fsflags != 0)
+ printf("unknown flags (%#x)", fsflags);
putchar('\n');
printf("\ncs[].cs_(nbfree,ndir,nifree,nffree):\n\t");
afs.fs_csp = calloc(1, afs.fs_cssize);
OpenPOWER on IntegriCloud