summaryrefslogtreecommitdiff
path: root/trans/fakeroot.c
diff options
context:
space:
mode:
authorRoland McGrath <roland@gnu.org>2002-05-05 20:26:32 +0000
committerRoland McGrath <roland@gnu.org>2002-05-05 20:26:32 +0000
commitd32a1dbcd2e0dca33bcca23af2ab30f94510a265 (patch)
treee685a5c78ef63b26ce4e81f2051015330bea145f /trans/fakeroot.c
parentf5760a584c2798ebab9a97f221013163e979376f (diff)
2002-05-05 Roland McGrath <roland@frob.com>
* fakeroot.c (netfs_attempt_lookup): Check for EROFS or EISDIR error from O_RDWR lookup.
Diffstat (limited to 'trans/fakeroot.c')
-rw-r--r--trans/fakeroot.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/trans/fakeroot.c b/trans/fakeroot.c
index 29f39018..a1f3fbb7 100644
--- a/trans/fakeroot.c
+++ b/trans/fakeroot.c
@@ -336,7 +336,8 @@ netfs_attempt_lookup (struct iouser *user, struct node *dir,
flags = O_RDWR|O_EXEC;
file = file_name_lookup_under (dirfile, name, flags | O_NOLINK, 0);
- if (file == MACH_PORT_NULL && errno == EACCES)
+ if (file == MACH_PORT_NULL && (errno == EACCES
+ || errno == EROFS || errno == EISDIR))
{
flags = O_RDWR;
file = file_name_lookup_under (dirfile, name, flags | O_NOLINK, 0);