summaryrefslogtreecommitdiffstats
path: root/sbin/dumpfs/dumpfs.c
diff options
context:
space:
mode:
Diffstat (limited to 'sbin/dumpfs/dumpfs.c')
-rw-r--r--sbin/dumpfs/dumpfs.c20
1 files changed, 17 insertions, 3 deletions
diff --git a/sbin/dumpfs/dumpfs.c b/sbin/dumpfs/dumpfs.c
index eb92ba7..0ed9f59 100644
--- a/sbin/dumpfs/dumpfs.c
+++ b/sbin/dumpfs/dumpfs.c
@@ -79,6 +79,7 @@ static const char rcsid[] =
struct uufsd disk;
int dumpfs(const char *);
+int dumpfsid(void);
int dumpcg(void);
int dumpfreespace(const char *, int);
void dumpfreespacecg(int);
@@ -92,11 +93,11 @@ int
main(int argc, char *argv[])
{
const char *name;
- int ch, dofreespace, domarshal, eval;
+ int ch, dofreespace, domarshal, dolabel, eval;
- dofreespace = domarshal = eval = 0;
+ dofreespace = domarshal = dolabel = eval = 0;
- while ((ch = getopt(argc, argv, "fm")) != -1) {
+ while ((ch = getopt(argc, argv, "lfm")) != -1) {
switch (ch) {
case 'f':
dofreespace++;
@@ -104,6 +105,9 @@ main(int argc, char *argv[])
case 'm':
domarshal = 1;
break;
+ case 'l':
+ dolabel = 1;
+ break;
case '?':
default:
usage();
@@ -129,6 +133,8 @@ main(int argc, char *argv[])
eval |= dumpfreespace(name, dofreespace);
else if (domarshal)
eval |= marshal(name);
+ else if (dolabel)
+ eval |= dumpfsid();
else
eval |= dumpfs(name);
ufs_disk_close(&disk);
@@ -137,6 +143,14 @@ main(int argc, char *argv[])
}
int
+dumpfsid(void)
+{
+
+ printf("/dev/ufsid/%x%x\n", afs.fs_id[0], afs.fs_id[1]);
+ return 0;
+}
+
+int
dumpfs(const char *name)
{
time_t fstime;
OpenPOWER on IntegriCloud