if stat.S_ISREG(ent.mode):
try:
f = hashsplit.open_noatime(ent.name)
- except IOError, e:
- add_error(e)
- lastskip_name = ent.name
- except OSError, e:
+ except (IOError, OSError), e:
add_error(e)
lastskip_name = ent.name
else:
(mode, id) = hashsplit.split_to_blob_or_tree(
w.new_blob, w.new_tree, [f],
keep_boundaries=False)
- except IOError, e:
+ except (IOError, OSError), e:
add_error('%s: %s' % (ent.name, e))
lastskip_name = ent.name
else:
elif stat.S_ISLNK(ent.mode):
try:
rl = os.readlink(ent.name)
- except OSError, e:
- add_error(e)
- lastskip_name = ent.name
- except IOError, e:
+ except (OSError, IOError), e:
add_error(e)
lastskip_name = ent.name
else:
fd = open(filename, attrs);
}
if (fd < 0)
- return PyErr_SetFromErrnoWithFilename(PyExc_IOError, filename);
+ return PyErr_SetFromErrnoWithFilename(PyExc_OSError, filename);
return Py_BuildValue("i", fd);
}
fd = open(path, O_RDONLY | O_NONBLOCK | O_LARGEFILE | O_NOFOLLOW);
if (fd == -1)
- return PyErr_SetFromErrnoWithFilename(PyExc_IOError, path);
+ return PyErr_SetFromErrnoWithFilename(PyExc_OSError, path);
attr = 0;
rc = ioctl(fd, FS_IOC_GETFLAGS, &attr);
if (rc == -1)
{
close(fd);
- return PyErr_SetFromErrnoWithFilename(PyExc_IOError, path);
+ return PyErr_SetFromErrnoWithFilename(PyExc_OSError, path);
}
close(fd);
fd = open(path, O_RDONLY | O_NONBLOCK | O_LARGEFILE | O_NOFOLLOW);
if (fd == -1)
- return PyErr_SetFromErrnoWithFilename(PyExc_IOError, path);
+ return PyErr_SetFromErrnoWithFilename(PyExc_OSError, path);
rc = ioctl(fd, FS_IOC_SETFLAGS, &attr);
if (rc == -1)
{
close(fd);
- return PyErr_SetFromErrnoWithFilename(PyExc_IOError, path);
+ return PyErr_SetFromErrnoWithFilename(PyExc_OSError, path);
}
close(fd);
rc = utimensat(dirfd, path, ts, flags);
if (rc != 0)
- return PyErr_SetFromErrnoWithFilename(PyExc_IOError, path);
+ return PyErr_SetFromErrnoWithFilename(PyExc_OSError, path);
return Py_BuildValue("i", 1);
}
struct stat st;
rc = stat(filename, &st);
if (rc != 0)
- return PyErr_SetFromErrnoWithFilename(PyExc_IOError, filename);
+ return PyErr_SetFromErrnoWithFilename(PyExc_OSError, filename);
return Py_BuildValue("kkkkkkkk"
"(ll)"
struct stat st;
rc = lstat(filename, &st);
if (rc != 0)
- return PyErr_SetFromErrnoWithFilename(PyExc_IOError, filename);
+ return PyErr_SetFromErrnoWithFilename(PyExc_OSError, filename);
return Py_BuildValue("kkkkkkkk"
"(ll)"
struct stat st;
rc = fstat(fd, &st);
if (rc != 0)
- return PyErr_SetFromErrno(PyExc_IOError);
+ return PyErr_SetFromErrno(PyExc_OSError);
return Py_BuildValue("kkkkkkkk"
"(ll)"
st = None
try:
st = lstat(path)
- except IOError, e:
+ except OSError, e:
if e.errno != errno.ENOENT:
raise
if st:
if stat.S_ISLNK(self.mode):
try:
lutime(path, (self.atime, self.mtime))
- except IOError, e:
+ except OSError, e:
if e.errno == errno.EACCES:
raise ApplyError('lutime: %s' % e)
else:
else:
try:
utime(path, (self.atime, self.mtime))
- except IOError, e:
+ except OSError, e:
if e.errno == errno.EACCES:
raise ApplyError('utime: %s' % e)
else:
attr = get_linux_file_attr(path)
if attr != 0:
self.linux_attr = attr
- except IOError, e:
+ except OSError, e:
if e.errno == errno.EACCES:
add_error('read Linux attr: %s' % e)
elif e.errno == errno.ENOTTY: # Inappropriate ioctl for device.