summaryrefslogtreecommitdiff
path: root/usr/src/cmd/dumpadm/main.c
diff options
context:
space:
mode:
authorsjelinek <none@none>2005-10-27 09:01:18 -0700
committersjelinek <none@none>2005-10-27 09:01:18 -0700
commit3e1bd7a2aaeb6188caef90679b98088cfef1edc6 (patch)
treef96d6ce4a25ea39514dd8b1fd2a23978cabc5055 /usr/src/cmd/dumpadm/main.c
parent108322fb1c3ed341aba9c80c9774df0ed9e35768 (diff)
downloadillumos-joyent-3e1bd7a2aaeb6188caef90679b98088cfef1edc6.tar.gz
PSARC 2004/776 device checking for fs utilities
PSARC 2005/461 Device in use checking environment variables 5084421 libdiskmgt needs to detect in use ZFS data 5085739 remove workaround for bug 4725434 6194015 Device in use checking for Solaris utilities-PSARC/2004/776 6261853 libdiskmgt does not work correctly in all cases on amd64 6268374 libdiskmgt allocates incorrect size for readdir_r() dirent argument 6291309 PSARC/2005/461 - libdiskmgt should enable bypassing of inuse checking 6301815 PSARC/2005/461-Need Sun private libdiskmgt flag for use during install to disable sysevent starting --HG-- rename : usr/src/cmd/format/checkmount.c => usr/src/cmd/format/checkdev.c rename : usr/src/cmd/format/checkmount.h => usr/src/cmd/format/checkdev.h
Diffstat (limited to 'usr/src/cmd/dumpadm/main.c')
-rw-r--r--usr/src/cmd/dumpadm/main.c13
1 files changed, 7 insertions, 6 deletions
diff --git a/usr/src/cmd/dumpadm/main.c b/usr/src/cmd/dumpadm/main.c
index e6c8c45f6d..a1255a7ae6 100644
--- a/usr/src/cmd/dumpadm/main.c
+++ b/usr/src/cmd/dumpadm/main.c
@@ -20,8 +20,8 @@
* CDDL HEADER END
*/
/*
- * Copyright (c) 1998-2000 by Sun Microsystems, Inc.
- * All rights reserved.
+ * Copyright 2005 Sun Microsystems, Inc. All rights reserved.
+ * Use is subject to license terms.
*/
#pragma ident "%Z%%M% %I% %E% SMI"
@@ -53,7 +53,7 @@ main(int argc, char *argv[])
u_longlong_t minf;
struct stat st;
int c;
-
+ int dflag = 0; /* for checking in use during -d ops */
int dcmode = DC_CURRENT; /* kernel settings override unless -u */
int modified = 0; /* have we modified the dump config? */
char *minfstr = NULL; /* string value of -m argument */
@@ -116,10 +116,10 @@ main(int argc, char *argv[])
return (E_USAGE);
modified++;
break;
-
case 'd':
if (dconf_str2device(&dc, optarg) == -1)
return (E_USAGE);
+ dflag++;
modified++;
break;
@@ -166,7 +166,7 @@ main(int argc, char *argv[])
* fails, we re-load the kernel configuration and write that
* out to the file in order to force the file in sync.
*/
- if (dconf_update(&dc) == -1)
+ if (dconf_update(&dc, 0) == -1)
(void) dconf_getdev(&dc);
if (dconf_write(&dc) == -1)
return (E_ERROR);
@@ -176,7 +176,8 @@ main(int argc, char *argv[])
* If we're modifying the configuration, then try
* to update it, and write out the file if successful.
*/
- if (dconf_update(&dc) == -1 || dconf_write(&dc) == -1)
+ if (dconf_update(&dc, dflag) == -1 ||
+ dconf_write(&dc) == -1)
return (E_ERROR);
}