On (Mon) 04 Apr 2011 [16:09:05], Stefan Hajnoczi wrote:
On Mon, Apr 4, 2011 at 2:49 PM, Avi Kivity <avi(a)redhat.com>
wrote:
> On 04/04/2011 04:38 PM, Anthony Liguori wrote:
>>
>> On 04/04/2011 08:22 AM, Avi Kivity wrote:
>>>
>>> On 04/03/2011 02:57 PM, Stefan Hajnoczi wrote:
>>>>
>>>> In order for media change to work with Linux host CD-ROM it is
>>>> necessary to reopen the file (otherwise the inode size will not
>>>> refresh, this is an issue with existing kernels).
>>>>
>>>
>>> Maybe we should fix the bug in Linux (and backport as necessary)?
>>>
>>> I think cd-rom assignment is sufficiently obscure that we can require a
>>> fixed kernel instead of providing a workaround.
>>
>> Do reads fail after CD change? Or do they succeed and the size is just
>> reported incorrectly?
>>
>> If it's the later, I'd agree that it needs fixing in the kernel. If
it's
>> the former, I'd say it's clearly a feature.
>>
>
> Even if it's a documented or intentional feature, we can add an ioctl to
> "refresh" the device with up-to-date data.
It's possible to fix this in the kernel. I just haven't written the
patch yet. The inode size needs to be updated when the new medium is
detected.
I haven't tested but I suspect reads within the size of the previous
medium will succeed. But if the new medium is larger then reads
beyond the old medium size will fail.
See
http://www.spinics.net/lists/linux-scsi/msg51504.html
Amit