Messages in this thread | | | Date | Wed, 01 Apr 2009 12:06:02 +0300 | From | Benny Halevy <> | Subject | Re: [osd-dev] [PATCH 6/8] exofs: super_operations and file_system_type |
| |
On Apr. 01, 2009, 11:05 +0300, Boaz Harrosh <bharrosh@panasas.com> wrote: > On 03/31/2009 09:52 PM, Benny Halevy wrote: >> On Mar. 31, 2009, 11:04 +0300, Andrew Morton <akpm@linux-foundation.org> wrote: >>> ~0 is signed 0xffffffff. >>> >>> When assigning to a u64 it gets signed extended to signed >>> 0xffffffffffffffff and then converted to unsigned 0xffffffffffffffff. >> Right (I think, I'm not sure in what order) >> >>> I think. Just as with plain old "-1". Perhaps using plain old "-1" >>> would be clearer here. >> or maybe ~0ULL or ~(uint64_t)0 to be extremely anal about it. >> >> Benny >> > > There is only one right way => ULLONG_MAX. Takes care of the human factor > too. (BTW that one is defined (~0ULL))
Ideally, since the variable is a uint64_t, you'd want a U64_MAX. unsigned long long may, at some point, be larger than uint64 on some architectures. With the available defs ~(uint64_t)0 or even just ~0 seem more portable...
Benny
> > Thanks > Boaz >
| |