[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemu-devel] [PATCH v2 11/19] block/vvfat: Propagate errors through init
From: |
Markus Armbruster |
Subject: |
[Qemu-devel] [PATCH v2 11/19] block/vvfat: Propagate errors through init_directories() |
Date: |
Fri, 16 May 2014 11:00:18 +0200 |
Completes the conversion of the open method to Error started in commit
015a103.
Signed-off-by: Markus Armbruster <address@hidden>
Reviewed-by: Eric Blake <address@hidden>
---
block/vvfat.c | 16 +++++++++-------
1 file changed, 9 insertions(+), 7 deletions(-)
diff --git a/block/vvfat.c b/block/vvfat.c
index 8ad31b1..657e585 100644
--- a/block/vvfat.c
+++ b/block/vvfat.c
@@ -831,7 +831,8 @@ static inline off_t cluster2sector(BDRVVVFATState* s,
uint32_t cluster_num)
}
static int init_directories(BDRVVVFATState* s,
- const char *dirname, int heads, int secs)
+ const char *dirname, int heads, int secs,
+ Error **errp)
{
bootsector_t* bootsector;
mapping_t* mapping;
@@ -892,8 +893,8 @@ static int init_directories(BDRVVVFATState* s,
if (mapping->mode & MODE_DIRECTORY) {
mapping->begin = cluster;
if(read_directory(s, i)) {
- fprintf(stderr, "Could not read directory %s\n",
- mapping->path);
+ error_setg(errp, "Could not read directory %s",
+ mapping->path);
return -1;
}
mapping = array_get(&(s->mapping), i);
@@ -919,9 +920,10 @@ static int init_directories(BDRVVVFATState* s,
cluster = mapping->end;
if(cluster > s->cluster_count) {
- fprintf(stderr,"Directory does not fit in FAT%d (capacity %.2f
MB)\n",
- s->fat_type, s->sector_count / 2000.0);
- return -EINVAL;
+ error_setg(errp,
+ "Directory does not fit in FAT%d (capacity %.2f MB)",
+ s->fat_type, s->sector_count / 2000.0);
+ return -1;
}
/* fix fat for entry */
@@ -1169,7 +1171,7 @@ DLOG(if (stderr == NULL) {
bs->total_sectors = cyls * heads * secs;
- if (init_directories(s, dirname, heads, secs)) {
+ if (init_directories(s, dirname, heads, secs, errp)) {
ret = -EIO;
goto fail;
}
--
1.8.1.4
- [Qemu-devel] [PATCH v2 17/19] block/sheepdog: Propagate errors to open and create methods, (continued)
- [Qemu-devel] [PATCH v2 17/19] block/sheepdog: Propagate errors to open and create methods, Markus Armbruster, 2014/05/16
- [Qemu-devel] [PATCH v2 15/19] block/sheepdog: Propagate errors through do_sd_create(), Markus Armbruster, 2014/05/16
- [Qemu-devel] [PATCH v2 14/19] block/sheepdog: Propagate errors through sd_prealloc(), Markus Armbruster, 2014/05/16
- [Qemu-devel] [PATCH v2 12/19] block/sheepdog: Propagate errors through connect_to_sdog(), Markus Armbruster, 2014/05/16
- [Qemu-devel] [PATCH v2 18/19] block/sheepdog: Fix silent sd_open(), sd_create() failures, Markus Armbruster, 2014/05/16
- [Qemu-devel] [PATCH v2 13/19] block/sheepdog: Propagate errors through get_sheep_fd(), Markus Armbruster, 2014/05/16
- [Qemu-devel] [PATCH v2 16/19] block/sheepdog: Propagate errors through find_vdi_name(), Markus Armbruster, 2014/05/16
- [Qemu-devel] [PATCH v2 11/19] block/vvfat: Propagate errors through init_directories(),
Markus Armbruster <=
- [Qemu-devel] [PATCH v2 06/19] block/ssh: Propagate errors through check_host_key(), Markus Armbruster, 2014/05/16
- [Qemu-devel] [PATCH v2 01/19] blockdev: Don't use qerror_report_err() in drive_init(), Markus Armbruster, 2014/05/16
- [Qemu-devel] [PATCH v2 02/19] blockdev: Don't use qerror_report() in do_drive_del(), Markus Armbruster, 2014/05/16
- [Qemu-devel] [PATCH v2 03/19] qemu-nbd: Don't use qerror_report(), Markus Armbruster, 2014/05/16
- [Qemu-devel] [PATCH v2 10/19] block/vvfat: Propagate errors through enable_write_target(), Markus Armbruster, 2014/05/16
- [Qemu-devel] [PATCH v2 05/19] block/ssh: Drop superfluous libssh2_session_last_errno() calls, Markus Armbruster, 2014/05/16
- Re: [Qemu-devel] [PATCH v2 00/19] block: Purge qerror_report(), Stefan Hajnoczi, 2014/05/23