Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 21 Apr 2016 16:43:15 +0000 (UTC)
From:      Alan Somers <asomers@FreeBSD.org>
To:        src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org
Subject:   svn commit: r298420 - head/sys/geom
Message-ID:  <201604211643.u3LGhFpR057982@repo.freebsd.org>

next in thread | raw e-mail | index | archive | help
Author: asomers
Date: Thu Apr 21 16:43:15 2016
New Revision: 298420
URL: https://svnweb.freebsd.org/changeset/base/298420

Log:
  Notify userspace listeners when geom disk attributes have changed
  
  sys/geom/geom_disk.c:
  	disk_attr_changed(): Generate a devctl event of type GEOM:<attr> for
  	every call.
  
  MFC after:	4 weeks
  Sponsored by:	Spectra Logic Corp
  Differential Revision:	https://reviews.freebsd.org/D5952

Modified:
  head/sys/geom/geom_disk.c

Modified: head/sys/geom/geom_disk.c
==============================================================================
--- head/sys/geom/geom_disk.c	Thu Apr 21 16:33:42 2016	(r298419)
+++ head/sys/geom/geom_disk.c	Thu Apr 21 16:43:15 2016	(r298420)
@@ -43,6 +43,7 @@ __FBSDID("$FreeBSD$");
 #include <sys/kernel.h>
 #include <sys/sysctl.h>
 #include <sys/bio.h>
+#include <sys/bus.h>
 #include <sys/ctype.h>
 #include <sys/fcntl.h>
 #include <sys/malloc.h>
@@ -839,11 +840,14 @@ disk_attr_changed(struct disk *dp, const
 {
 	struct g_geom *gp;
 	struct g_provider *pp;
+	char devnamebuf[128];
 
 	gp = dp->d_geom;
 	if (gp != NULL)
 		LIST_FOREACH(pp, &gp->provider, provider)
 			(void)g_attr_changed(pp, attr, flag);
+	snprintf(devnamebuf, 128, "devname=%s%d", dp->d_name, dp->d_unit);
+	devctl_notify("GEOM", "disk", attr, devnamebuf);
 }
 
 void



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201604211643.u3LGhFpR057982>