blkdebug.c (fcb7e040f5c69ca1f0678f991ab5354488a9e192) blkdebug.c (c86422c5549c0983b4b4525b8f56a1c69dd67aa1)
1/*
2 * Block protocol for I/O error injection
3 *
4 * Copyright (C) 2016-2017 Red Hat, Inc.
5 * Copyright (c) 2010 Kevin Wolf <kwolf@redhat.com>
6 *
7 * Permission is hereby granted, free of charge, to any person obtaining a copy
8 * of this software and associated documentation files (the "Software"), to deal

--- 952 unchanged lines hidden (view full) ---

961 QLIST_FOREACH(r, &s->suspended_reqs, next) {
962 if (!strcmp(r->tag, tag)) {
963 return true;
964 }
965 }
966 return false;
967}
968
1/*
2 * Block protocol for I/O error injection
3 *
4 * Copyright (C) 2016-2017 Red Hat, Inc.
5 * Copyright (c) 2010 Kevin Wolf <kwolf@redhat.com>
6 *
7 * Permission is hereby granted, free of charge, to any person obtaining a copy
8 * of this software and associated documentation files (the "Software"), to deal

--- 952 unchanged lines hidden (view full) ---

961 QLIST_FOREACH(r, &s->suspended_reqs, next) {
962 if (!strcmp(r->tag, tag)) {
963 return true;
964 }
965 }
966 return false;
967}
968
969static int64_t blkdebug_getlength(BlockDriverState *bs)
969static int64_t coroutine_fn blkdebug_co_getlength(BlockDriverState *bs)
970{
970{
971 return bdrv_getlength(bs->file->bs);
971 return bdrv_co_getlength(bs->file->bs);
972}
973
974static void blkdebug_refresh_filename(BlockDriverState *bs)
975{
976 BDRVBlkdebugState *s = bs->opaque;
977 const QDictEntry *e;
978 int ret;
979

--- 90 unchanged lines hidden (view full) ---

1070 .is_filter = true,
1071
1072 .bdrv_parse_filename = blkdebug_parse_filename,
1073 .bdrv_file_open = blkdebug_open,
1074 .bdrv_close = blkdebug_close,
1075 .bdrv_reopen_prepare = blkdebug_reopen_prepare,
1076 .bdrv_child_perm = blkdebug_child_perm,
1077
972}
973
974static void blkdebug_refresh_filename(BlockDriverState *bs)
975{
976 BDRVBlkdebugState *s = bs->opaque;
977 const QDictEntry *e;
978 int ret;
979

--- 90 unchanged lines hidden (view full) ---

1070 .is_filter = true,
1071
1072 .bdrv_parse_filename = blkdebug_parse_filename,
1073 .bdrv_file_open = blkdebug_open,
1074 .bdrv_close = blkdebug_close,
1075 .bdrv_reopen_prepare = blkdebug_reopen_prepare,
1076 .bdrv_child_perm = blkdebug_child_perm,
1077
1078 .bdrv_getlength = blkdebug_getlength,
1078 .bdrv_co_getlength = blkdebug_co_getlength,
1079 .bdrv_refresh_filename = blkdebug_refresh_filename,
1080 .bdrv_refresh_limits = blkdebug_refresh_limits,
1081
1082 .bdrv_co_preadv = blkdebug_co_preadv,
1083 .bdrv_co_pwritev = blkdebug_co_pwritev,
1084 .bdrv_co_flush_to_disk = blkdebug_co_flush,
1085 .bdrv_co_pwrite_zeroes = blkdebug_co_pwrite_zeroes,
1086 .bdrv_co_pdiscard = blkdebug_co_pdiscard,

--- 18 unchanged lines hidden ---
1079 .bdrv_refresh_filename = blkdebug_refresh_filename,
1080 .bdrv_refresh_limits = blkdebug_refresh_limits,
1081
1082 .bdrv_co_preadv = blkdebug_co_preadv,
1083 .bdrv_co_pwritev = blkdebug_co_pwritev,
1084 .bdrv_co_flush_to_disk = blkdebug_co_flush,
1085 .bdrv_co_pwrite_zeroes = blkdebug_co_pwrite_zeroes,
1086 .bdrv_co_pdiscard = blkdebug_co_pdiscard,

--- 18 unchanged lines hidden ---