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"