[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemu-devel] [PATCH 11/18] block/vvfat: Propagate errors through init_di
From: |
Markus Armbruster |
Subject: |
[Qemu-devel] [PATCH 11/18] block/vvfat: Propagate errors through init_directories() |
Date: |
Tue, 13 May 2014 18:02:45 +0200 |
Completes the conversion of the open method to Error started in commit
015a103.
Signed-off-by: Markus Armbruster <address@hidden>
---
block/vvfat.c | 16 +++++++++-------
1 file changed, 9 insertions(+), 7 deletions(-)
diff --git a/block/vvfat.c b/block/vvfat.c
index 3eccd68..c6a1211 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
- Re: [Qemu-devel] [PATCH 05/18] block/ssh: Drop superfluous libssh2_session_last_errno() calls, (continued)
Re: [Qemu-devel] [PATCH 05/18] block/ssh: Drop superfluous libssh2_session_last_errno() calls, Richard W.M. Jones, 2014/05/14
[Qemu-devel] [PATCH 10/18] block/vvfat: Propagate errors through enable_write_target(), Markus Armbruster, 2014/05/13
[Qemu-devel] [PATCH 07/18] block/ssh: Propagate errors through authenticate(), Markus Armbruster, 2014/05/13
[Qemu-devel] [PATCH 06/18] block/ssh: Propagate errors through check_host_key(), Markus Armbruster, 2014/05/13
[Qemu-devel] [PATCH 11/18] block/vvfat: Propagate errors through init_directories(),
Markus Armbruster <=
[Qemu-devel] [PATCH 13/18] block/sheepdog: Propagate errors through get_sheep_fd(), Markus Armbruster, 2014/05/13
[Qemu-devel] [PATCH 09/18] block/ssh: Propagate errors to open and create methods, Markus Armbruster, 2014/05/13
[Qemu-devel] [PATCH 18/18] block/sheepdog: Don't use qerror_report(), Markus Armbruster, 2014/05/13
[Qemu-devel] [PATCH 15/18] block/sheepdog: Propagate errors through do_sd_create(), Markus Armbruster, 2014/05/13