devio: correctly mark failed read block as unusable
authorAlan Cox <alan@linux.intel.com>
Thu, 23 Nov 2017 02:25:56 +0000 (02:25 +0000)
committerAlan Cox <alan@linux.intel.com>
Thu, 23 Nov 2017 02:25:56 +0000 (02:25 +0000)
Kernel/devio.c

index ebf9437..9ad7a6c 100644 (file)
@@ -62,6 +62,7 @@ bufptr bread(uint16_t dev, blkno_t blk, bool rewrite)
                        if (bdread(bp) != BLKSIZE) {
                                udata.u_error = EIO;
                                bp->bf_busy = BF_FREE;
+                               bp->bf_dev = NO_DEVICE;
                                return (NULL);
                        }
                }