On 04/30/2015 05:33 PM, Kevin Wolf wrote: > [Cc: qemu-block] > > Am 30.04.2015 um 11:11 hat Wen Congyang geschrieben: >> Some drivers use bdrv_open, while the other dirvers use bdrv_file_open(). >> What is the difference between bdrv_open() and bdrv_file_open()? > > bdrv_file_open() is used by protocol drivers that don't need any other > driver to work (e.g. raw-posix), bdrv_open() is used by format drivers > that need a bs->file (e.g. raw or qcow2). > > They used to have different parameters originally, but nowadays that's > the only difference.
So, if the driver wants to open bs->file itself, it should use bdrv_file_open(), and the driver wants bs->file has already been opened before its open, it should use bdrv_open(). Is it right? Thanks Wen Congyang > > Kevin > . >