From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([208.118.235.92]:55038) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1T9fwO-00025M-Qr for qemu-devel@nongnu.org; Thu, 06 Sep 2012 13:32:36 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1T9fwN-0000y2-IG for qemu-devel@nongnu.org; Thu, 06 Sep 2012 13:32:32 -0400 Received: from mail-ob0-f173.google.com ([209.85.214.173]:47273) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1T9fwN-0000xy-DB for qemu-devel@nongnu.org; Thu, 06 Sep 2012 13:32:31 -0400 Received: by obbta14 with SMTP id ta14so2639525obb.4 for ; Thu, 06 Sep 2012 10:32:30 -0700 (PDT) Sender: fluxion Date: Thu, 6 Sep 2012 12:32:22 -0500 From: Michael Roth Message-ID: <20120906173222.GC522@illuin> References: <1344613185-12308-1-git-send-email-wdongxu@linux.vnet.ibm.com> <1344613185-12308-4-git-send-email-wdongxu@linux.vnet.ibm.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <1344613185-12308-4-git-send-email-wdongxu@linux.vnet.ibm.com> Subject: Re: [Qemu-devel] [PATCH V12 3/6] qed_read_string to bdrv_read_string List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: Dong Xu Wang Cc: kwolf@redhat.com, qemu-devel@nongnu.org On Fri, Aug 10, 2012 at 11:39:42PM +0800, Dong Xu Wang wrote: > Make qed_read_string function to a common interface, so move it to block.c. > > Signed-off-by: Dong Xu Wang > --- > block.c | 27 +++++++++++++++++++++++++++ > block.h | 2 ++ > block/qed.c | 29 +---------------------------- > 3 files changed, 30 insertions(+), 28 deletions(-) > > diff --git a/block.c b/block.c > index c13d803..d906b35 100644 > --- a/block.c > +++ b/block.c > @@ -213,6 +213,33 @@ int path_has_protocol(const char *path) > return *p == ':'; > } > > +/** > + * Read a string of known length from the image file > + * > + * @bs: 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. > + */ > +int bdrv_read_string(BlockDriverState *bs, uint64_t offset, size_t n, > + char *buf, size_t buflen) Small alignment issue ^ > +{ > + int ret; > + if (n >= buflen) { > + return -EINVAL; > + } > + ret = bdrv_pread(bs, offset, buf, n); > + if (ret < 0) { > + return ret; > + } > + buf[n] = '\0'; > + return 0; > +} > + > int path_is_absolute(const char *path) > { > #ifdef _WIN32 > diff --git a/block.h b/block.h > index 54e61c9..e5dfcd7 100644 > --- a/block.h > +++ b/block.h > @@ -154,6 +154,8 @@ int bdrv_pwrite_sync(BlockDriverState *bs, int64_t offset, > const void *buf, int count); > int coroutine_fn bdrv_co_readv(BlockDriverState *bs, int64_t sector_num, > int nb_sectors, QEMUIOVector *qiov); > +int bdrv_read_string(BlockDriverState *bs, uint64_t offset, size_t n, > + char *buf, size_t buflen); Another one here ^ > int coroutine_fn bdrv_co_copy_on_readv(BlockDriverState *bs, > int64_t sector_num, int nb_sectors, QEMUIOVector *qiov); > int coroutine_fn bdrv_co_writev(BlockDriverState *bs, int64_t sector_num, > diff --git a/block/qed.c b/block/qed.c > index 5f3eefa..311c589 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)); Here too ^ Looks good otherwise. > if (ret < 0) { > -- > 1.7.1 > >