2009/1/11 Tim Kientzle <kient...@freebsd.org>:
> pluknet wrote:
>>
>> 2009/1/11 Tim Kientzle <kient...@freebsd.org>:
>>
>>> FreeBSD 6.3:
>>>
>>> fd = open("test", O_WRONLY | O_CREAT | O_EXCL, 0777);
>>> n = extattr_set_fd(fd, EXTATTR_NAMESPACE_USER, "testattr", "1234", 4);
>>>
>>> After this, fd=3, n is non-zero, errno = 9 (EBADF)
>>>
>>> Huh?  I would have expected EOPNOTSUPP if
>>> extended attributes weren't supported on this
>>> filesystem.  The file descriptor is clearly
>>> valid.
>>
>> Simple guess.
>> Don't hit me if I'm wrong. :)
>>
>> You call open() with (O_CREAT | O_EXCL) on an already existing file.
>
> Nope.  As you can see from my earlier summary,
> fd=3 immediately after this, so the open did
> succeed normally.

Ah, I'm sorry. My inadvertency.

>
> Oh, but that gives me an idea ... <checking, checking>
> ... darn.  Still no joy.  I tried changing the open to
> open("test", O_RDWR | O_CREATE, 0777) and it still
> fails in exactly the same way.  The open still succeeds
> and the extattr_set_fd() still fails with a nonsensical
> errno value.

It's strange..
FreeBSD jaw.ripn.net 6.3-RELEASE-p5.
works for me (tm), extattr_set_fd() returns 4 as expected.

Also works on 7.1 at home.

>
> Time to dig through kernel sources....
>
> Tim
>

-- 
wbr,
pluknet
_______________________________________________
freebsd-hackers@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-hackers
To unsubscribe, send any mail to "freebsd-hackers-unsubscr...@freebsd.org"

Reply via email to