* raw image and blk dev are similar, so reuse raw image ops.
*/
static struct disk_image_operations blk_dev_ops = {
- .read_sector = raw_image__read_sector,
- .write_sector = raw_image__write_sector,
+ .read = raw_image__read,
+ .write = raw_image__write,
};
static bool is_mounted(struct stat *st)
if (debug_iodelay)
msleep(debug_iodelay);
- if (disk->ops->read_sector) {
- total = disk->ops->read_sector(disk, sector, iov, iovcount, param);
+ if (disk->ops->read) {
+ total = disk->ops->read(disk, sector, iov, iovcount, param);
if (total < 0) {
pr_info("disk_image__read error: total=%ld\n", (long)total);
return total;
if (debug_iodelay)
msleep(debug_iodelay);
- if (disk->ops->write_sector) {
+ if (disk->ops->write) {
/*
* Try writev based operation first
*/
- total = disk->ops->write_sector(disk, sector, iov, iovcount, param);
+ total = disk->ops->write(disk, sector, iov, iovcount, param);
if (total < 0) {
pr_info("disk_image__write error: total=%ld\n", (long)total);
return total;
}
static struct disk_image_operations qcow_disk_readonly_ops = {
- .read_sector = qcow_read_sector,
- .close = qcow_disk_close,
+ .read = qcow_read_sector,
+ .close = qcow_disk_close,
};
static struct disk_image_operations qcow_disk_ops = {
- .read_sector = qcow_read_sector,
- .write_sector = qcow_write_sector,
- .flush = qcow_disk_flush,
- .close = qcow_disk_close,
+ .read = qcow_read_sector,
+ .write = qcow_write_sector,
+ .flush = qcow_disk_flush,
+ .close = qcow_disk_close,
};
static int qcow_read_refcount_table(struct qcow *q)
#include <libaio.h>
#endif
-ssize_t raw_image__read_sector(struct disk_image *disk, u64 sector, const struct iovec *iov,
+ssize_t raw_image__read(struct disk_image *disk, u64 sector, const struct iovec *iov,
int iovcount, void *param)
{
u64 offset = sector << SECTOR_SHIFT;
#endif
}
-ssize_t raw_image__write_sector(struct disk_image *disk, u64 sector, const struct iovec *iov,
+ssize_t raw_image__write(struct disk_image *disk, u64 sector, const struct iovec *iov,
int iovcount, void *param)
{
u64 offset = sector << SECTOR_SHIFT;
#endif
}
-ssize_t raw_image__read_sector_mmap(struct disk_image *disk, u64 sector, const struct iovec *iov,
+ssize_t raw_image__read_mmap(struct disk_image *disk, u64 sector, const struct iovec *iov,
int iovcount, void *param)
{
u64 offset = sector << SECTOR_SHIFT;
return total;
}
-ssize_t raw_image__write_sector_mmap(struct disk_image *disk, u64 sector, const struct iovec *iov,
+ssize_t raw_image__write_mmap(struct disk_image *disk, u64 sector, const struct iovec *iov,
int iovcount, void *param)
{
u64 offset = sector << SECTOR_SHIFT;
* multiple buffer based disk image operations
*/
static struct disk_image_operations raw_image_regular_ops = {
- .read_sector = raw_image__read_sector,
- .write_sector = raw_image__write_sector,
+ .read = raw_image__read,
+ .write = raw_image__write,
};
struct disk_image_operations ro_ops = {
- .read_sector = raw_image__read_sector_mmap,
- .write_sector = raw_image__write_sector_mmap,
+ .read = raw_image__read_mmap,
+ .write = raw_image__write_mmap,
.close = raw_image__close,
};
struct disk_image_operations ro_ops_nowrite = {
- .read_sector = raw_image__read_sector,
+ .read = raw_image__read,
};
struct disk_image *raw_image__probe(int fd, struct stat *st, bool readonly)
struct disk_image;
struct disk_image_operations {
- ssize_t (*read_sector)(struct disk_image *disk, u64 sector, const struct iovec *iov,
- int iovcount, void *param);
- ssize_t (*write_sector)(struct disk_image *disk, u64 sector, const struct iovec *iov,
- int iovcount, void *param);
+ ssize_t (*read)(struct disk_image *disk, u64 sector, const struct iovec *iov,
+ int iovcount, void *param);
+ ssize_t (*write)(struct disk_image *disk, u64 sector, const struct iovec *iov,
+ int iovcount, void *param);
int (*flush)(struct disk_image *disk);
int (*close)(struct disk_image *disk);
};
struct disk_image *raw_image__probe(int fd, struct stat *st, bool readonly);
struct disk_image *blkdev__probe(const char *filename, struct stat *st);
-ssize_t raw_image__read_sector(struct disk_image *disk, u64 sector,
+ssize_t raw_image__read(struct disk_image *disk, u64 sector,
const struct iovec *iov, int iovcount, void *param);
-ssize_t raw_image__write_sector(struct disk_image *disk, u64 sector,
+ssize_t raw_image__write(struct disk_image *disk, u64 sector,
const struct iovec *iov, int iovcount, void *param);
-ssize_t raw_image__read_sector_mmap(struct disk_image *disk, u64 sector,
+ssize_t raw_image__read_mmap(struct disk_image *disk, u64 sector,
const struct iovec *iov, int iovcount, void *param);
-ssize_t raw_image__write_sector_mmap(struct disk_image *disk, u64 sector,
+ssize_t raw_image__write_mmap(struct disk_image *disk, u64 sector,
const struct iovec *iov, int iovcount, void *param);
int raw_image__close(struct disk_image *disk);
void disk_image__set_callback(struct disk_image *disk, void (*disk_req_cb)(void *param, long len));