iscsi: Set number of blocks to 0 for blank CDROM devices
commit135b9088780d7d8e5eae027b4fba6b33562f7006
authorRonnie Sahlberg <ronniesahlberg@gmail.com>
Fri, 17 Aug 2012 02:36:20 +0000 (17 12:36 +1000)
committerPaolo Bonzini <pbonzini@redhat.com>
Tue, 28 Aug 2012 12:50:08 +0000 (28 14:50 +0200)
tree4059c8c4d7ce60614056e5c6a51fa4d8459464c9
parent0f1da449ec65403bc5c028eb9618d0ee598a3615
iscsi: Set number of blocks to 0 for blank CDROM devices

The number of blocks of the device is used to compute the device size
in bdrv_getlength()/iscsi_getlength().
For MMC devices, the ReturnedLogicalBlockAddress in the READCAPACITY10
has a special meaning when it is 0.
In this case it does not mean that LBA 0 is the last accessible LBA,
and thus the device has 1 readable block, but instead it means that the
disc is blank and there are no readable blocks.

This change ensures that when the iSCSI LUN is loaded with a blank
DVD-R disk or similar that bdrv_getlength() will return the correct
size of the device as 0 bytes.

Signed-off-by: Ronnie Sahlberg <ronniesahlberg@gmail.com>
block/iscsi.c