Module Name:    src
Committed By:   jnemeth
Date:           Tue Jul  3 03:41:24 UTC 2018

Modified Files:
        src/sbin/gpt: add.c gpt.c gpt.h label.c migrate.c recover.c remove.c
            resize.c restore.c type.c

Log Message:
Not all things that write to the disk do something that dk(4) will
be interested in.  Let individual commands decide if ioctl(DIOCMWEDGES)
should be done.  I was conservative and set the flag on any command
that might create/modify/delete partitions in any way.


To generate a diff of this commit:
cvs rdiff -u -r1.43 -r1.44 src/sbin/gpt/add.c
cvs rdiff -u -r1.74 -r1.75 src/sbin/gpt/gpt.c
cvs rdiff -u -r1.37 -r1.38 src/sbin/gpt/gpt.h
cvs rdiff -u -r1.28 -r1.29 src/sbin/gpt/label.c
cvs rdiff -u -r1.32 -r1.33 src/sbin/gpt/migrate.c
cvs rdiff -u -r1.17 -r1.18 src/sbin/gpt/recover.c src/sbin/gpt/restore.c
cvs rdiff -u -r1.21 -r1.22 src/sbin/gpt/remove.c
cvs rdiff -u -r1.22 -r1.23 src/sbin/gpt/resize.c
cvs rdiff -u -r1.14 -r1.15 src/sbin/gpt/type.c

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

Modified files:

Index: src/sbin/gpt/add.c
diff -u src/sbin/gpt/add.c:1.43 src/sbin/gpt/add.c:1.44
--- src/sbin/gpt/add.c:1.43	Tue Dec 29 16:45:04 2015
+++ src/sbin/gpt/add.c	Tue Jul  3 03:41:23 2018
@@ -33,7 +33,7 @@
 __FBSDID("$FreeBSD: src/sbin/gpt/add.c,v 1.14 2006/06/22 22:05:28 marcel Exp $");
 #endif
 #ifdef __RCSID
-__RCSID("$NetBSD: add.c,v 1.43 2015/12/29 16:45:04 christos Exp $");
+__RCSID("$NetBSD: add.c,v 1.44 2018/07/03 03:41:23 jnemeth Exp $");
 #endif
 
 #include <sys/types.h>
@@ -62,7 +62,7 @@ struct gpt_cmd c_add = {
 	"add",
 	cmd_add,
 	addhelp, __arraycount(addhelp),
-	0,
+	GPT_SYNC,
 };
 
 #define usage() gpt_usage(NULL, &c_add)

Index: src/sbin/gpt/gpt.c
diff -u src/sbin/gpt/gpt.c:1.74 src/sbin/gpt/gpt.c:1.75
--- src/sbin/gpt/gpt.c:1.74	Tue Feb 13 00:34:11 2018
+++ src/sbin/gpt/gpt.c	Tue Jul  3 03:41:23 2018
@@ -35,7 +35,7 @@
 __FBSDID("$FreeBSD: src/sbin/gpt/gpt.c,v 1.16 2006/07/07 02:44:23 marcel Exp $");
 #endif
 #ifdef __RCSID
-__RCSID("$NetBSD: gpt.c,v 1.74 2018/02/13 00:34:11 sevan Exp $");
+__RCSID("$NetBSD: gpt.c,v 1.75 2018/07/03 03:41:23 jnemeth Exp $");
 #endif
 
 #include <sys/param.h>
