qemu with hax to log dma reads & writes jcs.org/2018/11/12/vfio

nbd: add empty .bdrv_reopen_prepare

Fixes commit job / qemu-img commit, when
commiting qcow2 file which is based on nbd export.

Bugzilla: https://bugzilla.redhat.com/show_bug.cgi?id=1718727
Signed-off-by: Maxim Levitsky <mlevitsk@redhat.com>
Message-id: 20190930213820.29777-2-mlevitsk@redhat.com
Signed-off-by: Max Reitz <mreitz@redhat.com>

authored by

Maxim Levitsky and committed by
Max Reitz
e99754b4 00e30f05

+15
+15
block/nbd.c
··· 1158 1158 BDRV_BLOCK_OFFSET_VALID; 1159 1159 } 1160 1160 1161 + static int nbd_client_reopen_prepare(BDRVReopenState *state, 1162 + BlockReopenQueue *queue, Error **errp) 1163 + { 1164 + BDRVNBDState *s = (BDRVNBDState *)state->bs->opaque; 1165 + 1166 + if ((state->flags & BDRV_O_RDWR) && (s->info.flags & NBD_FLAG_READ_ONLY)) { 1167 + error_setg(errp, "Can't reopen read-only NBD mount as read/write"); 1168 + return -EACCES; 1169 + } 1170 + return 0; 1171 + } 1172 + 1161 1173 static void nbd_client_close(BlockDriverState *bs) 1162 1174 { 1163 1175 BDRVNBDState *s = (BDRVNBDState *)bs->opaque; ··· 1798 1810 .instance_size = sizeof(BDRVNBDState), 1799 1811 .bdrv_parse_filename = nbd_parse_filename, 1800 1812 .bdrv_file_open = nbd_open, 1813 + .bdrv_reopen_prepare = nbd_client_reopen_prepare, 1801 1814 .bdrv_co_preadv = nbd_client_co_preadv, 1802 1815 .bdrv_co_pwritev = nbd_client_co_pwritev, 1803 1816 .bdrv_co_pwrite_zeroes = nbd_client_co_pwrite_zeroes, ··· 1820 1833 .instance_size = sizeof(BDRVNBDState), 1821 1834 .bdrv_parse_filename = nbd_parse_filename, 1822 1835 .bdrv_file_open = nbd_open, 1836 + .bdrv_reopen_prepare = nbd_client_reopen_prepare, 1823 1837 .bdrv_co_preadv = nbd_client_co_preadv, 1824 1838 .bdrv_co_pwritev = nbd_client_co_pwritev, 1825 1839 .bdrv_co_pwrite_zeroes = nbd_client_co_pwrite_zeroes, ··· 1842 1856 .instance_size = sizeof(BDRVNBDState), 1843 1857 .bdrv_parse_filename = nbd_parse_filename, 1844 1858 .bdrv_file_open = nbd_open, 1859 + .bdrv_reopen_prepare = nbd_client_reopen_prepare, 1845 1860 .bdrv_co_preadv = nbd_client_co_preadv, 1846 1861 .bdrv_co_pwritev = nbd_client_co_pwritev, 1847 1862 .bdrv_co_pwrite_zeroes = nbd_client_co_pwrite_zeroes,