Author: mav
Date: Tue Jun 11 10:06:07 2013
New Revision: 251616
URL: http://svnweb.freebsd.org/changeset/base/251616

Log:
  Don't update provider properties and don't set DISKFLAG_OPEN if d_open()
  disk method call returned error.  GEOM considers devices in such case as
  still closed, and won't call symmetric d_close() for them.

Modified:
  head/sys/geom/geom_disk.c

Modified: head/sys/geom/geom_disk.c
==============================================================================
--- head/sys/geom/geom_disk.c   Tue Jun 11 06:22:09 2013        (r251615)
+++ head/sys/geom/geom_disk.c   Tue Jun 11 10:06:07 2013        (r251616)
@@ -138,6 +138,8 @@ g_disk_access(struct g_provider *pp, int
                                printf("Opened disk %s -> %d\n",
                                    pp->name, error);
                        g_disk_unlock_giant(dp);
+                       if (error != 0)
+                               return (error);
                }
                pp->mediasize = dp->d_mediasize;
                pp->sectorsize = dp->d_sectorsize;
_______________________________________________
svn-src-head@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/svn-src-head
To unsubscribe, send any mail to "svn-src-head-unsubscr...@freebsd.org"

Reply via email to