diff options
Diffstat (limited to 'block.c')
-rw-r--r-- | block.c | 22 |
1 files changed, 22 insertions, 0 deletions
@@ -706,6 +706,28 @@ int coroutine_fn bdrv_co_delete_file(BlockDriverState *bs, Error **errp) return ret; } +void coroutine_fn bdrv_co_delete_file_noerr(BlockDriverState *bs) +{ + Error *local_err = NULL; + int ret; + + if (!bs) { + return; + } + + ret = bdrv_co_delete_file(bs, &local_err); + /* + * ENOTSUP will happen if the block driver doesn't support + * the 'bdrv_co_delete_file' interface. This is a predictable + * scenario and shouldn't be reported back to the user. + */ + if (ret == -ENOTSUP) { + error_free(local_err); + } else if (ret < 0) { + error_report_err(local_err); + } +} + /** * Try to get @bs's logical and physical block size. * On success, store them in @bsz struct and return 0. |