On Sun, May 05, 2002 at 04:27:47PM -0400, Roland McGrath wrote:
> Oh, that EISDIR must be from opening with write permission in
> netfs_attempt_lookup.  I made it check for EROFS or EISDIR as it does for
> EACCES. 

Yeah, that's it.  I will also make this change for the O_RDWR case
(you did it only for the O_RDWR|O_EXEC case, which is not sufficient).

Still no cigar though, as trying to lookup bin/bash in the --chroot
case says ENOTDIR (and in a debugging session it seemed to be that the
faked node created by netfs_attempt_lookup didn't have the S_IFDIR flag
set).  This seems to be another anomaly of the --chroot way to run it,
because all directories clearly are good and fine directories in
the normal settrans case.

However, starting programs does not work anyway: In the normal settrans
case, exec tries to io_map the binary, which fails (EOPNOTSUPP).  Can we
implement netfs_S_io_map in fakeroot?  exec seems to try to fall back to
io_read, but that doesn't seem to work properly, it fails with ENOEXEC.
BTW, it fails for running a program from ftpfs, too, so this seems to be
a genuine exec bug.

There are two obvious dead locks when creating files (dir must be
unlocked), I will check in fixes for them.

Thanks,
Marcus


_______________________________________________
Bug-hurd mailing list
[EMAIL PROTECTED]
http://mail.gnu.org/mailman/listinfo/bug-hurd

Reply via email to