[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemu-devel] [PATCH 2/6] block: make some functions public
From: |
Dong Xu Wang |
Subject: |
[Qemu-devel] [PATCH 2/6] block: make some functions public |
Date: |
Wed, 13 Jun 2012 22:36:25 +0800 |
In add-cow file format, we will use path_has_protocol and we will read
a NUL-terminated string from image , qed_read_string has done the samething,
so make the two functions public, then we will reuse them directly.
Signed-off-by: Dong Xu Wang <address@hidden>
---
block.c | 17 ++++++++++++++++-
block.h | 3 +++
block/qed.c | 29 +----------------------------
3 files changed, 20 insertions(+), 29 deletions(-)
diff --git a/block.c b/block.c
index 7547051..3cf5fe9 100644
--- a/block.c
+++ b/block.c
@@ -196,7 +196,7 @@ static void bdrv_io_limits_intercept(BlockDriverState *bs,
}
/* check if the path starts with "<protocol>:" */
-static int path_has_protocol(const char *path)
+int path_has_protocol(const char *path)
{
const char *p;
@@ -1606,6 +1606,21 @@ int bdrv_read(BlockDriverState *bs, int64_t sector_num,
return bdrv_rw_co(bs, sector_num, buf, nb_sectors, false);
}
+int bdrv_read_string(BlockDriverState *file, uint64_t offset, size_t n,
+ char *buf, size_t buflen)
+{
+ int ret;
+ if (n >= buflen) {
+ return -EINVAL;
+ }
+ ret = bdrv_pread(file, offset, buf, n);
+ if (ret < 0) {
+ return ret;
+ }
+ buf[n] = '\0';
+ return 0;
+}
+
#define BITS_PER_LONG (sizeof(unsigned long) * 8)
static void set_dirty_bitmap(BlockDriverState *bs, int64_t sector_num,
diff --git a/block.h b/block.h
index 7408acc..fd4f8cf 100644
--- a/block.h
+++ b/block.h
@@ -149,6 +149,8 @@ int bdrv_pwrite(BlockDriverState *bs, int64_t offset,
const void *buf, int count);
int bdrv_pwrite_sync(BlockDriverState *bs, int64_t offset,
const void *buf, int count);
+int bdrv_read_string(BlockDriverState *file, uint64_t offset, size_t n,
+ char *buf, size_t buflen);
int coroutine_fn bdrv_co_readv(BlockDriverState *bs, int64_t sector_num,
int nb_sectors, QEMUIOVector *qiov);
int coroutine_fn bdrv_co_copy_on_readv(BlockDriverState *bs,
@@ -321,6 +323,7 @@ char *bdrv_snapshot_dump(char *buf, int buf_size,
QEMUSnapshotInfo *sn);
char *get_human_readable_size(char *buf, int buf_size, int64_t size);
int path_is_absolute(const char *path);
+int path_has_protocol(const char *path);
void path_combine(char *dest, int dest_size,
const char *base_path,
const char *filename);
diff --git a/block/qed.c b/block/qed.c
index 30a31f9..b300584 100644
--- a/block/qed.c
+++ b/block/qed.c
@@ -217,33 +217,6 @@ static bool qed_is_image_size_valid(uint64_t image_size,
uint32_t cluster_size,
}
/**
- * Read a string of known length from the image file
- *
- * @file: Image file
- * @offset: File offset to start of string, in bytes
- * @n: String length in bytes
- * @buf: Destination buffer
- * @buflen: Destination buffer length in bytes
- * @ret: 0 on success, -errno on failure
- *
- * The string is NUL-terminated.
- */
-static int qed_read_string(BlockDriverState *file, uint64_t offset, size_t n,
- char *buf, size_t buflen)
-{
- int ret;
- if (n >= buflen) {
- return -EINVAL;
- }
- ret = bdrv_pread(file, offset, buf, n);
- if (ret < 0) {
- return ret;
- }
- buf[n] = '\0';
- return 0;
-}
-
-/**
* Allocate new clusters
*
* @s: QED state
@@ -437,7 +410,7 @@ static int bdrv_qed_open(BlockDriverState *bs, int flags)
return -EINVAL;
}
- ret = qed_read_string(bs->file, s->header.backing_filename_offset,
+ ret = bdrv_read_string(bs->file, s->header.backing_filename_offset,
s->header.backing_filename_size,
bs->backing_file,
sizeof(bs->backing_file));
if (ret < 0) {
--
1.7.1
- [Qemu-devel] [PATCH 1/6 v10] docs: spec for add-cow file format, Dong Xu Wang, 2012/06/13
- [Qemu-devel] [PATCH 2/6] block: make some functions public,
Dong Xu Wang <=
- [Qemu-devel] [PATCH 4/6] qemu-img: add-cow will not support convert, Dong Xu Wang, 2012/06/13
- Re: [Qemu-devel] [PATCH 4/6] qemu-img: add-cow will not support convert, Kevin Wolf, 2012/06/14
- Re: [Qemu-devel] [PATCH 4/6] qemu-img: add-cow will not support convert, Dong Xu Wang, 2012/06/14
- Re: [Qemu-devel] [PATCH 4/6] qemu-img: add-cow will not support convert, Kevin Wolf, 2012/06/14
- Re: [Qemu-devel] [PATCH 4/6] qemu-img: add-cow will not support convert, Dong Xu Wang, 2012/06/14
- Re: [Qemu-devel] [PATCH 4/6] qemu-img: add-cow will not support convert, Kevin Wolf, 2012/06/14
- Re: [Qemu-devel] [PATCH 4/6] qemu-img: add-cow will not support convert, Dong Xu Wang, 2012/06/14
[Qemu-devel] [PATCH 3/6] add-cow file format, Dong Xu Wang, 2012/06/13