summaryrefslogtreecommitdiffstats
path: root/sys/geom/mirror/g_mirror_ctl.c
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 /sys/geom/mirror/g_mirror_ctl.c
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 'sys/geom/mirror/g_mirror_ctl.c')
-rw-r--r--sys/geom/mirror/g_mirror_ctl.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/sys/geom/mirror/g_mirror_ctl.c b/sys/geom/mirror/g_mirror_ctl.c
index 2afa1ac..65c52bd 100644
--- a/sys/geom/mirror/g_mirror_ctl.c
+++ b/sys/geom/mirror/g_mirror_ctl.c
@@ -527,7 +527,7 @@ g_mirror_ctl_deactivate(struct gctl_req *req, struct g_class *mp)
disk->d_flags |= G_MIRROR_DISK_FLAG_INACTIVE;
disk->d_flags &= ~G_MIRROR_DISK_FLAG_FORCE_SYNC;
g_mirror_update_metadata(disk);
- sc->sc_bump_syncid = G_MIRROR_BUMP_ON_FIRST_WRITE;
+ sc->sc_bump_id |= G_MIRROR_BUMP_SYNCID_OFW;
g_mirror_event_send(disk, G_MIRROR_DISK_STATE_DISCONNECTED,
G_MIRROR_EVENT_WAIT);
}
OpenPOWER on IntegriCloud