extattr_set_* return type

mdf at FreeBSD.org mdf at FreeBSD.org
Mon Apr 1 19:51:47 UTC 2013


On Mon, Apr 1, 2013 at 11:24 AM, John Baldwin <jhb at freebsd.org> wrote:

> On Saturday, March 30, 2013 5:30:21 pm mdf at freebsd.org wrote:
> > Despite the man page correctly describing the return value for
> > extattr_set_*, I thought recently that they returned 0/-1 for
> > success/failure, not the number of bytes written, like write(2).  This is
> > because extattr_set_* is declared as returning an int, not an ssize_t.
> >  Both extattr_get and extattr_list return ssize_t, so this is
> inconsistent.
> >
> > The patch at
> >
> http://people.freebsd.org/~mdf/0001-Fix-return-type-of-extattr_set_-and-fix-
> rmextattr-8-.patchfixes
> > this.  It compiles but it's untested.
> >
> > I don't think any compat shims are needed, since an old application will
> > still sign extend and this will work (it's very unlikely anyone does
> > extattr_set for 2GB or more).
> >
> > If anyone actually uses extattr on 64-bit, please test a new kernel but
> old
> > userspace to be sure nothing is broken.  I plan to commit this next week
> if
> > I don't hear otherwise.
>
> Hmm, the patch URL doesn't work, but please fix this.  There is an old
> thread
> we are both on from Dec 2011 where I ran into the same thing.  I also
> think we
> don't need compat shims.
>

The version in my outbox looked right; I don't know how it got mangled.

http://people.freebsd.org/~mdf/0001-Fix-return-type-of-extattr_set_-and-fix-
<http://people.freebsd.org/~mdf/0001-Fix-return-type-of-extattr_set_-and-fix-rmextattr-8-.patchfixes>
rmextattr-8-.patch<http://people.freebsd.org/~mdf/0001-Fix-return-type-of-extattr_set_-and-fix-rmextattr-8-.patchfixes>

Cheers,
matthew


More information about the freebsd-hackers mailing list