Merge pull request #577 from arutk/sample_fix
simple sample: offset handling fixes in data and volume
This commit is contained in:
commit
aeca11a9c9
@ -64,6 +64,7 @@ static uint32_t ctx_data_read(void *dst, ctx_data_t *src, uint32_t size)
|
||||
struct volume_data *data = src;
|
||||
|
||||
memcpy(dst, data->ptr + data->offset, size);
|
||||
data->offset += size;
|
||||
|
||||
return size;
|
||||
}
|
||||
@ -76,6 +77,7 @@ static uint32_t ctx_data_write(ctx_data_t *dst, const void *src, uint32_t size)
|
||||
struct volume_data *data = dst;
|
||||
|
||||
memcpy(data->ptr + data->offset, src, size);
|
||||
data->offset += size;
|
||||
|
||||
return size;
|
||||
}
|
||||
@ -88,6 +90,7 @@ static uint32_t ctx_data_zero(ctx_data_t *dst, uint32_t size)
|
||||
struct volume_data *data = dst;
|
||||
|
||||
memset(data->ptr + data->offset, 0, size);
|
||||
data->offset += size;
|
||||
|
||||
return size;
|
||||
}
|
||||
|
@ -44,17 +44,19 @@ static void volume_close(ocf_volume_t volume)
|
||||
*/
|
||||
static void volume_submit_io(struct ocf_io *io)
|
||||
{
|
||||
struct myvolume_io *myvolume_io = ocf_io_get_priv(io);
|
||||
struct volume_data *data;
|
||||
struct myvolume *myvolume;
|
||||
uint32_t offset = myvolume_io->offset;
|
||||
|
||||
data = ocf_io_get_data(io);
|
||||
myvolume = ocf_volume_get_priv(ocf_io_get_volume(io));
|
||||
|
||||
if (io->dir == OCF_WRITE) {
|
||||
memcpy(myvolume->mem + io->addr,
|
||||
data->ptr + data->offset, io->bytes);
|
||||
data->ptr + offset, io->bytes);
|
||||
} else {
|
||||
memcpy(data->ptr + data->offset,
|
||||
memcpy(data->ptr + offset,
|
||||
myvolume->mem + io->addr, io->bytes);
|
||||
}
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user