Catching right error for read-only block devices.

This commit is contained in:
Florian Nücke
2020-09-25 15:45:10 +02:00
parent 380d5669f0
commit b4c8bfcdf9

View File

@@ -7,6 +7,7 @@ import li.cil.circuity.vm.device.BlockDevice;
import java.nio.ByteBuffer;
import java.nio.ByteOrder;
import java.nio.ReadOnlyBufferException;
public final class VirtIOBlockDevice extends AbstractVirtIODevice implements Steppable {
private static final int VIRTIO_BLK_SECTOR_SIZE = 512;
@@ -238,7 +239,7 @@ public final class VirtIOBlockDevice extends AbstractVirtIODevice implements Ste
int status = VIRTIO_BLK_S_OK;
try {
chain.get(block.getView(offset, chain.readableBytes()));
} catch (final IllegalArgumentException e) {
} catch (final IllegalArgumentException | ReadOnlyBufferException e) {
chain.skip(chain.readableBytes());
status = VIRTIO_BLK_S_IOERR;
}