mirror of
https://github.com/Motorhead1991/qemu.git
synced 2025-08-06 01:03:55 -06:00
block: Make blk_{pread,pwrite}() return 0 on success
They currently return the value of their 'bytes' parameter on success. Make them return 0 instead, for consistency with other I/O functions and in preparation to implement them using generated_co_wrapper. This also makes it clear that short reads/writes are not possible. Signed-off-by: Alberto Faria <afaria@redhat.com> Message-Id: <20220705161527.1054072-2-afaria@redhat.com> Reviewed-by: Hanna Reitz <hreitz@redhat.com> Signed-off-by: Hanna Reitz <hreitz@redhat.com>
This commit is contained in:
parent
92529251d2
commit
bf5b16fa40
12 changed files with 49 additions and 51 deletions
|
@ -1532,7 +1532,7 @@ static void m25p80_realize(SSIPeripheral *ss, Error **errp)
|
|||
trace_m25p80_binding(s);
|
||||
s->storage = blk_blockalign(s->blk, s->size);
|
||||
|
||||
if (blk_pread(s->blk, 0, s->storage, s->size) != s->size) {
|
||||
if (blk_pread(s->blk, 0, s->storage, s->size) < 0) {
|
||||
error_setg(errp, "failed to read the initial flash content");
|
||||
return;
|
||||
}
|
||||
|
|
|
@ -1029,8 +1029,8 @@ static void mos6522_q800_via1_realize(DeviceState *dev, Error **errp)
|
|||
return;
|
||||
}
|
||||
|
||||
len = blk_pread(v1s->blk, 0, v1s->PRAM, sizeof(v1s->PRAM));
|
||||
if (len != sizeof(v1s->PRAM)) {
|
||||
ret = blk_pread(v1s->blk, 0, v1s->PRAM, sizeof(v1s->PRAM));
|
||||
if (ret < 0) {
|
||||
error_setg(errp, "can't read PRAM contents");
|
||||
return;
|
||||
}
|
||||
|
|
|
@ -240,7 +240,7 @@ static void sifive_u_otp_realize(DeviceState *dev, Error **errp)
|
|||
return;
|
||||
}
|
||||
|
||||
if (blk_pread(s->blk, 0, s->fuse, filesize) != filesize) {
|
||||
if (blk_pread(s->blk, 0, s->fuse, filesize) < 0) {
|
||||
error_setg(errp, "failed to read the initial flash content");
|
||||
return;
|
||||
}
|
||||
|
|
|
@ -64,8 +64,8 @@ int at24c_eeprom_event(I2CSlave *s, enum i2c_event event)
|
|||
case I2C_START_RECV:
|
||||
DPRINTK("clear\n");
|
||||
if (ee->blk && ee->changed) {
|
||||
int len = blk_pwrite(ee->blk, 0, ee->mem, ee->rsize, 0);
|
||||
if (len != ee->rsize) {
|
||||
int ret = blk_pwrite(ee->blk, 0, ee->mem, ee->rsize, 0);
|
||||
if (ret < 0) {
|
||||
ERR(TYPE_AT24C_EE
|
||||
" : failed to write backing file\n");
|
||||
}
|
||||
|
@ -165,9 +165,9 @@ void at24c_eeprom_reset(DeviceState *state)
|
|||
memset(ee->mem, 0, ee->rsize);
|
||||
|
||||
if (ee->blk) {
|
||||
int len = blk_pread(ee->blk, 0, ee->mem, ee->rsize);
|
||||
int ret = blk_pread(ee->blk, 0, ee->mem, ee->rsize);
|
||||
|
||||
if (len != ee->rsize) {
|
||||
if (ret < 0) {
|
||||
ERR(TYPE_AT24C_EE
|
||||
" : Failed initial sync with backing file\n");
|
||||
}
|
||||
|
|
|
@ -103,7 +103,7 @@ static void rtas_nvram_store(PowerPCCPU *cpu, SpaprMachineState *spapr,
|
|||
{
|
||||
SpaprNvram *nvram = spapr->nvram;
|
||||
hwaddr offset, buffer, len;
|
||||
int alen;
|
||||
int ret;
|
||||
void *membuf;
|
||||
|
||||
if ((nargs != 3) || (nret != 2)) {
|
||||
|
@ -128,9 +128,9 @@ static void rtas_nvram_store(PowerPCCPU *cpu, SpaprMachineState *spapr,
|
|||
|
||||
membuf = cpu_physical_memory_map(buffer, &len, false);
|
||||
|
||||
alen = len;
|
||||
ret = 0;
|
||||
if (nvram->blk) {
|
||||
alen = blk_pwrite(nvram->blk, offset, membuf, len, 0);
|
||||
ret = blk_pwrite(nvram->blk, offset, membuf, len, 0);
|
||||
}
|
||||
|
||||
assert(nvram->buf);
|
||||
|
@ -138,8 +138,8 @@ static void rtas_nvram_store(PowerPCCPU *cpu, SpaprMachineState *spapr,
|
|||
|
||||
cpu_physical_memory_unmap(membuf, len, 0, len);
|
||||
|
||||
rtas_st(rets, 0, (alen < len) ? RTAS_OUT_HW_ERROR : RTAS_OUT_SUCCESS);
|
||||
rtas_st(rets, 1, (alen < 0) ? 0 : alen);
|
||||
rtas_st(rets, 0, (ret < 0) ? RTAS_OUT_HW_ERROR : RTAS_OUT_SUCCESS);
|
||||
rtas_st(rets, 1, (ret < 0) ? 0 : len);
|
||||
}
|
||||
|
||||
static void spapr_nvram_realize(SpaprVioDevice *dev, Error **errp)
|
||||
|
@ -179,9 +179,9 @@ static void spapr_nvram_realize(SpaprVioDevice *dev, Error **errp)
|
|||
}
|
||||
|
||||
if (nvram->blk) {
|
||||
int alen = blk_pread(nvram->blk, 0, nvram->buf, nvram->size);
|
||||
ret = blk_pread(nvram->blk, 0, nvram->buf, nvram->size);
|
||||
|
||||
if (alen != nvram->size) {
|
||||
if (ret < 0) {
|
||||
error_setg(errp, "can't read spapr-nvram contents");
|
||||
return;
|
||||
}
|
||||
|
|
|
@ -99,7 +99,7 @@ static void pnv_pnor_realize(DeviceState *dev, Error **errp)
|
|||
|
||||
s->storage = blk_blockalign(s->blk, s->size);
|
||||
|
||||
if (blk_pread(s->blk, 0, s->storage, s->size) != s->size) {
|
||||
if (blk_pread(s->blk, 0, s->storage, s->size) < 0) {
|
||||
error_setg(errp, "failed to read the initial flash content");
|
||||
return;
|
||||
}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue