Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > linux.kernel > #1426089

[PATCH v2 22/24] fs: ceph: Replace current_fs_time for request stamp

From Deepa Dinamani <deepa.kernel@gmail.com>
Newsgroups linux.kernel
Subject [PATCH v2 22/24] fs: ceph: Replace current_fs_time for request stamp
Date 2016-06-20 02:50 +0200
Message-ID <rLVzz-17M-5@gated-at.bofh.it> (permalink)
References <rLVgd-11C-1@gated-at.bofh.it>
Organization linux.* mail to news gateway

Show all headers | View raw


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.

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 | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)

diff --git a/fs/ceph/mds_client.c b/fs/ceph/mds_client.c
index 2103b82..c6cae7a 100644
--- a/fs/ceph/mds_client.c
+++ b/fs/ceph/mds_client.c
@@ -1697,6 +1697,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 timespec ts;
 
 	if (!req)
 		return ERR_PTR(-ENOMEM);
@@ -1715,7 +1716,8 @@ 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_fs_time(mdsc->fsc->sb);
+	ktime_get_real_ts(&ts);
+	req->r_stamp = timespec_trunc(ts, mdsc->fsc->sb->s_time_gran);
 
 	req->r_op = op;
 	req->r_direct_mode = mode;
-- 
1.9.1

Back to linux.kernel | Previous | NextPrevious in thread | Next in thread | Find similar | Unroll thread


Thread

