From 489eb78cbb2f74db7cd03a921c7e6c9d2e8ac5a5 Mon Sep 17 00:00:00 2001 From: Marian Beermann Date: Mon, 14 Mar 2016 20:25:30 +0100 Subject: [PATCH 1/5] Possible fix to silently skipping EIO and the like? #748 --- borg/_chunker.c | 1 + 1 file changed, 1 insertion(+) diff --git a/borg/_chunker.c b/borg/_chunker.c index 70d611650..87ec31576 100644 --- a/borg/_chunker.c +++ b/borg/_chunker.c @@ -152,6 +152,7 @@ chunker_fill(Chunker *c) } else { // some error happened + PyErr_SetFromErrno(PyExc_OSError); return 0; } length = c->bytes_read - offset; From f486a6772c64086745c5224e441056c0c1569058 Mon Sep 17 00:00:00 2001 From: Thomas Waldmann Date: Sat, 19 Mar 2016 21:19:30 +0100 Subject: [PATCH 2/5] do not sleep for >60s while waiting for lock, fixes #773 --- borg/locking.py | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/borg/locking.py b/borg/locking.py index c03885780..bc3660d61 100644 --- a/borg/locking.py +++ b/borg/locking.py @@ -33,7 +33,8 @@ class TimeoutTimer: :param timeout: time out interval [s] or None (no timeout) :param sleep: sleep interval [s] (>= 0: do sleep call, <0: don't call sleep) - or None (autocompute: use 10% of timeout, or 1s for no timeout) + or None (autocompute: use 10% of timeout [but not more than 60s], + or 1s for no timeout) """ if timeout is not None and timeout < 0: raise ValueError("timeout must be >= 0") @@ -42,7 +43,7 @@ class TimeoutTimer: if timeout is None: sleep = 1.0 else: - sleep = timeout / 10.0 + sleep = min(60.0, timeout / 10.0) self.sleep_interval = sleep self.start_time = None self.end_time = None From e98f823f34fe885c3defd9ef23c2634f92b54f6d Mon Sep 17 00:00:00 2001 From: Alexander Pyhalov Date: Mon, 21 Mar 2016 11:23:55 +0300 Subject: [PATCH 3/5] Don't try to backup doors or event ports --- borg/archiver.py | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/borg/archiver.py b/borg/archiver.py index aa6056a68..c9f72c8db 100644 --- a/borg/archiver.py +++ b/borg/archiver.py @@ -281,6 +281,12 @@ class Archiver: elif stat.S_ISSOCK(st.st_mode): # Ignore unix sockets return + elif stat.S_ISDOOR(st.st_mode): + # Ignore Solaris doors + return + elif stat.S_ISPORT(st.st_mode): + # Ignore Solaris event ports + return else: self.print_warning('Unknown file type: %s', path) return From f63be633470128a84a2640cd3202d28c62223e21 Mon Sep 17 00:00:00 2001 From: Alexander Pyhalov Date: Mon, 21 Mar 2016 11:18:43 +0300 Subject: [PATCH 4/5] Fix build on illumos --- borg/_hashindex.c | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/borg/_hashindex.c b/borg/_hashindex.c index f1aa0aa8c..e3a4641da 100644 --- a/borg/_hashindex.c +++ b/borg/_hashindex.c @@ -8,10 +8,14 @@ #include #include -#if defined(BYTE_ORDER)&&(BYTE_ORDER == BIG_ENDIAN) +#if defined (__SVR4) && defined (__sun) +#include +#endif + +#if (defined(BYTE_ORDER)&&(BYTE_ORDER == BIG_ENDIAN)) || defined(_BIG_ENDIAN) #define _le32toh(x) __builtin_bswap32(x) #define _htole32(x) __builtin_bswap32(x) -#elif defined(BYTE_ORDER)&&(BYTE_ORDER == LITTLE_ENDIAN) +#elif (defined(BYTE_ORDER)&&(BYTE_ORDER == LITTLE_ENDIAN)) || defined(_LITTLE_ENDIAN) #define _le32toh(x) (x) #define _htole32(x) (x) #else From 40dbb7411cab916542553890d6f885aa2428345c Mon Sep 17 00:00:00 2001 From: Thomas Waldmann Date: Mon, 21 Mar 2016 16:11:43 +0100 Subject: [PATCH 5/5] fix cygwin requirements (gcc-g++) --- docs/installation.rst | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/installation.rst b/docs/installation.rst index e6c5ac619..b348c95ea 100644 --- a/docs/installation.rst +++ b/docs/installation.rst @@ -193,7 +193,7 @@ Use the Cygwin installer to install the dependencies:: python3 python3-setuptools python3-cython # not needed for releases - binutils gcc-core + binutils gcc-g++ libopenssl openssl-devel liblz4_1 liblz4-devel # from cygwinports.org git make openssh