On 20.06.2018 22:41, Arnd Bergmann wrote:
On Wed, Jun 20, 2018 at 9:34 PM, Nikolay Borisov nborisov@suse.com wrote:
On 20.06.2018 19:38, David Sterba wrote:
On Wed, Jun 20, 2018 at 04:34:34PM +0200, Arnd Bergmann wrote:
While the regular inode timestamps all use timespec64 now, the i_otime field is btrfs specific and still needs to be converted to correctly represent times beyond 2038.
Signed-off-by: Arnd Bergmann arnd@arndb.de
This patch addresses the remaining type conversions, so I'm going to merge it, thanks.
Actually for the sake of consistency we might want to merge this series altogether. As it stands we now use ktime_get_seconds and ktime_get_real_seconds (from Allen's patch). I haven't dug to see what's the difference (if any) between the two .
I just checked again and see that Allen's patch addresses the first two of my three patches, but he picked a different approach for transaction_kthread(): My patch moved to CLOCK_MONOTONIC, while his version only changed the to time64_t but kept the CLOCK_REALTIME behavior. It's a small difference, but I think my version is slightly better. My patch 2/3 is identical to his version.
I agree, in the transaction_kthread we are only interested in knowing whether a fixed time windows (commit_internval) has passed. So monotonic makes more sense here.
If you like, I can also rebase my patch 1/3 on top of his patch and change it to CLOCK_MONOTONIC.
Please do.
Arnd