Re: [PATCH 09/10] fs: ceph: Replace CURRENT_TIME by ktime_get_real_ts()

From: Deepa Dinamani
Date: Wed Feb 03 2016 - 11:17:37 EST


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@xxxxxxxxx> 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@xxxxxxxxx>
> > Cc: "Yan, Zheng" <zyan@xxxxxxxxxx>
> > Cc: Sage Weil <sage@xxxxxxxxxx>
> > Cc: Ilya Dryomov <idryomov@xxxxxxxxx>
> > Cc: ceph-devel@xxxxxxxxxxxxxxx
> > ---
> > 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