On Thu, Jun 21, 2018 at 7:27 PM, Andreas Dilger adilger@dilger.ca wrote:
On Jun 20, 2018, at 9:33 AM, Arnd Bergmann arnd@arndb.de wrote:
We only care about the low 32-bit for i_dtime as explained in commit b5f515735bea ("ext4: avoid Y2038 overflow in recently_deleted()"), so the use of get_seconds() is correct here, but that function is getting removed in the process of the y2038 fixes, so let's use the modern ktime_get_real_seconds() here.
Signed-off-by: Arnd Bergmann arnd@arndb.de
Looks OK, one minor cleanup possible.
Reviewed-by: Andreas Dilger adilger@dilger.ca
ext4_orphan_del(handle, inode);
EXT4_I(inode)->i_dtime = get_seconds();
EXT4_I(inode)->i_dtime = ktime_get_real_seconds();
Not strictly necessary, but it might be good from a code clarity POV to use:
EXT4_I(inode)->i_dtime = (__u32)ktime_get_real_seconds();
so that it is more clear we are aware that this is being truncated to a 32-bit value.
Right, I've been a bit inconsistent here across file systems, I've done this in some other ones, using either a cast or a lower_32_bits() function call. Changed it as you suggested here now.
Arnd