Re: [PATCH 08/11] xfs: widen ondisk timestamps to deal with y2038 problem

Dave Chinner
2020-08-19T23:58:49Z

On Wed, Aug 19, 2020 at 02:43:22PM -0700, Darrick J. Wong wrote:
> On Wed, Aug 19, 2020 at 09:35:35AM +1000, Dave Chinner wrote:
> > On Mon, Aug 17, 2020 at 03:57:39PM -0700, Darrick J. Wong wrote:
> The correct approach (I think) is to perform the shifting and masking on
> the raw __be64 value before converting them to incore format via
> be32_to_cpu, but now I have to work out all four cases by hand instead
> of letting the compiler do the legwork for me. I don't remember if it's
> correct to go around shifting and masking __be64 values.
>
> I guess the good news is that at least we have generic/402 to catch
> these kinds of persistence problems, but ugh.
>
> Anyway, what are you afraid of? The C compiler smoking crack and not
> actually overlapping the two union elements? We could control for
> that...

No, I just didn't really like the way the code in the encode/decode
helpers turned out...

Cheers,

Dave.
--
Dave Chinner
david@fromorbit.com