rdiff-backup-users
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[rdiff-backup-users] No space left on device - how to regress that?


From: Erik Forsberg
Subject: [rdiff-backup-users] No space left on device - how to regress that?
Date: 24 Oct 2003 10:44:53 +0200
User-agent: Gnus/5.09 (Gnus v5.9.0) Emacs/21.2

Hi!

Last night the disk I'm rdiff-backuping to went full. I'm not
surprised, since the disk is small (temporary solution) and I added a
whole bunch of data the other day. The traceback is as follows:

Taking backup of /export/home/forsberg
Exception '[Errno 28] No space left on device' raised of class 
'exceptions.IOError':
  File "/usr/lib/python2.2/site-packages/rdiff_backup/robust.py", line 32, in 
check_common_error
    try: return function(*args)
  File "/usr/lib/python2.2/site-packages/rdiff_backup/rpath.py", line 96, in 
copy
    if rpin.isreg(): copy_reg_file(rpin, rpout, compress)
  File "/usr/lib/python2.2/site-packages/rdiff_backup/rpath.py", line 118, in 
copy_reg_file
    rpout.write_from_fileobj(rpin.open("rb"), compress = compress)
  File "/usr/lib/python2.2/site-packages/rdiff_backup/rpath.py", line 823, in 
write_from_fileobj
    copyfileobj(fp, outfp)
  File "/usr/lib/python2.2/site-packages/rdiff_backup/rpath.py", line 60, in 
copyfileobj
    outputfp.write(inbuf)

Traceback (most recent call last):
  File "/usr/bin/rdiff-backup", line 24, in ?
    rdiff_backup.Main.Main(sys.argv[1:])
  File "/usr/lib/python2.2/site-packages/rdiff_backup/Main.py", line 246, in 
Main
    take_action(rps)
  File "/usr/lib/python2.2/site-packages/rdiff_backup/Main.py", line 219, in 
take_action
    elif action == "backup": Backup(rps[0], rps[1])
  File "/usr/lib/python2.2/site-packages/rdiff_backup/Main.py", line 260, in 
Backup
    backup.Mirror_and_increment(rpin, rpout, incdir)
  File "/usr/lib/python2.2/site-packages/rdiff_backup/backup.py", line 47, in 
Mirror_and_increment
    DestS.patch_and_increment(dest_rpath, source_diffiter, inc_rpath)
  File "/usr/lib/python2.2/site-packages/rdiff_backup/connection.py", line 424, 
in __call__
    return apply(self.connection.reval, (self.name,) + args)
  File "/usr/lib/python2.2/site-packages/rdiff_backup/connection.py", line 346, 
in reval
    if isinstance(result, Exception): raise result
IOError: [Errno 28] No space left on device

Now that's fine - of course rdiff-backup should exit when it can't
write to the disk. However, the question now his how I recover from
this situation? If I try to regress the directory I get the same
problem:

address@hidden root]# rdiff-backup --check-destination-dir 
/disk2/export/home/forsberg/
Traceback (most recent call last):
  File "/usr/bin/rdiff-backup", line 24, in ?
    rdiff_backup.Main.Main(sys.argv[1:])
  File "/usr/lib/python2.2/site-packages/rdiff_backup/Main.py", line 246, in 
Main
    take_action(rps)
  File "/usr/lib/python2.2/site-packages/rdiff_backup/Main.py", line 228, in 
take_action
    elif action == "check-destination-dir": CheckDest(rps[0])
  File "/usr/lib/python2.2/site-packages/rdiff_backup/Main.py", line 607, in 
CheckDest
    dest_rp.conn.regress.Regress(dest_rp)
  File "/usr/lib/python2.2/site-packages/rdiff_backup/regress.py", line 69, in 
Regress
    for rf in iterate_meta_rfs(mirror_rp, inc_rpath): ITR(rf.index, rf)
  File "/usr/lib/python2.2/site-packages/rdiff_backup/rorpiter.py", line 279, 
in __call__
    last_branch.fast_process(*args)
  File "/usr/lib/python2.2/site-packages/rdiff_backup/regress.py", line 229, in 
fast_process
    if rf.metadata_rorp.isreg(): self.restore_orig_regfile(rf)
  File "/usr/lib/python2.2/site-packages/rdiff_backup/regress.py", line 257, in 
restore_orig_regfile
    rf.mirror_rp.write_from_fileobj(rf.get_restore_fp())
  File "/usr/lib/python2.2/site-packages/rdiff_backup/rpath.py", line 824, in 
write_from_fileobj
    if fp.close() or outfp.close():
IOError: [Errno 28] No space left on device

How do I recover from this situation? 

Hmm.. I could probably move the troublesome backup directory to
another disk and regress it, and then move it back, but that feels
like a awkward solution. What's the real solution?

\EF
-- 
Erik Forsberg                Telephone: +46-13-21 46 00
Cendio Systems               Web: http://www.cendio.se
                             





reply via email to

[Prev in Thread] Current Thread [Next in Thread]