Date: Tue, 4 Oct 2011 17:02:10 +0000 (UTC) From: "Lev A. Serebryakov" <lev@FreeBSD.org> To: src-committers@freebsd.org, svn-src-projects@freebsd.org Subject: svn commit: r226002 - projects/geom-events/sys/geom/mirror Message-ID: <201110041702.p94H2Aeu068611@svn.freebsd.org>
next in thread | raw e-mail | index | archive | help
Author: lev (ports committer) Date: Tue Oct 4 17:02:10 2011 New Revision: 226002 URL: http://svn.freebsd.org/changeset/base/226002 Log: Add g_notify_*() calls to geom_mirror Modified: projects/geom-events/sys/geom/mirror/g_mirror.c Modified: projects/geom-events/sys/geom/mirror/g_mirror.c ============================================================================== --- projects/geom-events/sys/geom/mirror/g_mirror.c Tue Oct 4 17:01:58 2011 (r226001) +++ projects/geom-events/sys/geom/mirror/g_mirror.c Tue Oct 4 17:02:10 2011 (r226002) @@ -1998,6 +1998,8 @@ g_mirror_sync_stop(struct g_mirror_disk G_MIRROR_DEBUG(0, "Device %s: rebuilding provider %s stopped.", sc->sc_name, g_mirror_get_diskname(disk)); } + g_notify_sync_stop(sc->sc_provider, !type); + free(disk->d_sync.ds_bios, M_MIRROR); disk->d_sync.ds_bios = NULL; cp = disk->d_sync.ds_consumer; @@ -2353,6 +2355,7 @@ g_mirror_update_device(struct g_mirror_s * No active disks or no disks at all, * so destroy device. */ + g_notify_destroyed(sc->sc_provider); if (sc->sc_provider != NULL) g_mirror_destroy_provider(sc); sc->sc_flags |= G_MIRROR_DEVICE_FLAG_DESTROY; @@ -2529,6 +2532,9 @@ again: g_mirror_disk_state2str(disk->d_state))); DISK_STATE_CHANGED(); + /* Send notification */ + g_notify_sync_start(sc->sc_provider); + if (disk->d_state == G_MIRROR_DISK_STATE_NEW) disk->d_flags &= ~G_MIRROR_DISK_FLAG_DIRTY; disk->d_state = state; @@ -2580,6 +2586,11 @@ again: G_MIRROR_DEBUG(0, "Device %s: provider %s disconnected.", sc->sc_name, g_mirror_get_diskname(disk)); + g_notify_disconnect(sc->sc_provider, disk->d_consumer, + ((g_mirror_ndisks(sc, -1) == 1)? + G_NOTIFY_DISCONNECT_DEAD: + G_NOTIFY_DISCONNECT_FIXABLE)); + g_mirror_destroy_disk(disk); break; case G_MIRROR_DISK_STATE_DESTROY:
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201110041702.p94H2Aeu068611>