Since disk_scsi_verify and pread are interchangeably called from
disk_read_verify(), we must return the number of bytes verified (or -1)
just like what pread returns. This doesn't matter now due to bugs in
scrub, but we're about to fix those bugs.
Signed-off-by: Darrick J. Wong <darrick.wong@oracle.com>
Reviewed-by: Eric Sandeen <sandeen@redhat.com>
Signed-off-by: Eric Sandeen <sandeen@sandeen.net>
iohdr.timeout = 30000; /* 30s */
error = ioctl(disk->d_fd, SG_IO, &iohdr);
- if (error)
+ if (error < 0)
return error;
dbg_printf("VERIFY(16) fd %d lba %"PRIu64" len %"PRIu64" info %x "
return -1;
}
- return error;
+ return blockcount << BBSHIFT;
}
#else
# define disk_scsi_verify(...) (ENOTTY)