diff options
author | Douglas Gilbert <dgilbert@interlog.com> | 2009-10-29 01:48:31 -0400 |
---|---|---|
committer | James Bottomley <James.Bottomley@suse.de> | 2009-12-04 13:00:49 -0500 |
commit | 1e49f78505b2c4df193614d774bf46d067cda7d8 (patch) | |
tree | 7c27efa7e6d44515c5c0b631ae559297ee7e15bd /drivers/scsi/scsi_debug.c | |
parent | 851b164231d1117673aa44c00c7622e48b7dfcf4 (diff) |
[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>
Diffstat (limited to 'drivers/scsi/scsi_debug.c')
-rw-r--r-- | drivers/scsi/scsi_debug.c | 13 |
1 files changed, 9 insertions, 4 deletions
diff --git a/drivers/scsi/scsi_debug.c b/drivers/scsi/scsi_debug.c index cb4bf16b4e66..0b575c871007 100644 --- a/drivers/scsi/scsi_debug.c +++ b/drivers/scsi/scsi_debug.c | |||
@@ -685,10 +685,12 @@ static int inquiry_evpd_89(unsigned char * arr) | |||
685 | } | 685 | } |
686 | 686 | ||
687 | 687 | ||
688 | /* Block limits VPD page (SBC-3) */ | ||
688 | static unsigned char vpdb0_data[] = { | 689 | static unsigned char vpdb0_data[] = { |
689 | /* from 4th byte */ 0,0,0,4, | 690 | /* from 4th byte */ 0,0,0,4, 0,0,0x4,0, 0,0,0,64, |
690 | 0,0,0x4,0, | 691 | 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, |
691 | 0,0,0,64, | 692 | 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, |
693 | 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, | ||
692 | }; | 694 | }; |
693 | 695 | ||
694 | static int inquiry_evpd_b0(unsigned char * arr) | 696 | static int inquiry_evpd_b0(unsigned char * arr) |
@@ -731,11 +733,14 @@ static int inquiry_evpd_b0(unsigned char * arr) | |||
731 | return sizeof(vpdb0_data); | 733 | return sizeof(vpdb0_data); |
732 | } | 734 | } |
733 | 735 | ||
736 | /* Block device characteristics VPD page (SBC-3) */ | ||
734 | static int inquiry_evpd_b1(unsigned char *arr) | 737 | static int inquiry_evpd_b1(unsigned char *arr) |
735 | { | 738 | { |
736 | memset(arr, 0, 0x3c); | 739 | memset(arr, 0, 0x3c); |
737 | arr[0] = 0; | 740 | arr[0] = 0; |
738 | arr[1] = 1; | 741 | arr[1] = 1; /* non rotating medium (e.g. solid state) */ |
742 | arr[2] = 0; | ||
743 | arr[3] = 5; /* less than 1.8" */ | ||
739 | 744 | ||
740 | return 0x3c; | 745 | return 0x3c; |
741 | } | 746 | } |