# HG changeset patch # User Timo Sirainen # Date 1467731016 -10800 # Node ID c97e2a2d88b16847a414e1c34a1eb8796f31955d # Parent bceab6533a286da79b6cb5d1d9a4a90c8b1960cd fs-sis*: Removed unnecessary error copying. It was probably needed in the beginning, but nowadays the parent-most fs keeps the error. There's no need to copy it around. diff -r bceab6533a28 -r c97e2a2d88b1 src/lib-fs/fs-sis-queue.c --- a/src/lib-fs/fs-sis-queue.c Tue Jul 05 17:59:08 2016 +0300 +++ b/src/lib-fs/fs-sis-queue.c Tue Jul 05 18:03:36 2016 +0300 @@ -19,18 +19,6 @@ struct fs_file *super; }; -static void fs_sis_queue_copy_error(struct sis_queue_fs *fs) -{ - fs_set_error(&fs->fs, "%s", fs_last_error(fs->fs.parent)); -} - -static void fs_sis_queue_file_copy_error(struct sis_queue_fs_file *file) -{ - struct sis_queue_fs *fs = (struct sis_queue_fs *)file->file.fs; - - fs_sis_queue_copy_error(fs); -} - static struct fs *fs_sis_queue_alloc(void) { struct sis_queue_fs *fs; @@ -172,11 +160,8 @@ static ssize_t fs_sis_queue_read(struct fs_file *_file, void *buf, size_t size) { struct sis_queue_fs_file *file = (struct sis_queue_fs_file *)_file; - ssize_t ret; - if ((ret = fs_read(file->super, buf, size)) < 0) - fs_sis_queue_file_copy_error(file); - return ret; + return fs_read(file->super, buf, size); } static struct istream * @@ -213,10 +198,8 @@ if (file->super == NULL) return -1; - if (fs_write(file->super, data, size) < 0) { - fs_sis_queue_file_copy_error(file); + if (fs_write(file->super, data, size) < 0) return -1; - } T_BEGIN { fs_sis_queue_add(file); } T_END; @@ -243,17 +226,13 @@ struct sis_queue_fs_file *file = (struct sis_queue_fs_file *)_file; if (!success) { - if (file->super != NULL) { + if (file->super != NULL) fs_write_stream_abort(file->super, &_file->output); - fs_sis_queue_file_copy_error(file); - } return -1; } - if (fs_write_stream_finish(file->super, &_file->output) < 0) { - fs_sis_queue_file_copy_error(file); + if (fs_write_stream_finish(file->super, &_file->output) < 0) return -1; - } T_BEGIN { fs_sis_queue_add(file); } T_END; @@ -266,11 +245,7 @@ { struct sis_queue_fs_file *file = (struct sis_queue_fs_file *)_file; - if (fs_lock(file->super, secs, lock_r) < 0) { - fs_sis_queue_file_copy_error(file); - return -1; - } - return 0; + return fs_lock(file->super, secs, lock_r); } static void fs_sis_queue_unlock(struct fs_lock *_lock ATTR_UNUSED) @@ -282,22 +257,14 @@ { struct sis_queue_fs_file *file = (struct sis_queue_fs_file *)_file; - if (fs_exists(file->super) < 0) { - fs_sis_queue_copy_error(file->fs); - return -1; - } - return 0; + return fs_exists(file->super); } static int fs_sis_queue_stat(struct fs_file *_file, struct stat *st_r) { struct sis_queue_fs_file *file = (struct sis_queue_fs_file *)_file; - if (fs_stat(file->super, st_r) < 0) { - fs_sis_queue_copy_error(file->fs); - return -1; - } - return 0; + return fs_stat(file->super, st_r); } static int fs_sis_queue_copy(struct fs_file *_src, struct fs_file *_dest) @@ -305,11 +272,7 @@ struct sis_queue_fs_file *src = (struct sis_queue_fs_file *)_src; struct sis_queue_fs_file *dest = (struct sis_queue_fs_file *)_dest; - if (fs_copy(src->super, dest->super) < 0) { - fs_sis_queue_copy_error(src->fs); - return -1; - } - return 0; + return fs_copy(src->super, dest->super); } static int @@ -318,11 +281,7 @@ struct sis_queue_fs_file *src = (struct sis_queue_fs_file *)_src; struct sis_queue_fs_file *dest = (struct sis_queue_fs_file *)_dest; - if (fs_rename(src->super, dest->super) < 0) { - fs_sis_queue_copy_error(src->fs); - return -1; - } - return 0; + return fs_rename(src->super, dest->super); } static int fs_sis_queue_delete(struct fs_file *_file) @@ -332,11 +291,7 @@ T_BEGIN { fs_sis_try_unlink_hash_file(_file->fs, file->super); } T_END; - if (fs_delete(file->super) < 0) { - fs_sis_queue_copy_error(file->fs); - return -1; - } - return 0; + return fs_delete(file->super); } static struct fs_iter * diff -r bceab6533a28 -r c97e2a2d88b1 src/lib-fs/fs-sis.c --- a/src/lib-fs/fs-sis.c Tue Jul 05 17:59:08 2016 +0300 +++ b/src/lib-fs/fs-sis.c Tue Jul 05 18:03:36 2016 +0300 @@ -28,18 +28,6 @@ bool opened; }; -static void fs_sis_copy_error(struct sis_fs *fs) -{ - fs_set_error(&fs->fs, "%s", fs_last_error(fs->fs.parent)); -} - -static void fs_sis_file_copy_error(struct sis_fs_file *file) -{ - struct sis_fs *fs = (struct sis_fs *)file->file.fs; - - fs_sis_copy_error(fs); -} - static struct fs *fs_sis_alloc(void) { struct sis_fs *fs; @@ -208,11 +196,8 @@ static ssize_t fs_sis_read(struct fs_file *_file, void *buf, size_t size) { struct sis_fs_file *file = (struct sis_fs_file *)_file; - ssize_t ret; - if ((ret = fs_read(file->super, buf, size)) < 0) - fs_sis_file_copy_error(file); - return ret; + return fs_read(file->super, buf, size); } static struct istream * @@ -332,10 +317,8 @@ return 0; } - if (fs_write(file->super, data, size) < 0) { - fs_sis_file_copy_error(file); + if (fs_write(file->super, data, size) < 0) return -1; - } T_BEGIN { fs_sis_replace_hash_file(file); } T_END; @@ -370,10 +353,8 @@ struct sis_fs_file *file = (struct sis_fs_file *)_file; if (!success) { - if (file->super != NULL) { + if (file->super != NULL) fs_write_stream_abort(file->super, &file->fs_output); - fs_sis_file_copy_error(file); - } o_stream_unref(&_file->output); return -1; } @@ -390,10 +371,8 @@ if (_file->output != NULL) o_stream_unref(&_file->output); - if (fs_write_stream_finish(file->super, &file->fs_output) < 0) { - fs_sis_file_copy_error(file); + if (fs_write_stream_finish(file->super, &file->fs_output) < 0) return -1; - } T_BEGIN { fs_sis_replace_hash_file(file); } T_END; @@ -405,10 +384,8 @@ { struct sis_fs_file *file = (struct sis_fs_file *)_file; - if (fs_lock(file->super, secs, lock_r) < 0) { - fs_sis_file_copy_error(file); + if (fs_lock(file->super, secs, lock_r) < 0) return -1; - } return 0; } @@ -421,22 +398,14 @@ { struct sis_fs_file *file = (struct sis_fs_file *)_file; - if (fs_exists(file->super) < 0) { - fs_sis_copy_error(file->fs); - return -1; - } - return 0; + return fs_exists(file->super); } static int fs_sis_stat(struct fs_file *_file, struct stat *st_r) { struct sis_fs_file *file = (struct sis_fs_file *)_file; - if (fs_stat(file->super, st_r) < 0) { - fs_sis_copy_error(file->fs); - return -1; - } - return 0; + return fs_stat(file->super, st_r); } static int fs_sis_copy(struct fs_file *_src, struct fs_file *_dest) @@ -444,11 +413,7 @@ struct sis_fs_file *src = (struct sis_fs_file *)_src; struct sis_fs_file *dest = (struct sis_fs_file *)_dest; - if (fs_copy(src->super, dest->super) < 0) { - fs_sis_copy_error(src->fs); - return -1; - } - return 0; + return fs_copy(src->super, dest->super); } static int fs_sis_rename(struct fs_file *_src, struct fs_file *_dest) @@ -456,11 +421,7 @@ struct sis_fs_file *src = (struct sis_fs_file *)_src; struct sis_fs_file *dest = (struct sis_fs_file *)_dest; - if (fs_rename(src->super, dest->super) < 0) { - fs_sis_copy_error(src->fs); - return -1; - } - return 0; + return fs_rename(src->super, dest->super); } static int fs_sis_delete(struct fs_file *_file) @@ -470,11 +431,7 @@ T_BEGIN { fs_sis_try_unlink_hash_file(_file->fs, file->super); } T_END; - if (fs_delete(file->super) < 0) { - fs_sis_copy_error(file->fs); - return -1; - } - return 0; + return fs_delete(file->super); } static struct fs_iter *