Date: Mon, 15 Nov 2004 15:39:42 GMT From: Charles Ulrich <charles@idealso.com> To: freebsd-gnats-submit@FreeBSD.org Subject: ports/73972: [patch] systutils/rdiff-backup: exception raised on EDEADLK Message-ID: <200411151539.iAFFdgZb092293@www.freebsd.org> Resent-Message-ID: <200411151540.iAFFePuX014162@freefall.freebsd.org>
next in thread | raw e-mail | index | archive | help
>Number: 73972 >Category: ports >Synopsis: [patch] systutils/rdiff-backup: exception raised on EDEADLK >Confidential: no >Severity: non-critical >Priority: low >Responsible: freebsd-ports-bugs >State: open >Quarter: >Keywords: >Date-Required: >Class: sw-bug >Submitter-Id: current-users >Arrival-Date: Mon Nov 15 15:40:25 GMT 2004 >Closed-Date: >Last-Modified: >Originator: Charles Ulrich >Release: 4.10-STABLE >Organization: Ideal Solution, LLC >Environment: FreeBSD DualAth.atmosphereannealing.com 4.9-STABLE FreeBSD 4.9-STABLE #1: Tue Mar 9 18:16:52 EST 2004 root@DualAth.atmosphereannealing.com:/usr/obj/usr/src/sys/DUALATH i386 >Description: In rdiff-backup's robust.py module, there is a function called catch_error which attempts to "step over" certain operating system errors that should not be fatal to the backup as a whole. In this, EDEADLOCK is listed, but not its BSD equivalent, EDEADLK. >How-To-Repeat: Mount an SMB share via smbfs and use rdiff-backup to back up a directory containing a file that is opened on a Windows machine. Outlook .pst files are the best candidates. rdiff-backup will raise an exception, '[Errno 11] Resource deadlock avoided' upon encountering the file and halt the backup. >Fix: To fix this, add the EDEADLK error to catch_error in robust.py. EDEADLK could replace EDEADLOCK in the list as FreeBSD doesn't use the latter (that I can tell), but perhaps the patch will make it upstream. I believe tabs have been preserved properly. If not, it's a two-liner anyway. Thanks for your time. --- robust.py.orig 2004-11-15 10:08:58.000000000 -0500 +++ robust.py 2004-11-15 10:09:44.000000000 -0500 @@ -53,7 +53,8 @@ errno.errorcode[exc[0]] in ('EPERM', 'ENOENT', 'EACCES', 'EBUSY', 'EEXIST', 'ENOTDIR', 'ENAMETOOLONG', 'EINTR', 'ENOTEMPTY', 'EIO', 'ETXTBSY', - 'ESRCH', 'EINVAL', 'EDEADLOCK'))): + 'ESRCH', 'EINVAL', 'EDEADLOCK', + 'EDEADLK'))): return 1 return 0 >Release-Note: >Audit-Trail: >Unformatted:
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200411151539.iAFFdgZb092293>