remove() problem fixed

Alexander Leidinger Alexander at Leidinger.net
Sun Sep 10 06:17:21 PDT 2006


Quoting Marcin Cieslak <saper at SYSTEM.PL> (Sun, 10 Sep 2006 14:56:08 +0200):

> The fix for remove() was ... trivial. We need to introduce non POSIX
> compliant behaviour of unlink(2). No idea why it worked, probably
> libc checked for directory instead of the EISDIR error value.

Yeah! This was fast... I did send the mail, got hit by a spontaneous
reboot (panic while being in X, now I have to find out which test is
responsible for this and why) and a fix is already there. Nice!

> Sorry for versioning crap, I am using my normal buildworld environment
> stuff. Is there anyway I can make easily make diffs to p4 repo?

No problem, I deal with this. As long as you don't have an
p4-account, you can't.

> If not, I will have to go head and install whole CVS repository
> to finally be able to "cvs diff"

Anoncvs? You just have to check out the file you want to change. But a
local CVS repository is nice to have (src alone is ~1.5G), so if you re
willing to of this way, fine.

> Now unlink() gets EISDIR instead of EPERM and remove() is able
> to recover.

I will give it a try (after the bgfsck finishes).

Thanks,
Alexander.

-- 
Leela: You buy one pound of underwear and you're on their list forever.
http://www.Leidinger.net  Alexander @ Leidinger.net: PGP ID = B0063FE7
http://www.FreeBSD.org     netchild @ FreeBSD.org  : PGP ID = 72077137


More information about the freebsd-emulation mailing list