[PATCH 06/12] fs/ceph: consistently use `u32` for `time_warp_seq`
From: Max Kellermann
Date: Fri Jun 12 2026 - 12:55:32 EST
Previously, both `u32` and `u64` was used with implicit casts. All
this does is add useless overhead.
This will allow better struct packing in `struct ceph_cap_snap`.
Signed-off-by: Max Kellermann <max.kellermann@xxxxxxxxx>
---
fs/ceph/inode.c | 6 +++---
fs/ceph/super.h | 4 ++--
2 files changed, 5 insertions(+), 5 deletions(-)
diff --git a/fs/ceph/inode.c b/fs/ceph/inode.c
index c26217ed2034..17df694fe978 100644
--- a/fs/ceph/inode.c
+++ b/fs/ceph/inode.c
@@ -915,7 +915,7 @@ void ceph_inode_set_subvolume(struct inode *inode, u64 subvolume_id)
}
void ceph_fill_file_time(struct inode *inode, int issued,
- u64 time_warp_seq, struct timespec64 *ctime,
+ u32 time_warp_seq, struct timespec64 *ctime,
struct timespec64 *mtime, struct timespec64 *atime)
{
struct ceph_client *cl = ceph_inode_to_client(inode);
@@ -939,7 +939,7 @@ void ceph_fill_file_time(struct inode *inode, int issued,
ceph_seq_cmp(time_warp_seq, ci->i_time_warp_seq) > 0) {
/* the MDS did a utimes() */
doutc(cl, "mtime %ptSp -> %ptSp tw %d -> %d\n", &imtime, mtime,
- ci->i_time_warp_seq, (int)time_warp_seq);
+ ci->i_time_warp_seq, time_warp_seq);
inode_set_mtime_to_ts(inode, *mtime);
inode_set_atime_to_ts(inode, *atime);
@@ -971,7 +971,7 @@ void ceph_fill_file_time(struct inode *inode, int issued,
}
}
if (warn) /* time_warp_seq shouldn't go backwards */
- doutc(cl, "%p mds time_warp_seq %llu < %u\n", inode,
+ doutc(cl, "%p mds time_warp_seq %u < %u\n", inode,
time_warp_seq, ci->i_time_warp_seq);
}
diff --git a/fs/ceph/super.h b/fs/ceph/super.h
index 505a1552f355..9b5119b1d0a9 100644
--- a/fs/ceph/super.h
+++ b/fs/ceph/super.h
@@ -266,7 +266,7 @@ struct ceph_cap_snap {
u64 size;
u64 change_attr;
struct timespec64 mtime, atime, ctime, btime;
- u64 time_warp_seq;
+ u32 time_warp_seq;
u64 truncate_size;
u32 truncate_seq;
bool writing; /* a sync write is still in progress */
@@ -1091,7 +1091,7 @@ extern int ceph_fill_file_size(struct inode *inode, int issued,
u32 truncate_seq, u64 truncate_size, u64 size);
extern void ceph_inode_set_subvolume(struct inode *inode, u64 subvolume_id);
extern void ceph_fill_file_time(struct inode *inode, int issued,
- u64 time_warp_seq, struct timespec64 *ctime,
+ u32 time_warp_seq, struct timespec64 *ctime,
struct timespec64 *mtime,
struct timespec64 *atime);
extern int ceph_fill_inode(struct inode *inode, struct page *locked_page,
--
2.47.3