On Wed, Feb 03, 2016 at 10:34:00PM +0800, Yan, Zheng wrote:
On Wed, Feb 3, 2016 at 2:07 PM, Deepa Dinamani deepa.kernel@gmail.com wrote:
This is in preparation for the series that transitions filesystem timestamps to use 64 bit time and hence make them y2038 safe.
CURRENT_TIME macro will be deleted before merging the aforementioned series.
Filesystems will use current_fs_time() instead of CURRENT_TIME. Use ktime_get_real_ts() here as this is not filesystem time. ktime_get_real_ts() returns the timestamp in ns which can be used to calculate MDS request timestamp.
Signed-off-by: Deepa Dinamani deepa.kernel@gmail.com Cc: "Yan, Zheng" zyan@redhat.com Cc: Sage Weil sage@redhat.com Cc: Ilya Dryomov idryomov@gmail.com Cc: ceph-devel@vger.kernel.org
fs/ceph/mds_client.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/fs/ceph/mds_client.c b/fs/ceph/mds_client.c index e7b130a..348b22e 100644 --- a/fs/ceph/mds_client.c +++ b/fs/ceph/mds_client.c @@ -1721,7 +1721,7 @@ ceph_mdsc_create_request(struct ceph_mds_client *mdsc, int op, int mode) init_completion(&req->r_safe_completion); INIT_LIST_HEAD(&req->r_unsafe_item);
req->r_stamp = CURRENT_TIME;
ktime_get_real_ts(&req->r_stamp);
I think we should use current_fs_time() here. I have squash the change into another patch
Ok. I missed this commit b8e69066d8afa8d2670dc697252ff0e5907aafad earlier which says that the r_stamp is used as ctime now. I had assumed that this is a message timestamp.
I was not able to find any documentation on what the server does with the message sent by the client. Where can I find that?
So, this should actually look like
req->r_stamp = current_fs_time(mdsc->fsc->sb);
Let me know if you want me to resend.
-Deepa