[SCSI] scsi_debug: fix Thin provisioning support
While testing scsi_debug with these patches I found a problem with the Block Limits VPD page function. The length returned by the inquiry_evpd_b0() function was too short. A patch to fix that and a cosmetic change (that the form factor of scsi_debug is less than 1.8 inches) is attached. Signed-off-by: Douglas Gilbert <dgilbert@interlog.com> Signed-off-by: James Bottomley <James.Bottomley@suse.de>
This commit is contained in:
parent
851b164231
commit
1e49f78505
|
@ -685,10 +685,12 @@ static int inquiry_evpd_89(unsigned char * arr)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/* Block limits VPD page (SBC-3) */
|
||||||
static unsigned char vpdb0_data[] = {
|
static unsigned char vpdb0_data[] = {
|
||||||
/* from 4th byte */ 0,0,0,4,
|
/* from 4th byte */ 0,0,0,4, 0,0,0x4,0, 0,0,0,64,
|
||||||
0,0,0x4,0,
|
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||||
0,0,0,64,
|
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||||
|
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||||
};
|
};
|
||||||
|
|
||||||
static int inquiry_evpd_b0(unsigned char * arr)
|
static int inquiry_evpd_b0(unsigned char * arr)
|
||||||
|
@ -731,11 +733,14 @@ static int inquiry_evpd_b0(unsigned char * arr)
|
||||||
return sizeof(vpdb0_data);
|
return sizeof(vpdb0_data);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/* Block device characteristics VPD page (SBC-3) */
|
||||||
static int inquiry_evpd_b1(unsigned char *arr)
|
static int inquiry_evpd_b1(unsigned char *arr)
|
||||||
{
|
{
|
||||||
memset(arr, 0, 0x3c);
|
memset(arr, 0, 0x3c);
|
||||||
arr[0] = 0;
|
arr[0] = 0;
|
||||||
arr[1] = 1;
|
arr[1] = 1; /* non rotating medium (e.g. solid state) */
|
||||||
|
arr[2] = 0;
|
||||||
|
arr[3] = 5; /* less than 1.8" */
|
||||||
|
|
||||||
return 0x3c;
|
return 0x3c;
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue