void destroy_bdrvs(dev_match_fn *match_fn, void *arg)

{

    DriveInfo *dinfo;

    struct BlockDriverState *bs;



    TAILQ_FOREACH(dinfo, &drives, next) {

        bs = dinfo->bdrv;

        if (bs) {

            if (bs->private && match_fn(bs->private, arg)) {

                drive_uninit(bs);

                bdrv_delete(bs);

            }

        }

    }

}

void destroy_bdrvs(dev_match_fn *match_fn, void *arg)

{

    DriveInfo *dinfo;

    struct BlockDriverState *bs;



    TAILQ_FOREACH(dinfo, &drives, next) {

        bs = dinfo->bdrv;

        if (bs) {

            if (bs->private && match_fn(bs->private, arg)) {

                drive_uninit(bs);

                bdrv_delete(bs);

            }

        }

    }

}

void FUNC_0(dev_match_fn *VAR_0, void *VAR_1)

{

    DriveInfo *dinfo;

    struct BlockDriverState *VAR_2;



    TAILQ_FOREACH(dinfo, &drives, next) {

        VAR_2 = dinfo->bdrv;

        if (VAR_2) {

            if (VAR_2->private && VAR_0(VAR_2->private, VAR_1)) {

                drive_uninit(VAR_2);

                bdrv_delete(VAR_2);

            }

        }

    }

}

void FUNC_0(dev_match_fn *VAR_0, void *VAR_1)
{ DriveInfo *dinfo; struct BlockDriverState *VAR_2; TAILQ_FOREACH(dinfo, &drives, next) { VAR_2 = dinfo->bdrv; if (VAR_2) { if (VAR_2->private && VAR_0(VAR_2->private, VAR_1)) { drive_uninit(VAR_2); bdrv_delete(VAR_2); } } } }