xfs: change the seconds fields in xfs_bulkstat to signed
diff mbox series

Message ID 20191014171211.GG26541@magnolia
State New
Headers show
Series
  • xfs: change the seconds fields in xfs_bulkstat to signed
Related show

Commit Message

Darrick J. Wong Oct. 14, 2019, 5:12 p.m. UTC
From: Darrick J. Wong <darrick.wong@oracle.com>

64-bit time is a signed quantity in the kernel, so the bulkstat
structure should reflect that.

Signed-off-by: Darrick J. Wong <darrick.wong@oracle.com>
---
 fs/xfs/libxfs/xfs_fs.h |    8 ++++----
 1 file changed, 4 insertions(+), 4 deletions(-)

Comments

Carlos Maiolino Oct. 14, 2019, 7:03 p.m. UTC | #1
On Mon, Oct 14, 2019 at 10:12:11AM -0700, Darrick J. Wong wrote:
> From: Darrick J. Wong <darrick.wong@oracle.com>
> 
> 64-bit time is a signed quantity in the kernel, so the bulkstat
> structure should reflect that.
> 
> Signed-off-by: Darrick J. Wong <darrick.wong@oracle.com>

Reviewed-by: Carlos Maiolino <cmaiolino@redhat.com>

> ---
>  fs/xfs/libxfs/xfs_fs.h |    8 ++++----
>  1 file changed, 4 insertions(+), 4 deletions(-)
> 
> diff --git a/fs/xfs/libxfs/xfs_fs.h b/fs/xfs/libxfs/xfs_fs.h
> index b0c884e80915..8b77eace70f1 100644
> --- a/fs/xfs/libxfs/xfs_fs.h
> +++ b/fs/xfs/libxfs/xfs_fs.h
> @@ -368,11 +368,11 @@ struct xfs_bulkstat {
>  	uint64_t	bs_blocks;	/* number of blocks		*/
>  	uint64_t	bs_xflags;	/* extended flags		*/
>  
> -	uint64_t	bs_atime;	/* access time, seconds		*/
> -	uint64_t	bs_mtime;	/* modify time, seconds		*/
> +	int64_t		bs_atime;	/* access time, seconds		*/
> +	int64_t		bs_mtime;	/* modify time, seconds		*/
>  
> -	uint64_t	bs_ctime;	/* inode change time, seconds	*/
> -	uint64_t	bs_btime;	/* creation time, seconds	*/
> +	int64_t		bs_ctime;	/* inode change time, seconds	*/
> +	int64_t		bs_btime;	/* creation time, seconds	*/
>  
>  	uint32_t	bs_gen;		/* generation count		*/
>  	uint32_t	bs_uid;		/* user id			*/
Christoph Hellwig Oct. 15, 2019, 8:02 a.m. UTC | #2
On Mon, Oct 14, 2019 at 10:12:11AM -0700, Darrick J. Wong wrote:
> From: Darrick J. Wong <darrick.wong@oracle.com>
> 
> 64-bit time is a signed quantity in the kernel, so the bulkstat
> structure should reflect that.
> 
> Signed-off-by: Darrick J. Wong <darrick.wong@oracle.com>

Strictly speaking this is a break of the userspace API, but I can't see
how it causes problems in practice, so:

Reviewed-by: Christoph Hellwig <hch@lst.de>
Darrick J. Wong Oct. 15, 2019, 4:04 p.m. UTC | #3
On Tue, Oct 15, 2019 at 01:02:30AM -0700, Christoph Hellwig wrote:
> On Mon, Oct 14, 2019 at 10:12:11AM -0700, Darrick J. Wong wrote:
> > From: Darrick J. Wong <darrick.wong@oracle.com>
> > 
> > 64-bit time is a signed quantity in the kernel, so the bulkstat
> > structure should reflect that.
> > 
> > Signed-off-by: Darrick J. Wong <darrick.wong@oracle.com>
> 
> Strictly speaking this is a break of the userspace API, but I can't see
> how it causes problems in practice, so:

Yeah, I think I'll add a note to the changelog:

"Note that the structure size stays the same and that we have not yet
published userspace headers for this new ioctl so there are no users to
break."

> Reviewed-by: Christoph Hellwig <hch@lst.de>

Patch
diff mbox series

diff --git a/fs/xfs/libxfs/xfs_fs.h b/fs/xfs/libxfs/xfs_fs.h
index b0c884e80915..8b77eace70f1 100644
--- a/fs/xfs/libxfs/xfs_fs.h
+++ b/fs/xfs/libxfs/xfs_fs.h
@@ -368,11 +368,11 @@  struct xfs_bulkstat {
 	uint64_t	bs_blocks;	/* number of blocks		*/
 	uint64_t	bs_xflags;	/* extended flags		*/
 
-	uint64_t	bs_atime;	/* access time, seconds		*/
-	uint64_t	bs_mtime;	/* modify time, seconds		*/
+	int64_t		bs_atime;	/* access time, seconds		*/
+	int64_t		bs_mtime;	/* modify time, seconds		*/
 
-	uint64_t	bs_ctime;	/* inode change time, seconds	*/
-	uint64_t	bs_btime;	/* creation time, seconds	*/
+	int64_t		bs_ctime;	/* inode change time, seconds	*/
+	int64_t		bs_btime;	/* creation time, seconds	*/
 
 	uint32_t	bs_gen;		/* generation count		*/
 	uint32_t	bs_uid;		/* user id			*/