All of lore.kernel.org
 help / color / mirror / Atom feed
From: Arnd Bergmann <arnd@arndb.de>
To: "Yan, Zheng" <ukernel@gmail.com>
Cc: Zheng Yan <zyan@redhat.com>, Sage Weil <sage@redhat.com>,
	Ilya Dryomov <idryomov@gmail.com>,
	y2038 Mailman List <y2038@lists.linaro.org>,
	ceph-devel <ceph-devel@vger.kernel.org>,
	Jeff Layton <jlayton@redhat.com>, Chengguang Xu <cgxu519@gmx.com>,
	Linux Kernel Mailing List <linux-kernel@vger.kernel.org>
Subject: Re: [PATCH 2/5] ceph: stop using current_kernel_time()
Date: Thu, 21 Jun 2018 16:53:20 +0200	[thread overview]
Message-ID: <CAK8P3a1bXLXmjGf1Yx6JXbc4-Z8DjkZPZkfvesvjFXq3jw11NQ@mail.gmail.com> (raw)
In-Reply-To: <CAAM7YAk1WB_aVUbOdEMhNUYRNAVT-eq9vE3x2H5yr-hjja7qEg@mail.gmail.com>

On Thu, Jun 21, 2018 at 2:29 PM, Yan, Zheng <ukernel@gmail.com> wrote:
> On Wed, Jun 20, 2018 at 11:52 PM Arnd Bergmann <arnd@arndb.de> wrote:
>>
>> ceph_mdsc_create_request() is one of the last callers of the
>> deprecated current_kernel_time() as well as timespec_trunc().
>>
>> This changes it to use the timespec64 based interfaces instead,
>> though we still need to convert the result until we are ready to
>> change over req->r_stamp.
>>
>> Signed-off-by: Arnd Bergmann <arnd@arndb.de>
>> ---
>>  fs/ceph/mds_client.c | 5 ++++-
>>  1 file changed, 4 insertions(+), 1 deletion(-)
>>
>> diff --git a/fs/ceph/mds_client.c b/fs/ceph/mds_client.c
>> index dc8bc664a871..69c839316a7a 100644
>> --- a/fs/ceph/mds_client.c
>> +++ b/fs/ceph/mds_client.c
>> @@ -1779,6 +1779,7 @@ struct ceph_mds_request *
>>  ceph_mdsc_create_request(struct ceph_mds_client *mdsc, int op, int mode)
>>  {
>>         struct ceph_mds_request *req = kzalloc(sizeof(*req), GFP_NOFS);
>> +       struct timespec64 ts;
>>
>>         if (!req)
>>                 return ERR_PTR(-ENOMEM);
>> @@ -1797,7 +1798,9 @@ 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 = timespec_trunc(current_kernel_time(), mdsc->fsc->sb->s_time_gran);
>> +       ktime_get_coarse_real_ts64(&ts);
>> +       req->r_stamp = timespec64_to_timespec(timespec64_trunc(ts,
>> +                                               mdsc->fsc->sb->s_time_gran));
>>
>
> does current_time() internally uses ktime_get_coarse_real_ts64()?  If
> not,  granularity difference may cause problem. see commit
> 56199016e8672feb7b903eda003a863d5bf2b8c4 for more information

Yes, current_time() is based on current_kernel_time64(), which calls
ktime_get_coarse_real_ts64(). I'm in the process of removing both
current_kernel_time() and current_kernel_time64() in favor
of ktime_get_coarse_real_ts64() for consistency. The resolution
is unchanged here.

       Arnd

  reply	other threads:[~2018-06-21 14:53 UTC|newest]

Thread overview: 14+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2018-06-20 15:50 [PATCH 1/5] ceph: use timespec64 in for keepalive Arnd Bergmann
2018-06-20 15:50 ` [PATCH 2/5] ceph: stop using current_kernel_time() Arnd Bergmann
2018-06-21 12:29   ` Yan, Zheng
2018-06-21 14:53     ` Arnd Bergmann [this message]
2018-06-20 15:50 ` [PATCH 3/5] ceph: use timespec64 for inode timestamp Arnd Bergmann
2018-06-20 15:50 ` [PATCH 4/5] ceph: use timespec64 for r_mtime Arnd Bergmann
2018-06-20 15:50   ` Arnd Bergmann
2018-06-21 12:41   ` Yan, Zheng
2018-06-21 14:57     ` Arnd Bergmann
2018-06-20 15:50 ` [PATCH 5/5] ceph: use 64-bit timespec for r_stamp Arnd Bergmann
2018-06-20 15:50   ` Arnd Bergmann
2018-07-13 20:18 [PATCH 1/5] ceph: use timespec64 in for keepalive Arnd Bergmann
2018-07-13 20:18 ` [PATCH 2/5] ceph: stop using current_kernel_time() Arnd Bergmann
2018-07-16  0:46   ` Yan, Zheng
2018-07-16  0:46     ` Yan, Zheng

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=CAK8P3a1bXLXmjGf1Yx6JXbc4-Z8DjkZPZkfvesvjFXq3jw11NQ@mail.gmail.com \
    --to=arnd@arndb.de \
    --cc=ceph-devel@vger.kernel.org \
    --cc=cgxu519@gmx.com \
    --cc=idryomov@gmail.com \
    --cc=jlayton@redhat.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=sage@redhat.com \
    --cc=ukernel@gmail.com \
    --cc=y2038@lists.linaro.org \
    --cc=zyan@redhat.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.