Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 1 Apr 2013 14:24:19 -0400
From:      John Baldwin <jhb@freebsd.org>
To:        freebsd-hackers@freebsd.org
Cc:        mdf@freebsd.org
Subject:   Re: extattr_set_* return type
Message-ID:  <201304011424.19784.jhb@freebsd.org>
In-Reply-To: <CAMBSHm9kBuE4H5VDT3iHTsis24-J3nj8hhLBjOX3DS4k5qZRKA@mail.gmail.com>
References:  <CAMBSHm9kBuE4H5VDT3iHTsis24-J3nj8hhLBjOX3DS4k5qZRKA@mail.gmail.com>

next in thread | previous in thread | raw e-mail | index | archive | help
On Saturday, March 30, 2013 5:30:21 pm mdf@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.

-- 
John Baldwin



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