summaryrefslogtreecommitdiffstats
path: root/sbin/geom/class/mirror
diff options
context:
space:
mode:
authorpjd <pjd@FreeBSD.org>2004-12-22 23:09:32 +0000
committerpjd <pjd@FreeBSD.org>2004-12-22 23:09:32 +0000
commitb58db25ebeed85a1cc3d68bda134815500157aaa (patch)
treeb0d86c753f73582bc08dbd2224d2dc7047934432 /sbin/geom/class/mirror
parent3a1bb12c828f9bb4b003f8f8fb2a55d3d78b575d (diff)
downloadFreeBSD-src-b58db25ebeed85a1cc3d68bda134815500157aaa.zip
FreeBSD-src-b58db25ebeed85a1cc3d68bda134815500157aaa.tar.gz
- Add genid field to the metadata which will allow to improve reliability a bit.
After this change, when component is disconnected because of an I/O error, it will not be connected and synchronized automatically, it will be logged as broken and skipped. Autosynchronization can occur, when component is disconnected (on orphan event) and connected again - there were no I/O error, so there is no need to not connected the component, but when there were writes while it wasn't connected, it will be synchronized. This fix cases, when component is disconnected because of I/O error and can be connected again and again. - Bump version number. - Add version change history. - Implement backward compatibility mechanism. After this change when metadata in old version is detected, it is automatically upgraded to the new (current) version.
Diffstat (limited to 'sbin/geom/class/mirror')
-rw-r--r--sbin/geom/class/mirror/geom_mirror.c1
1 files changed, 1 insertions, 0 deletions
diff --git a/sbin/geom/class/mirror/geom_mirror.c b/sbin/geom/class/mirror/geom_mirror.c
index 9c9facf..40c9a48 100644
--- a/sbin/geom/class/mirror/geom_mirror.c
+++ b/sbin/geom/class/mirror/geom_mirror.c
@@ -180,6 +180,7 @@ mirror_label(struct gctl_req *req)
md.md_all = *nargs - 1;
md.md_mflags = 0;
md.md_dflags = 0;
+ md.md_genid = 0;
md.md_syncid = 1;
md.md_sync_offset = 0;
valp = gctl_get_paraml(req, "slice", sizeof(*valp));
OpenPOWER on IntegriCloud