From owner-dev-commits-src-main@freebsd.org Fri Jul 2 22:24:29 2021 Return-Path: Delivered-To: dev-commits-src-main@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id 4D38B673A85; Fri, 2 Jul 2021 22:24:29 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4GGqPn1kVlz4Wff; Fri, 2 Jul 2021 22:24:29 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 221571C1D7; Fri, 2 Jul 2021 22:24:29 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 162MOTLb037057; Fri, 2 Jul 2021 22:24:29 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 162MOT6I037056; Fri, 2 Jul 2021 22:24:29 GMT (envelope-from git) Date: Fri, 2 Jul 2021 22:24:29 GMT Message-Id: <202107022224.162MOT6I037056@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Robert Wing Subject: git: dc3548453689 - main - dumpfs(8): add option to only print superblock information MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: rew X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: dc3548453689b30ad712e4391a99d3e7df0cad40 Auto-Submitted: auto-generated X-BeenThere: dev-commits-src-main@freebsd.org X-Mailman-Version: 2.1.34 Precedence: list List-Id: Commit messages for the main branch of the src repository List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 02 Jul 2021 22:24:29 -0000 The branch main has been updated by rew: URL: https://cgit.FreeBSD.org/src/commit/?id=dc3548453689b30ad712e4391a99d3e7df0cad40 commit dc3548453689b30ad712e4391a99d3e7df0cad40 Author: Robert Wing AuthorDate: 2021-07-02 22:18:17 +0000 Commit: Robert Wing CommitDate: 2021-07-02 22:18:17 +0000 dumpfs(8): add option to only print superblock information Add an option to dumpfs, `-s`, that only prints the super block information. Reviewed by: chs, imp Differential Revision: https://reviews.freebsd.org/D30881 --- sbin/dumpfs/dumpfs.8 | 12 +++++++++--- sbin/dumpfs/dumpfs.c | 17 +++++++++++------ 2 files changed, 20 insertions(+), 9 deletions(-) diff --git a/sbin/dumpfs/dumpfs.8 b/sbin/dumpfs/dumpfs.8 index 5938282cc257..ec5b12550447 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 May 16, 2013 +.Dd July 2, 2021 .Dt DUMPFS 8 .Os .Sh NAME @@ -39,6 +39,7 @@ .Op Fl f .Op Fl l .Op Fl m +.Op Fl s .Ar filesys | device .Sh DESCRIPTION The @@ -46,9 +47,10 @@ The utility prints out the UFS super block and cylinder group information for the file system or special device specified, unless the .Fl f , -.Fl l +.Fl l , +.Fl m , or -.Fl m +.Fl s flag is specified. The listing is very long and detailed. This @@ -97,6 +99,10 @@ The .Fl r flag is needed if the filesystem uses .Xr gjournal 8 . +.Pp +If +.Fl s +is specified, only the super block information is printed. .Sh SEE ALSO .Xr fs 5 , .Xr fsck 8 , diff --git a/sbin/dumpfs/dumpfs.c b/sbin/dumpfs/dumpfs.c index 3ac59ccc0875..7c43cf4489a8 100644 --- a/sbin/dumpfs/dumpfs.c +++ b/sbin/dumpfs/dumpfs.c @@ -81,7 +81,7 @@ static const char rcsid[] = static struct uufsd disk; -static int dumpfs(const char *); +static int dumpfs(const char *, int); static int dumpfsid(void); static int dumpcg(void); static int dumpfreespace(const char *, int); @@ -96,11 +96,11 @@ int main(int argc, char *argv[]) { const char *name; - int ch, dofreespace, domarshal, dolabel, eval; + int ch, dofreespace, domarshal, dolabel, dosb, eval; - dofreespace = domarshal = dolabel = eval = 0; + dofreespace = domarshal = dolabel = dosb = eval = 0; - while ((ch = getopt(argc, argv, "lfm")) != -1) { + while ((ch = getopt(argc, argv, "lfms")) != -1) { switch (ch) { case 'f': dofreespace++; @@ -111,6 +111,9 @@ main(int argc, char *argv[]) case 'l': dolabel = 1; break; + case 's': + dosb = 1; + break; case '?': default: usage(); @@ -139,7 +142,7 @@ main(int argc, char *argv[]) else if (dolabel) eval |= dumpfsid(); else - eval |= dumpfs(name); + eval |= dumpfs(name, dosb); ufs_disk_close(&disk); } exit(eval); @@ -154,7 +157,7 @@ dumpfsid(void) } static int -dumpfs(const char *name) +dumpfs(const char *name, int dosb) { time_t fstime, fsmtime; int64_t fssize; @@ -324,6 +327,8 @@ dumpfs(const char *name) printf("blocks in last group %ld\n\n", (long)((fssize % afs.fs_fpg) / afs.fs_frag)); } + if (dosb) + return (0); while ((i = cgread(&disk)) != 0) { if (i == -1 || dumpcg()) goto err;