Re: [PATCH 06/12] fs/ceph: consistently use `u32` for `time_warp_seq`

Viacheslav Dubeyko <[email protected]>
Newsgroups org.kernel.vger.ceph-devel,org.kernel.vger.linux-kernel
Message-ID <[email protected]>
On Fri, 2026-06-12 at 18:51 +0200, Max Kellermann wrote:
> 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 <[email protected]>
> ---
>  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,

Makes sense.

Reviewed-by: Viacheslav Dubeyko <[email protected]>

Thanks,
Slava.
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.