@@ -587,7 +587,7 @@ void
 gpt_close(gpt_t gpt)
 {
 
-	if (!(gpt->flags & GPT_MODIFIED))
+	if (!(gpt->flags & GPT_MODIFIED) || !(gpt->flags & GPT_SYNC))
 		goto out;
 
 	if (!(gpt->flags & GPT_NOSYNC)) {

Index: src/sbin/gpt/gpt.h
diff -u src/sbin/gpt/gpt.h:1.37 src/sbin/gpt/gpt.h:1.38
--- src/sbin/gpt/gpt.h:1.37	Mon Mar 19 09:06:20 2018
+++ src/sbin/gpt/gpt.h	Tue Jul  3 03:41:23 2018
@@ -81,6 +81,7 @@ gpt_t	gpt_open(const char *, int, int, o
 #define GPT_NOSYNC	0x08
 #define GPT_FILE	0x10
 #define GPT_TIMESTAMP	0x20
+#define GPT_SYNC	0x40
 #define GPT_OPTDEV      0x8000
 
 void*	gpt_read(gpt_t, off_t, size_t);

Index: src/sbin/gpt/label.c
diff -u src/sbin/gpt/label.c:1.28 src/sbin/gpt/label.c:1.29
--- src/sbin/gpt/label.c:1.28	Fri Dec  4 01:47:48 2015
+++ src/sbin/gpt/label.c	Tue Jul  3 03:41:24 2018
@@ -33,7 +33,7 @@
 __FBSDID("$FreeBSD: src/sbin/gpt/label.c,v 1.3 2006/10/04 18:20:25 marcel Exp $");
 #endif
 #ifdef __RCSID
-__RCSID("$NetBSD: label.c,v 1.28 2015/12/04 01:47:48 christos Exp $");
+__RCSID("$NetBSD: label.c,v 1.29 2018/07/03 03:41:24 jnemeth Exp $");
 #endif
 
 #include <sys/types.h>
@@ -62,7 +62,7 @@ struct gpt_cmd c_label = {
 	"label",
 	cmd_label,
 	labelhelp, __arraycount(labelhelp),
-	0,
+	GPT_SYNC,
 };
 
 #define usage() gpt_usage(NULL, &c_label)

Index: src/sbin/gpt/migrate.c
diff -u src/sbin/gpt/migrate.c:1.32 src/sbin/gpt/migrate.c:1.33
--- src/sbin/gpt/migrate.c:1.32	Thu Jun  9 19:04:43 2016
+++ src/sbin/gpt/migrate.c	Tue Jul  3 03:41:24 2018
@@ -33,7 +33,7 @@
 __FBSDID("$FreeBSD: src/sbin/gpt/migrate.c,v 1.16 2005/09/01 02:42:52 marcel Exp $");
 #endif
 #ifdef __RCSID
-__RCSID("$NetBSD: migrate.c,v 1.32 2016/06/09 19:04:43 christos Exp $");
+__RCSID("$NetBSD: migrate.c,v 1.33 2018/07/03 03:41:24 jnemeth Exp $");
 #endif
 
 #include <sys/types.h>
@@ -88,7 +88,7 @@ struct gpt_cmd c_migrate = {
 	"migrate",
 	cmd_migrate,
 	migratehelp, __arraycount(migratehelp),
-	0,
+	GPT_SYNC,
 };
 
 #define usage() gpt_usage(NULL, &c_migrate)

Index: src/sbin/gpt/recover.c
diff -u src/sbin/gpt/recover.c:1.17 src/sbin/gpt/recover.c:1.18
--- src/sbin/gpt/recover.c:1.17	Wed Mar 22 19:59:16 2017
+++ src/sbin/gpt/recover.c	Tue Jul  3 03:41:24 2018
@@ -33,7 +33,7 @@
 __FBSDID("$FreeBSD: src/sbin/gpt/recover.c,v 1.8 2005/08/31 01:47:19 marcel Exp $");
 #endif
 #ifdef __RCSID
-__RCSID("$NetBSD: recover.c,v 1.17 2017/03/22 19:59:16 martin Exp $");
+__RCSID("$NetBSD: recover.c,v 1.18 2018/07/03 03:41:24 jnemeth Exp $");
 #endif
 
 #include <sys/types.h>
@@ -59,7 +59,7 @@ struct gpt_cmd c_recover = {
 	"recover",
 	cmd_recover,
 	recoverhelp, __arraycount(recoverhelp),
-	0,
+	GPT_SYNC,
 };
 
 #define usage() gpt_usage(NULL, &c_recover)
Index: src/sbin/gpt/restore.c
diff -u src/sbin/gpt/restore.c:1.17 src/sbin/gpt/restore.c:1.18
--- src/sbin/gpt/restore.c:1.17	Thu Sep  7 10:23:33 2017
+++ src/sbin/gpt/restore.c	Tue Jul  3 03:41:24 2018
@@ -33,7 +33,7 @@
 __FBSDID("$FreeBSD: src/sbin/gpt/create.c,v 1.11 2005/08/31 01:47:19 marcel Exp $");
 #endif
 #ifdef __RCSID
-__RCSID("$NetBSD: restore.c,v 1.17 2017/09/07 10:23:33 christos Exp $");
+__RCSID("$NetBSD: restore.c,v 1.18 2018/07/03 03:41:24 jnemeth Exp $");
 #endif
 
 #include <sys/types.h>
@@ -62,7 +62,7 @@ struct gpt_cmd c_restore = {
 	"restore",
 	cmd_restore,
 	restorehelp, __arraycount(restorehelp),
-	0,
+	GPT_SYNC,
 };
 
 #define usage() gpt_usage(NULL, &c_restore)

Index: src/sbin/gpt/remove.c
diff -u src/sbin/gpt/remove.c:1.21 src/sbin/gpt/remove.c:1.22
--- src/sbin/gpt/remove.c:1.21	Thu Dec  3 01:07:28 2015
+++ src/sbin/gpt/remove.c	Tue Jul  3 03:41:24 2018
@@ -33,7 +33,7 @@
 __FBSDID("$FreeBSD: src/sbin/gpt/remove.c,v 1.10 2006/10/04 18:20:25 marcel Exp $");
 #endif
 #ifdef __RCSID
-__RCSID("$NetBSD: remove.c,v 1.21 2015/12/03 01:07:28 christos Exp $");
+__RCSID("$NetBSD: remove.c,v 1.22 2018/07/03 03:41:24 jnemeth Exp $");
 #endif
 
 #include <sys/types.h>
@@ -60,7 +60,7 @@ struct gpt_cmd c_remove = {
 	"remove",
 	cmd_remove,
 	removehelp, __arraycount(removehelp),
-	0,
+	GPT_SYNC,
 };
 
 #define usage() gpt_usage(NULL, &c_remove)

Index: src/sbin/gpt/resize.c
diff -u src/sbin/gpt/resize.c:1.22 src/sbin/gpt/resize.c:1.23
--- src/sbin/gpt/resize.c:1.22	Fri Dec  4 16:54:28 2015
+++ src/sbin/gpt/resize.c	Tue Jul  3 03:41:24 2018
@@ -33,7 +33,7 @@
 __FBSDID("$FreeBSD: src/sbin/gpt/add.c,v 1.14 2006/06/22 22:05:28 marcel Exp $");
 #endif
 #ifdef __RCSID
-__RCSID("$NetBSD: resize.c,v 1.22 2015/12/04 16:54:28 christos Exp $");
+__RCSID("$NetBSD: resize.c,v 1.23 2018/07/03 03:41:24 jnemeth Exp $");
 #endif
 
 #include <sys/types.h>
@@ -59,7 +59,7 @@ struct gpt_cmd c_resize = {
 	"resize",
 	cmd_resize,
 	resizehelp, __arraycount(resizehelp),
-	0,
+	GPT_SYNC,
 };
 
 #define usage() gpt_usage(NULL, &c_resize)

Index: src/sbin/gpt/type.c
diff -u src/sbin/gpt/type.c:1.14 src/sbin/gpt/type.c:1.15
--- src/sbin/gpt/type.c:1.14	Mon Mar 19 09:06:20 2018
+++ src/sbin/gpt/type.c	Tue Jul  3 03:41:24 2018
@@ -33,7 +33,7 @@
 __FBSDID("$FreeBSD: src/sbin/gpt/remove.c,v 1.10 2006/10/04 18:20:25 marcel Exp $");
 #endif
 #ifdef __RCSID
-__RCSID("$NetBSD: type.c,v 1.14 2018/03/19 09:06:20 mlelstv Exp $");
+__RCSID("$NetBSD: type.c,v 1.15 2018/07/03 03:41:24 jnemeth Exp $");
 #endif
 
 #include <sys/types.h>
@@ -61,7 +61,7 @@ struct gpt_cmd c_type = {
 	"type",
 	cmd_type,
 	typehelp, __arraycount(typehelp),
-	GPT_OPTDEV,
+	GPT_SYNC | GPT_OPTDEV,
 };
 
 #define usage() gpt_usage(NULL, &c_type)

Reply via email to