summaryrefslogtreecommitdiffstats
path: root/sbin
diff options
context:
space:
mode:
authormckusick <mckusick@FreeBSD.org>2013-05-16 20:07:08 +0000
committermckusick <mckusick@FreeBSD.org>2013-05-16 20:07:08 +0000
commit31f4b526a608382b0969c11ebab85aabd2f06b35 (patch)
tree8000737f070c5819e05c5c471d8c1ca9fc145711 /sbin
parent5410e1edbe758d678b2fced1fbed9d6b7793be50 (diff)
downloadFreeBSD-src-31f4b526a608382b0969c11ebab85aabd2f06b35.zip
FreeBSD-src-31f4b526a608382b0969c11ebab85aabd2f06b35.tar.gz
When running the -m option to generate a newfs(8) command suitable for
recreating the filesystem, check for and output the -i, -k, and -l options if appropriate. Note the remaining deficiencies of the -m option in the dumpfs(8) manual page. Specifically that newfs(8) options -E, -R, -S, and -T options are not handled and that -p is not useful so is omitted. Also document that newfs(8) options -n and -r are neither checked for nor output but should be. The -r flag is needed if the filesystem uses gjournal(8). PR: bin/163992 Reported by: Dieter <freebsd@sopwith.solgatos.com> Submitted by: Andy Kosela <akosela@andykosela.com> MFC after: 1 week
Diffstat (limited to 'sbin')
-rw-r--r--sbin/dumpfs/dumpfs.823
-rw-r--r--sbin/dumpfs/dumpfs.c7
2 files changed, 27 insertions, 3 deletions
diff --git a/sbin/dumpfs/dumpfs.8 b/sbin/dumpfs/dumpfs.8
index 858881a..feb8758 100644
--- a/sbin/dumpfs/dumpfs.8
+++ b/sbin/dumpfs/dumpfs.8
@@ -28,7 +28,7 @@
.\" @(#)dumpfs.8 8.1 (Berkeley) 6/5/93
.\" $FreeBSD$
.\"
-.Dd Jul 14, 2011
+.Dd May 16, 2013
.Dt DUMPFS 8
.Os
.Sh NAME
@@ -76,6 +76,27 @@ is specified, a
.Xr newfs 8
command is printed that can be used to generate a new file system
with equivalent settings.
+Please note that
+.Xr newfs 8
+options
+.Fl E ,
+.Fl R ,
+.Fl S ,
+and
+.Fl T
+are not handled and
+.Fl p
+is not useful in this case so is omitted.
+.Xr Newfs 8
+options
+.Fl n
+and
+.Fl r
+are neither checked for nor output but should be.
+The
+.Fl r
+flag is needed if the filesystem uses
+.Xr gjournal 8 .
.Sh SEE ALSO
.Xr disktab 5 ,
.Xr fs 5 ,
diff --git a/sbin/dumpfs/dumpfs.c b/sbin/dumpfs/dumpfs.c
index d04558c..baf3d99 100644
--- a/sbin/dumpfs/dumpfs.c
+++ b/sbin/dumpfs/dumpfs.c
@@ -417,12 +417,15 @@ marshal(const char *name)
printf("-f %d ", fs->fs_fsize);
printf("-g %d ", fs->fs_avgfilesize);
printf("-h %d ", fs->fs_avgfpdir);
- /* -i is dumb */
+ printf("-i %jd ", fragroundup(fs, lblktosize(fs, fragstoblks(fs,
+ fs->fs_fpg)) / fs->fs_ipg));
if (fs->fs_flags & FS_SUJ)
printf("-j ");
if (fs->fs_flags & FS_GJOURNAL)
printf("-J ");
- /* -k..l unimplemented */
+ printf("-k %jd ", fs->fs_metaspace);
+ if (fs->fs_flags & FS_MULTILABEL)
+ printf("-l ");
printf("-m %d ", fs->fs_minfree);
/* -n unimplemented */
printf("-o ");
OpenPOWER on IntegriCloud