svn commit: r249144 - stable/9/sys/geom

Alexander Motin mav at FreeBSD.org
Fri Apr 5 10:22:23 UTC 2013


Author: mav
Date: Fri Apr  5 10:22:22 2013
New Revision: 249144
URL: http://svnweb.freebsd.org/changeset/base/249144

Log:
  MFC r226737 (by pjd):
  Allow upper layers to discover than BIO_DELETE and/or BIO_FLUSH is not
  supported by returning EOPNOTSUPP instead of 0 or ENODEV.

Modified:
  stable/9/sys/geom/geom_disk.c
Directory Properties:
  stable/9/sys/   (props changed)

Modified: stable/9/sys/geom/geom_disk.c
==============================================================================
--- stable/9/sys/geom/geom_disk.c	Fri Apr  5 10:13:44 2013	(r249143)
+++ stable/9/sys/geom/geom_disk.c	Fri Apr  5 10:22:22 2013	(r249144)
@@ -308,7 +308,7 @@ g_disk_start(struct bio *bp)
 	switch(bp->bio_cmd) {
 	case BIO_DELETE:
 		if (!(dp->d_flags & DISKFLAG_CANDELETE)) {
-			error = 0;
+			error = EOPNOTSUPP;
 			break;
 		}
 		/* fall-through */
@@ -397,8 +397,8 @@ g_disk_start(struct bio *bp)
 		g_trace(G_T_BIO, "g_disk_flushcache(%s)",
 		    bp->bio_to->name);
 		if (!(dp->d_flags & DISKFLAG_CANFLUSHCACHE)) {
-			g_io_deliver(bp, ENODEV);
-			return;
+			error = EOPNOTSUPP;
+			break;
 		}
 		bp2 = g_clone_bio(bp);
 		if (bp2 == NULL) {


More information about the svn-src-stable mailing list