[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Rdiff-backup-commits] Changes to rdiff-backup/rdiff_backup/rpath.py
From: |
dean gaudet |
Subject: |
[Rdiff-backup-commits] Changes to rdiff-backup/rdiff_backup/rpath.py |
Date: |
Sun, 19 Jun 2005 16:38:40 -0400 |
Index: rdiff-backup/rdiff_backup/rpath.py
diff -u rdiff-backup/rdiff_backup/rpath.py:1.76
rdiff-backup/rdiff_backup/rpath.py:1.77
--- rdiff-backup/rdiff_backup/rpath.py:1.76 Sun Jun 19 19:47:56 2005
+++ rdiff-backup/rdiff_backup/rpath.py Sun Jun 19 20:38:39 2005
@@ -35,7 +35,7 @@
"""
-import os, stat, re, sys, shutil, gzip, socket, time
+import os, stat, re, sys, shutil, gzip, socket, time, errno
import Globals, Time, static, log, user_group
@@ -1017,12 +1017,18 @@
def makedev(self, type, major, minor):
"""Make a special file with specified type, and major/minor
nums"""
- cmdlist = ['mknod', self.path, type, str(major), str(minor)]
- if self.conn.os.spawnvp(os.P_WAIT, 'mknod', cmdlist) != 0:
- raise RPathException("Error running %s" % cmdlist)
- if type == 'c': datatype = 'chr'
- elif type == 'b': datatype = 'blk'
+ if type == 'c':
+ datatype = 'chr'
+ mode = stat.S_IFCHR | 0600
+ elif type == 'b':
+ datatype = 'blk'
+ mode = stat.S_IFBLK | 0600
else: raise RPathException
+ try: self.conn.os.mknod(self.path, mode,
self.conn.os.makedev(major, minor))
+ except OSError, e:
+ if e.errno == errno.EPERM:
+ log.Log("unable to mknod %s -- using touch
instead" % self.path, 4)
+ self.touch()
self.setdata()
def fsync(self, fp = None):