Message ID | 20191014171211.GG26541@magnolia (mailing list archive) |
---|---|
State | Accepted |
Headers | show |
Series | xfs: change the seconds fields in xfs_bulkstat to signed | expand |
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 */
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>
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>
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 */