Skip site navigation (1)Skip section navigation (2)
Date:      Sat, 10 Jan 2009 19:48:52 -0800
From:      Tim Kientzle <kientzle@freebsd.org>
To:        pluknet <pluknet@gmail.com>
Cc:        freebsd-hackers@freebsd.org
Subject:   Re: extattr problems?
Message-ID:  <49696C24.8010601@freebsd.org>
In-Reply-To: <a31046fc0901101836q1f43028awe4f7b0ba746248ac@mail.gmail.com>
References:  <49692659.2030306@freebsd.org> <a31046fc0901101836q1f43028awe4f7b0ba746248ac@mail.gmail.com>

next in thread | previous in thread | raw e-mail | index | archive | help
pluknet wrote:
> 2009/1/11 Tim Kientzle <kientzle@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



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?49696C24.8010601>