On Tue, May 09, 2017 at 09:42:49AM -0700, Gregory Farnum wrote: > On Tue, May 9, 2017 at 7:23 AM, Luis Henriques <lhenriques@xxxxxxxx> wrote: > > Hi, > > > > While analysing an xfstest failure (generic/258) I had to look at the > > definition of struct ceph_timespec. And I was surprised to verify that > > both its fields (tv_sec and tv_nsec) are 32-bits (__le32). And I believe > > that this explains the test failure, as ceph_encode_timespec() would fail > > to convert the negative pre-epoch value (-315615540 => 3979351756). > > > > The failure can be easily reproduced by simply creating a test file in a > > cephfs mount with: > > > > $ touch -t 196001010101 /mnt/testfile > > $ ls -l /mnt/testfile > > -rw-r--r-- 1 root 0 0 Jan 1 1960 testfile > > > > After remounting the filesystem: > > > > $ ls -l /mnt/testfile > > -rw-r--r-- 1 root 0 0 Feb 6 2096 testfile > > > > Am I missing something? If I'm not (and I probably am!), this isn't just > > a client-side issue and fixing it will require touching several other > > parts of the code. > > I haven't done any work with most of the kernel code, but I believe > this was discussed last year: > https://patchwork.kernel.org/patch/8308691/ Ah, awesome! Thanks for pointing me to this thread. I did a quick search before sending my email but failed to find it. Anyway, that discussion contains lots of interesting information around the issue and it looks like it is being taken care of. Again, thanks Greg! Cheers, -- Luís -- To unsubscribe from this list: send the line "unsubscribe ceph-devel" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html