[PATCH v2 00/24] Delete CURRENT_TIME and CURRENT_TIME_SEC macros Deepa Dinamani <deepa.kernel@gmail.com> - 2016-06-20 02:30 +0200
  [PATCH v2 10/24] fs: cifs: Replace CURRENT_TIME by current_time() Deepa Dinamani <deepa.kernel@gmail.com> - 2016-06-20 02:30 +0200
  [PATCH v2 09/24] fs: udf: Replace CURRENT_TIME with current_time() Deepa Dinamani <deepa.kernel@gmail.com> - 2016-06-20 02:30 +0200
    Re: [Y2038] [PATCH v2 09/24] fs: udf: Replace CURRENT_TIME with current_time() Arnd Bergmann <arnd@arndb.de> - 2016-06-22 16:10 +0200
      Re: [Y2038] [PATCH v2 09/24] fs: udf: Replace CURRENT_TIME with current_time() Deepa Dinamani <deepa.kernel@gmail.com> - 2016-06-23 04:00 +0200
  [PATCH v2 07/24] fs: ubifs: Replace CURRENT_TIME_SEC with current_time Deepa Dinamani <deepa.kernel@gmail.com> - 2016-06-20 02:30 +0200
    Re: [PATCH v2 07/24] fs: ubifs: Replace CURRENT_TIME_SEC with current_time Arnd Bergmann <arnd@arndb.de> - 2016-06-22 15:50 +0200
  [PATCH v2 01/24] vfs: Add current_time() api Deepa Dinamani <deepa.kernel@gmail.com> - 2016-06-20 02:30 +0200
  [PATCH v2 06/24] fs: ext4: Use current_time() for inode timestamps Deepa Dinamani <deepa.kernel@gmail.com> - 2016-06-20 02:30 +0200
    Re: [PATCH v2 06/24] fs: ext4: Use current_time() for inode timestamps Arnd Bergmann <arnd@arndb.de> - 2016-06-22 15:40 +0200
  [PATCH v2 11/24] fs: cifs: Replace CURRENT_TIME with ktime_get_real_ts() Deepa Dinamani <deepa.kernel@gmail.com> - 2016-06-20 02:40 +0200
  [PATCH v2 05/24] fs: jfs: Replace CURRENT_TIME_SEC by current_time() Deepa Dinamani <deepa.kernel@gmail.com> - 2016-06-20 02:40 +0200
    Re: [Jfs-discussion] [PATCH v2 05/24] fs: jfs: Replace  CURRENT_TIME_SEC by current_time() Dave Kleikamp <dave.kleikamp@oracle.com> - 2016-06-20 21:20 +0200
  [PATCH v2 24/24] time: Delete current_fs_time() function Deepa Dinamani <deepa.kernel@gmail.com> - 2016-06-20 02:40 +0200
  [PATCH v2 23/24] time: Delete CURRENT_TIME_SEC and CURRENT_TIME macro Deepa Dinamani <deepa.kernel@gmail.com> - 2016-06-20 02:40 +0200
    Re: [PATCH v2 23/24] time: Delete CURRENT_TIME_SEC and CURRENT_TIME macro Arnd Bergmann <arnd@arndb.de> - 2016-06-22 17:50 +0200
  [PATCH v2 08/24] fs: btrfs: Use ktime_get_real_ts for root ctime Deepa Dinamani <deepa.kernel@gmail.com> - 2016-06-20 02:40 +0200
    Re: [PATCH v2 08/24] fs: btrfs: Use ktime_get_real_ts for root ctime David Sterba <dsterba@suse.cz> - 2016-06-20 11:50 +0200
  [PATCH v2 04/24] fs: Replace current_fs_time() with current_time() Deepa Dinamani <deepa.kernel@gmail.com> - 2016-06-20 02:40 +0200
  [PATCH v2 18/24] fs: nfs: Make nfs boot time y2038 safe Deepa Dinamani <deepa.kernel@gmail.com> - 2016-06-20 02:50 +0200
  [PATCH v2 16/24] fs: ocfs2: Replace CURRENT_TIME with ktime_get_real_seconds() Deepa Dinamani <deepa.kernel@gmail.com> - 2016-06-20 02:50 +0200
  [PATCH v2 22/24] fs: ceph: Replace current_fs_time for request stamp Deepa Dinamani <deepa.kernel@gmail.com> - 2016-06-20 02:50 +0200
  [PATCH v2 17/24] audit: Use timespec64 to represent audit timestamps Deepa Dinamani <deepa.kernel@gmail.com> - 2016-06-20 02:50 +0200
    Re: [PATCH v2 17/24] audit: Use timespec64 to represent audit  timestamps Richard Guy Briggs <rgb@redhat.com> - 2016-06-20 17:20 +0200
  [PATCH v2 19/24] fnic: Use time64_t to represent trace timestamps Deepa Dinamani <deepa.kernel@gmail.com> - 2016-06-20 03:30 +0200
    Re: [PATCH v2 19/24] fnic: Use time64_t to represent trace timestamps Arnd Bergmann <arnd@arndb.de> - 2016-06-22 16:10 +0200
      Re: [PATCH v2 19/24] fnic: Use time64_t to represent trace timestamps Deepa Dinamani <deepa.kernel@gmail.com> - 2016-06-23 04:00 +0200
  [PATCH v2 13/24] fs: f2fs: Use ktime_get_real_seconds for sit_info times Deepa Dinamani <deepa.kernel@gmail.com> - 2016-06-20 03:30 +0200
  [PATCH v2 14/24] drivers: staging: lustre: Replace CURRENT_TIME with current_time() Deepa Dinamani <deepa.kernel@gmail.com> - 2016-06-20 03:40 +0200
  [PATCH v2 15/24] fs: ocfs2: Use time64_t to represent orphan scan times Deepa Dinamani <deepa.kernel@gmail.com> - 2016-06-20 03:40 +0200
  [PATCH v2 21/24] libceph: Replace CURRENT_TIME with ktime_get_real_ts Deepa Dinamani <deepa.kernel@gmail.com> - 2016-06-20 03:40 +0200
  [PATCH v2 12/24] fs: cifs: Replace CURRENT_TIME by get_seconds Deepa Dinamani <deepa.kernel@gmail.com> - 2016-06-20 03:40 +0200
  [PATCH v2 20/24] block: Replace CURRENT_TIME with ktime_get_real_ts Deepa Dinamani <deepa.kernel@gmail.com> - 2016-06-20 04:40 +0200
  Re: [PATCH v2 00/24] Delete CURRENT_TIME and CURRENT_TIME_SEC macros Linus Torvalds <torvalds@linux-foundation.org> - 2016-06-20 20:10 +0200
    Re: [PATCH v2 00/24] Delete CURRENT_TIME and CURRENT_TIME_SEC macros Deepa Dinamani <deepa.kernel@gmail.com> - 2016-06-20 21:00 +0200
    Re: [Y2038] [PATCH v2 00/24] Delete CURRENT_TIME and CURRENT_TIME_SEC macros Arnd Bergmann <arnd@arndb.de> - 2016-06-21 17:10 +0200
  Re: [Y2038] [PATCH v2 00/24] Delete CURRENT_TIME and CURRENT_TIME_SEC macros Arnd Bergmann <arnd@arndb.de> - 2016-06-22 18:00 +0200

csiph-web