extattr problems?
Tim Kientzle
kientzle at freebsd.org
Sat Jan 10 19:48:55 PST 2009
pluknet wrote:
> 2009/1/11 Tim Kientzle <kientzle at 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.
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.
Time to dig through kernel sources....
Tim
More information about the freebsd-hackers
mailing list