Revision a0a83536

b/block.c
399 399
    else
400 400
        open_flags = flags & ~(BDRV_O_FILE | BDRV_O_SNAPSHOT);
401 401
    ret = drv->bdrv_open(bs, filename, open_flags);
402
    if (ret == -EACCES && !(flags & BDRV_O_FILE)) {
402
    if ((ret == -EACCES || ret == -EPERM) && !(flags & BDRV_O_FILE)) {
403 403
        ret = drv->bdrv_open(bs, filename, BDRV_O_RDONLY);
404 404
        bs->read_only = 1;
405 405
    }

Also available in: Unified diff