Hi, all!<br><br>Thanks to Peter Macko's answer from my previous question
I know where to start to use Disksim as a slave from another code, and I
have already<br>gone through syssim_driver.c many times, so I think I already have somewhat of a picture of how it works.<br>
<br>However, I still have some questions about some situations which are
not considered in syssim_driver.c, or which I at least have not yet
understood:<br><br>1) I don't fully understand the disksim_request structure, so some of its fields raise some questions:<br>
<br>
a) Device number (devno). Is this used as a reference of which disk
receives the request, in case there is more than one disk? If so...
which device number<br> makes reference to which disk? In the
.parv files in ./valid, the only one that I've found that has more than
one disk instantiated is ascii.parv (18 disks), and the<br>
mapping is done using disksim_iomap {}... but I cannot match the tracedev and simdev parameters to the device number.<br>
b) Block number: I have no idea what this is. In the example they use
the third input parameter (argv[3]) and a random number to generate
"r.blkno"... but I don't know what<br>
it is used for<br> c) Request size (bytecount): this is
pretty self expanatory. My issue is this: what is the "unit" of this
parameter? Is it in bytes? In sectors? According to what I've read it
must be<br>
in bytes, because there is a line where this value is divided by
512 (which is the sector size), thus resulting in a one-sector size...
if this value is less than 512, there is an assert<br> that fails (bcount > 0 turns out to be false). Can someone tell me, then, what is the unit of this field?<br>
<br>2) Part of this project requires the simulation of errors (say, a
disk failure, a bus failure, etc)... does Disksim provide this kind of
simulation? (The probability of failure of a disk given<br> some information about it, like how old it is, the type and brand, etc).<br>
<br>3) My question about the device number brings me to another issue:
if it is possible to send requests to different disks, is it possible to
process each request at the same time?