fs: ceph: CURRENT_TIME with ktime_get_real_ts()
authorDeepa Dinamani <[email protected]>
Mon, 8 May 2017 22:59:19 +0000 (15:59 -0700)
committerLinus Torvalds <[email protected]>
Tue, 9 May 2017 00:15:15 +0000 (17:15 -0700)
commit1134e091006a61d7ea4c33748b598972d1edc5c4
treee15245d209507ab129190946c945f7cf66229ec5
parente37fea58f771c2674709099a09ddafd058fef634
fs: ceph: CURRENT_TIME with ktime_get_real_ts()

CURRENT_TIME is not y2038 safe.  The macro will be deleted and all the
references to it will be replaced by ktime_get_* apis.

struct timespec is also not y2038 safe.  Retain timespec for timestamp
representation here as ceph uses it internally everywhere.  These
references will be changed to use struct timespec64 in a separate patch.

The current_fs_time() api is being changed to use vfs struct inode* as
an argument instead of struct super_block*.

Set the new mds client request r_stamp field using ktime_get_real_ts()
instead of using current_fs_time().

Also, since r_stamp is used as mtime on the server, use timespec_trunc()
to truncate the timestamp, using the right granularity from the
superblock.

This api will be transitioned to be y2038 safe along with vfs.

Link: http://lkml.kernel.org/r/[email protected]
Signed-off-by: Deepa Dinamani <[email protected]>
Reviewed-by: Arnd Bergmann <[email protected]>
M: Ilya Dryomov <[email protected]>
M: "Yan, Zheng" <[email protected]>
M: Sage Weil <[email protected]>
Signed-off-by: Andrew Morton <[email protected]>
Signed-off-by: Linus Torvalds <[email protected]>
drivers/block/rbd.c
fs/ceph/mds_client.c
net/ceph/messenger.c
net/ceph/osd_client.c