Author: mav
Date: Wed Apr 24 19:56:02 2019
New Revision: 346644
URL: https://svnweb.freebsd.org/changeset/base/346644

Log:
  Call delist_dev() before destroy_dev_sched_cb().
  
  destroy_dev_sched_cb() is excessively asynchronous, and during media change
  retaste new provider may appear sooner then device of the previous one get
  destroyed.
  
  MFC after:    1 week
  Sponsored by: iXsystems, Inc.

Modified:
  head/sys/geom/geom_dev.c

Modified: head/sys/geom/geom_dev.c
==============================================================================
--- head/sys/geom/geom_dev.c    Wed Apr 24 18:24:22 2019        (r346643)
+++ head/sys/geom/geom_dev.c    Wed Apr 24 19:56:02 2019        (r346644)
@@ -863,6 +863,7 @@ g_dev_orphan(struct g_consumer *cp)
                (void)clear_dumper(curthread);
 
        /* Destroy the struct cdev *so we get no more requests */
+       delist_dev(dev);
        destroy_dev_sched_cb(dev, g_dev_callback, cp);
 }
 
_______________________________________________
svn-src-head@freebsd.org mailing list
https://lists.freebsd.org/mailman/listinfo/svn-src-head
To unsubscribe, send any mail to "svn-src-head-unsubscr...@freebsd.org"

Reply via email to