You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@subversion.apache.org by rh...@apache.org on 2015/05/11 12:42:34 UTC
svn commit: r1678718 - in /subversion/trunk/subversion/libsvn_fs_fs:
cached_data.c lock.c recovery.c transaction.c
Author: rhuijben
Date: Mon May 11 10:42:33 2015
New Revision: 1678718
URL: http://svn.apache.org/r1678718
Log:
In fsfs: compose some possible errors in cases where we return an error
anyway, instead of just clearing errors for the recovery code path.
* subversion/libsvn_fs_fs/cached_data.c
(svn_fs_fs__get_proplist): Compose errors.
* subversion/libsvn_fs_fs/lock.c
(write_digest_file): Compose errors.
* subversion/libsvn_fs_fs/recovery.c
(recover_find_max_ids): Compose errors.
* subversion/libsvn_fs_fs/transaction.c
(get_txn_proplist): Compose errors.
Modified:
subversion/trunk/subversion/libsvn_fs_fs/cached_data.c
subversion/trunk/subversion/libsvn_fs_fs/lock.c
subversion/trunk/subversion/libsvn_fs_fs/recovery.c
subversion/trunk/subversion/libsvn_fs_fs/transaction.c
Modified: subversion/trunk/subversion/libsvn_fs_fs/cached_data.c
URL: http://svn.apache.org/viewvc/subversion/trunk/subversion/libsvn_fs_fs/cached_data.c?rev=1678718&r1=1678717&r2=1678718&view=diff
==============================================================================
--- subversion/trunk/subversion/libsvn_fs_fs/cached_data.c (original)
+++ subversion/trunk/subversion/libsvn_fs_fs/cached_data.c Mon May 11 10:42:33 2015
@@ -2735,7 +2735,7 @@ svn_fs_fs__get_proplist(apr_hash_t **pro
{
svn_string_t *id_str = svn_fs_fs__id_unparse(noderev->id, pool);
- svn_error_clear(svn_stream_close(stream));
+ err = svn_error_compose_create(err, svn_stream_close(stream));
return svn_error_createf(SVN_ERR_FS_CORRUPT, err,
_("malformed property list for node-revision '%s' in '%s'"),
id_str->data, filename);
@@ -2767,8 +2767,8 @@ svn_fs_fs__get_proplist(apr_hash_t **pro
if (err)
{
svn_string_t *id_str = svn_fs_fs__id_unparse(noderev->id, pool);
-
- svn_error_clear(svn_stream_close(stream));
+
+ err = svn_error_compose_create(err, svn_stream_close(stream));
return svn_error_createf(SVN_ERR_FS_CORRUPT, err,
_("malformed property list for node-revision '%s'"),
id_str->data);
Modified: subversion/trunk/subversion/libsvn_fs_fs/lock.c
URL: http://svn.apache.org/viewvc/subversion/trunk/subversion/libsvn_fs_fs/lock.c?rev=1678718&r1=1678717&r2=1678718&view=diff
==============================================================================
--- subversion/trunk/subversion/libsvn_fs_fs/lock.c (original)
+++ subversion/trunk/subversion/libsvn_fs_fs/lock.c Mon May 11 10:42:33 2015
@@ -222,7 +222,7 @@ write_digest_file(apr_hash_t *children,
svn_io_file_del_none, pool, pool));
if ((err = svn_hash_write2(hash, stream, SVN_HASH_TERMINATOR, pool)))
{
- svn_error_clear(svn_stream_close(stream));
+ err = svn_error_compose_create(err, svn_stream_close(stream));
return svn_error_createf(err->apr_err,
err,
_("Cannot write lock/entries hashfile '%s'"),
@@ -273,7 +273,7 @@ read_digest_file(apr_hash_t **children_p
hash = apr_hash_make(pool);
if ((err = svn_hash_read2(hash, stream, SVN_HASH_TERMINATOR, pool)))
{
- svn_error_clear(svn_stream_close(stream));
+ err = svn_error_compose_create(err, svn_stream_close(stream));
return svn_error_createf(err->apr_err,
err,
_("Can't parse lock/entries hashfile '%s'"),
Modified: subversion/trunk/subversion/libsvn_fs_fs/recovery.c
URL: http://svn.apache.org/viewvc/subversion/trunk/subversion/libsvn_fs_fs/recovery.c?rev=1678718&r1=1678717&r2=1678718&view=diff
==============================================================================
--- subversion/trunk/subversion/libsvn_fs_fs/recovery.c (original)
+++ subversion/trunk/subversion/libsvn_fs_fs/recovery.c Mon May 11 10:42:33 2015
@@ -209,7 +209,7 @@ recover_find_max_ids(svn_fs_t *fs,
{
svn_string_t *id_str = svn_fs_fs__id_unparse(noderev->id, pool);
- svn_error_clear(svn_stream_close(stream));
+ err = svn_error_compose_create(err, svn_stream_close(stream));
return svn_error_createf(SVN_ERR_FS_CORRUPT, err,
_("malformed representation for node-revision '%s'"),
id_str->data);
Modified: subversion/trunk/subversion/libsvn_fs_fs/transaction.c
URL: http://svn.apache.org/viewvc/subversion/trunk/subversion/libsvn_fs_fs/transaction.c?rev=1678718&r1=1678717&r2=1678718&view=diff
==============================================================================
--- subversion/trunk/subversion/libsvn_fs_fs/transaction.c (original)
+++ subversion/trunk/subversion/libsvn_fs_fs/transaction.c Mon May 11 10:42:33 2015
@@ -1145,7 +1145,7 @@ get_txn_proplist(apr_hash_t *proplist,
err = svn_hash_read2(proplist, stream, SVN_HASH_TERMINATOR, pool);
if (err)
{
- svn_error_clear(svn_stream_close(stream));
+ err = svn_error_compose_create(err, svn_stream_close(stream));
return svn_error_createf(SVN_ERR_FS_CORRUPT, err,
_("malformed transaction property list in '%s'"),
path_txn_props(fs, txn_id, pool));