Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 1e49f785 authored by Douglas Gilbert's avatar Douglas Gilbert Committed by James Bottomley
Browse files

[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: default avatarDouglas Gilbert <dgilbert@interlog.com>
Signed-off-by: default avatarJames Bottomley <James.Bottomley@suse.de>
parent 851b1642
Loading
Loading
Loading
Loading
+9 −4
Original line number Original line Diff line number Diff line
@@ -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;
}
}