do not try to close device if binval failed to flush all blocks
authorKirk McKusick <mckusick@ucbvax.Berkeley.EDU>
Wed, 16 Aug 1989 06:26:57 +0000 (22:26 -0800)
committerKirk McKusick <mckusick@ucbvax.Berkeley.EDU>
Wed, 16 Aug 1989 06:26:57 +0000 (22:26 -0800)
SCCS-vsn: sys/miscfs/specfs/spec_vnops.c 7.4

usr/src/sys/miscfs/specfs/spec_vnops.c

index bf40f6b..8865d6b 100644 (file)
@@ -14,7 +14,7 @@
  * IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED
  * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
  *
  * IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED
  * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
  *
- *     @(#)spec_vnops.c        7.3 (Berkeley) %G%
+ *     @(#)spec_vnops.c        7.4 (Berkeley) %G%
  */
 
 #include "param.h"
  */
 
 #include "param.h"
@@ -274,7 +274,8 @@ blk_close(vp, flag, cred)
                 * we can, for instance, change floppy disks.
                 */
                bflush(dev);
                 * we can, for instance, change floppy disks.
                 */
                bflush(dev);
-               binval(dev);
+               if (binval(dev))
+                       return (0);
                /*
                 * We don't want to really close the device if it is still
                 * in use. Since every use (buffer, inode, swap, cmap)
                /*
                 * We don't want to really close the device if it is still
                 * in use. Since every use (buffer, inode, swap, cmap)