Re: [PATCH 0/6] scsi_debug: fix logical block provisioning support

Douglas Gilbert
2013-04-24T23:40:10Z

On 13-04-16 09:11 AM, Akinobu Mita wrote:
> I tried testing the logical block provisioning support in scsi_debug,
> but it didn't work as I expected.
>
> For example, load scsi_debug module with UNMAP command supported
> and fill the storage with random data.
>
> # modprobe scsi_debug lbpu=1
> # dd if=/dev/urandom of=/dev/sdb
>
> Then, try to unmap LBA 0, but Get LBA status reports:
>
> # sg_unmap --lba=0 --num=1 /dev/sdb
> # sg_get_lba_status --lba=0 /dev/sdb
> descriptor LBA: 0x0000000000000000 blocks: 16384 mapped
>
> This is unexpected result. Because UNMAP command to LBA 0 finished
> without any errors, but Get LBA status shows that LBA 0 is still mapped.
>
> I looked around the logical block provisioning support in scsi_debug,
> and I found several problems there. This patch series tries to fix
> these problems and it is broken into small patches as much as possible
> for ease of review.
>
> Cc: "James E.J. Bottomley" <JBottomley@parallels.com>
> Cc: linux-scsi@vger.kernel.org
> Cc: Douglas Gilbert <dgilbert@interlog.com>
> Cc: "Martin K. Petersen" <martin.petersen@oracle.com>
>
> Akinobu Mita (6):
> scsi_debug: call map_region() and unmap_region() only when needed
> scsi_debug: prohibit scsi_debug_unmap_granularity ==
> scsi_debug_unmap_alignment
> scsi_debug: clear correct memory region when LBPRZ is enabled
> scsi_debug: add translation functions between LBA and index of
> provisioning map
> scsi_debug: fix initialization of provisioning map
> scsi_debug: fix logical block provisioning support
>

I'd like to see some feedback from Martin Petersen on this
set of patches. For my part, for this patch series (1/6
fo 6/6):

Acked-by: Douglas Gilbert <dgilbert@interlog.com>