Re: [PATCH] Remove use of LFS64 interfaces

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Thu, Nov 09, 2023 at 01:02:38AM +0000, Sam James wrote:
> 
> "Darrick J. Wong" <djwong@xxxxxxxxxx> writes:
> 
> > On Sun, Nov 05, 2023 at 06:39:32PM +0000, Sam James wrote:
> >> From: Violet Purcell <vimproved@xxxxxxxxxxxxx>
> >> 
> >> LFS64 interfaces are non-standard and are being removed in the upcoming musl
> >> 1.2.5. Setting _FILE_OFFSET_BITS=64 (which is currently being done) makes all
> >> interfaces on glibc 64-bit by default, so using the LFS64 interfaces is
> >> redundant. This commit replaces all occurences of off64_t with off_t,
> >> stat64 with stat, and fstat64 with fstat.
> >> 
> >> Bug: https://bugs.gentoo.org/907039
> >> Signed-off-by: Violet Purcell <vimproved@xxxxxxxxxxxxx>
> >> Signed-off-by: Sam James <sam@xxxxxxxxxx>
> >
> > This mostly looks ok, with one caveat: Should we be adding to the
> > codebase a build sanity check such as:
> >
> > BUILD_BUG_ON(sizeof(off_t) < 8);
> >
> > To make sure that -D_FILE_OFFSET_BITS=64 actually does what we think
> > it
> > does?
> 
> I like the idea here, but in theory it's valid for a libc to just never
> bother supporting a bigger off_t. I'd say this is mostly theoretical but
> someone brought it up at https://github.com/mesonbuild/meson/issues/10237.
> 
> The usecase mentioned there doesn't sound relevant at all to xfsprogs,
> so we should be OK to add the assert. Just wanted to raise the point in
> case it changes your mind though.

At this point in time, I don't think there's much of a usecase for XFS
on a system that can't handle > 4GB filesystems.

> > Also, should we start setting -D_TIME_BITS=64 to handle Y2038 problems
> > on 32-bit systems?
> 
> Yeah, we can do this. The only caveat is if a time_t-containing-type
> appears in a library installed by xfsprogs that is used by other
> software, as it breaks ABI.
> 
> I don't see anything obvious in xfs/handle.h but I haven't
> checked each typedef or ran libabigail's abidiff yet with
> that extra change.
> 
> lmk what you think and I'll add the relevant bits, test, and
> respin.

Setting _TIME_BITS should definitely be a second patch so that bisection
can land on it if there are any problems.  I didn't see any complaints
(or any output, really) from abidiff when I tried it on x64.

--D

> 
> >
> > --D
> >
> >> ---
> >>  copy/xfs_copy.c           |  2 +-
> >>  fsr/xfs_fsr.c             |  2 +-
> >>  io/bmap.c                 |  6 +++---
> >>  io/copy_file_range.c      |  4 ++--
> >>  io/cowextsize.c           |  6 +++---
> >>  io/fadvise.c              |  2 +-
> >>  io/fiemap.c               |  6 +++---
> >>  io/fsmap.c                |  6 +++---
> >>  io/io.h                   | 10 +++++-----
> >>  io/madvise.c              |  2 +-
> >>  io/mincore.c              |  2 +-
> >>  io/mmap.c                 | 13 +++++++------
> >>  io/pread.c                | 22 +++++++++++-----------
> >>  io/pwrite.c               | 20 ++++++++++----------
> >>  io/reflink.c              |  4 ++--
> >>  io/seek.c                 |  6 +++---
> >>  io/sendfile.c             |  6 +++---
> >>  io/stat.c                 |  2 +-
> >>  io/sync_file_range.c      |  2 +-
> >>  io/truncate.c             |  2 +-
> >>  libxfs/rdwr.c             |  8 ++++----
> >>  mdrestore/xfs_mdrestore.c |  2 +-
> >>  repair/prefetch.c         |  2 +-
> >>  scrub/spacemap.c          |  6 +++---
> >>  spaceman/freesp.c         |  4 ++--
> >>  spaceman/trim.c           |  2 +-
> >>  26 files changed, 75 insertions(+), 74 deletions(-)
> >> 
> >> diff --git a/copy/xfs_copy.c b/copy/xfs_copy.c
> >> index 79f65946..854fd7f4 100644
> >> --- a/copy/xfs_copy.c
> >> +++ b/copy/xfs_copy.c
> >> @@ -888,7 +888,7 @@ main(int argc, char **argv)
> >>  			}
> >>  		} else  {
> >>  			char	*lb[XFS_MAX_SECTORSIZE] = { NULL };
> >> -			off64_t	off;
> >> +			off_t	off;
> >>  
> >>  			/* ensure device files are sufficiently large */
> >>  
> >> diff --git a/fsr/xfs_fsr.c b/fsr/xfs_fsr.c
> >> index ba02506d..12fffbd8 100644
> >> --- a/fsr/xfs_fsr.c
> >> +++ b/fsr/xfs_fsr.c
> >> @@ -1148,7 +1148,7 @@ packfile(char *fname, char *tname, int fd,
> >>  	struct dioattr	dio;
> >>  	static xfs_swapext_t   sx;
> >>  	struct xfs_flock64  space;
> >> -	off64_t 	cnt, pos;
> >> +	off_t 	cnt, pos;
> >>  	void 		*fbuf = NULL;
> >>  	int 		ct, wc, wc_b4;
> >>  	char		ffname[SMBUFSZ];
> >> diff --git a/io/bmap.c b/io/bmap.c
> >> index 722a389b..6182e1c5 100644
> >> --- a/io/bmap.c
> >> +++ b/io/bmap.c
> >> @@ -257,7 +257,7 @@ bmap_f(
> >>  #define	FLG_BSW		0000010	/* Not on begin of stripe width */
> >>  #define	FLG_ESW		0000001	/* Not on end   of stripe width */
> >>  		int	agno;
> >> -		off64_t agoff, bbperag;
> >> +		off_t agoff, bbperag;
> >>  		int	foff_w, boff_w, aoff_w, tot_w, agno_w;
> >>  		char	rbuf[32], bbuf[32], abuf[32];
> >>  		int	sunit, swidth;
> >> @@ -267,8 +267,8 @@ bmap_f(
> >>  		if (is_rt)
> >>  			sunit = swidth = bbperag = 0;
> >>  		else {
> >> -			bbperag = (off64_t)fsgeo.agblocks *
> >> -				  (off64_t)fsgeo.blocksize / BBSIZE;
> >> +			bbperag = (off_t)fsgeo.agblocks *
> >> +				  (off_t)fsgeo.blocksize / BBSIZE;
> >>  			sunit = (fsgeo.sunit * fsgeo.blocksize) / BBSIZE;
> >>  			swidth = (fsgeo.swidth * fsgeo.blocksize) / BBSIZE;
> >>  		}
> >> diff --git a/io/copy_file_range.c b/io/copy_file_range.c
> >> index d154fa76..422e691a 100644
> >> --- a/io/copy_file_range.c
> >> +++ b/io/copy_file_range.c
> >> @@ -54,7 +54,7 @@ copy_file_range_cmd(int fd, long long *src_off, long long *dst_off, size_t len)
> >>  	return 0;
> >>  }
> >>  
> >> -static off64_t
> >> +static off_t
> >>  copy_src_filesize(int fd)
> >>  {
> >>  	struct stat st;
> >> @@ -154,7 +154,7 @@ copy_range_f(int argc, char **argv)
> >>  	}
> >>  
> >>  	if (!len_specified) {
> >> -		off64_t	sz;
> >> +		off_t	sz;
> >>  
> >>  		sz = copy_src_filesize(fd);
> >>  		if (sz < 0 || (unsigned long long)sz > SIZE_MAX) {
> >> diff --git a/io/cowextsize.c b/io/cowextsize.c
> >> index f6b134df..00e40c6f 100644
> >> --- a/io/cowextsize.c
> >> +++ b/io/cowextsize.c
> >> @@ -50,10 +50,10 @@ static int
> >>  set_cowextsize(const char *path, int fd, long extsz)
> >>  {
> >>  	struct fsxattr	fsx;
> >> -	struct stat64	stat;
> >> +	struct stat	stat;
> >>  
> >> -	if (fstat64(fd, &stat) < 0) {
> >> -		perror("fstat64");
> >> +	if (fstat(fd, &stat) < 0) {
> >> +		perror("fstat");
> >>  		exitcode = 1;
> >>  		return 0;
> >>  	}
> >> diff --git a/io/fadvise.c b/io/fadvise.c
> >> index 60cc0f08..0966c41b 100644
> >> --- a/io/fadvise.c
> >> +++ b/io/fadvise.c
> >> @@ -39,7 +39,7 @@ fadvise_f(
> >>  	int		argc,
> >>  	char		**argv)
> >>  {
> >> -	off64_t		offset = 0, length = 0;
> >> +	off_t		offset = 0, length = 0;
> >>  	int		c, range = 0, advise = POSIX_FADV_NORMAL;
> >>  
> >>  	while ((c = getopt(argc, argv, "dnrsw")) != EOF) {
> >> diff --git a/io/fiemap.c b/io/fiemap.c
> >> index f0c74dfe..b41f71bf 100644
> >> --- a/io/fiemap.c
> >> +++ b/io/fiemap.c
> >> @@ -234,9 +234,9 @@ fiemap_f(
> >>  	int		tot_w = 5;	/* 5 since its just one number */
> >>  	int		flg_w = 5;
> >>  	__u64		last_logical = 0;	/* last extent offset handled */
> >> -	off64_t		start_offset = 0;	/* mapping start */
> >> -	off64_t		length = -1LL;		/* mapping length */
> >> -	off64_t		range_end = -1LL;	/* mapping end*/
> >> +	off_t		start_offset = 0;	/* mapping start */
> >> +	off_t		length = -1LL;		/* mapping length */
> >> +	off_t		range_end = -1LL;	/* mapping end*/
> >>  	size_t		fsblocksize, fssectsize;
> >>  	struct stat	st;
> >>  
> >> diff --git a/io/fsmap.c b/io/fsmap.c
> >> index 7db51847..bf119639 100644
> >> --- a/io/fsmap.c
> >> +++ b/io/fsmap.c
> >> @@ -170,7 +170,7 @@ dump_map_verbose(
> >>  	unsigned long long	i;
> >>  	struct fsmap		*p;
> >>  	int			agno;
> >> -	off64_t			agoff, bperag;
> >> +	off_t			agoff, bperag;
> >>  	int			foff_w, boff_w, aoff_w, tot_w, agno_w, own_w;
> >>  	int			nr_w, dev_w;
> >>  	char			rbuf[40], bbuf[40], abuf[40], obuf[40];
> >> @@ -183,8 +183,8 @@ dump_map_verbose(
> >>  	dev_w = 3;
> >>  	nr_w = 4;
> >>  	tot_w = MINTOT_WIDTH;
> >> -	bperag = (off64_t)fsgeo->agblocks *
> >> -		  (off64_t)fsgeo->blocksize;
> >> +	bperag = (off_t)fsgeo->agblocks *
> >> +		  (off_t)fsgeo->blocksize;
> >>  	sunit = (fsgeo->sunit * fsgeo->blocksize);
> >>  	swidth = (fsgeo->swidth * fsgeo->blocksize);
> >>  
> >> diff --git a/io/io.h b/io/io.h
> >> index fe474faf..68e5e487 100644
> >> --- a/io/io.h
> >> +++ b/io/io.h
> >> @@ -53,7 +53,7 @@ extern int stat_f(int argc, char **argv);
> >>  typedef struct mmap_region {
> >>  	void		*addr;		/* address of start of mapping */
> >>  	size_t		length;		/* length of mapping */
> >> -	off64_t		offset;		/* start offset into backing file */
> >> +	off_t		offset;		/* start offset into backing file */
> >>  	int		prot;		/* protection mode of the mapping */
> >>  	int		flags;		/* MAP_* flags passed to mmap() */
> >>  	char		*name;		/* name of backing file */
> >> @@ -63,13 +63,13 @@ extern mmap_region_t	*maptable;	/* mmap'd region array */
> >>  extern int		mapcount;	/* #entries in the mapping table */
> >>  extern mmap_region_t	*mapping;	/* active mapping table entry */
> >>  extern int maplist_f(void);
> >> -extern void *check_mapping_range(mmap_region_t *, off64_t, size_t, int);
> >> +extern void *check_mapping_range(mmap_region_t *, off_t, size_t, int);
> >>  
> >>  /*
> >>   * Various xfs_io helper routines/globals
> >>   */
> >>  
> >> -extern off64_t		filesize(void);
> >> +extern off_t		filesize(void);
> >>  extern int		openfile(char *, struct xfs_fsop_geom *, int, mode_t,
> >>  				 struct fs_path *);
> >>  extern int		addfile(char *, int , struct xfs_fsop_geom *, int,
> >> @@ -84,9 +84,9 @@ extern size_t		io_buffersize;
> >>  extern int		vectors;
> >>  extern struct iovec	*iov;
> >>  extern int		alloc_buffer(size_t, int, unsigned int);
> >> -extern int		read_buffer(int, off64_t, long long, long long *,
> >> +extern int		read_buffer(int, off_t, long long, long long *,
> >>  					int, int);
> >> -extern void		dump_buffer(off64_t, ssize_t);
> >> +extern void		dump_buffer(off_t, ssize_t);
> >>  
> >>  extern void		attr_init(void);
> >>  extern void		bmap_init(void);
> >> diff --git a/io/madvise.c b/io/madvise.c
> >> index bde31539..6e9c5b12 100644
> >> --- a/io/madvise.c
> >> +++ b/io/madvise.c
> >> @@ -39,7 +39,7 @@ madvise_f(
> >>  	int		argc,
> >>  	char		**argv)
> >>  {
> >> -	off64_t		offset, llength;
> >> +	off_t		offset, llength;
> >>  	size_t		length;
> >>  	void		*start;
> >>  	int		advise = MADV_NORMAL, c;
> >> diff --git a/io/mincore.c b/io/mincore.c
> >> index 67f1d6c4..24147ac2 100644
> >> --- a/io/mincore.c
> >> +++ b/io/mincore.c
> >> @@ -17,7 +17,7 @@ mincore_f(
> >>  	int		argc,
> >>  	char		**argv)
> >>  {
> >> -	off64_t		offset, llength;
> >> +	off_t		offset, llength;
> >>  	size_t		length;
> >>  	size_t		blocksize, sectsize;
> >>  	void		*start;
> >> diff --git a/io/mmap.c b/io/mmap.c
> >> index 425957d4..7161ae8e 100644
> >> --- a/io/mmap.c
> >> +++ b/io/mmap.c
> >> @@ -63,11 +63,11 @@ print_mapping(
> >>  void *
> >>  check_mapping_range(
> >>  	mmap_region_t	*map,
> >> -	off64_t		offset,
> >> +	off_t		offset,
> >>  	size_t		length,
> >>  	int		pagealign)
> >>  {
> >> -	off64_t		relative;
> >> +	off_t		relative;
> >>  
> >>  	if (offset < mapping->offset) {
> >>  		printf(_("offset (%lld) is before start of mapping (%lld)\n"),
> >> @@ -155,7 +155,8 @@ mmap_f(
> >>  	int		argc,
> >>  	char		**argv)
> >>  {
> >> -	off64_t		offset;
> >> +	off_t		offset;
> >> +
> >>  	ssize_t		length = 0, length2 = 0;
> >>  	void		*address = NULL;
> >>  	char		*filename;
> >> @@ -308,7 +309,7 @@ msync_f(
> >>  	int		argc,
> >>  	char		**argv)
> >>  {
> >> -	off64_t		offset;
> >> +	off_t		offset;
> >>  	ssize_t		length;
> >>  	void		*start;
> >>  	int		c, flags = 0;
> >> @@ -401,7 +402,7 @@ mread_f(
> >>  	int		argc,
> >>  	char		**argv)
> >>  {
> >> -	off64_t		offset, tmp, dumpoffset, printoffset;
> >> +	off_t		offset, tmp, dumpoffset, printoffset;
> >>  	ssize_t		length;
> >>  	size_t		dumplen, cnt = 0;
> >>  	char		*bp;
> >> @@ -566,7 +567,7 @@ mwrite_f(
> >>  	int		argc,
> >>  	char		**argv)
> >>  {
> >> -	off64_t		offset, tmp;
> >> +	off_t		offset, tmp;
> >>  	ssize_t		length;
> >>  	void		*start;
> >>  	char		*sp;
> >> diff --git a/io/pread.c b/io/pread.c
> >> index 0f1d8b97..79990c6a 100644
> >> --- a/io/pread.c
> >> +++ b/io/pread.c
> >> @@ -116,7 +116,7 @@ alloc_buffer(
> >>  static void
> >>  __dump_buffer(
> >>  	void		*buf,
> >> -	off64_t		offset,
> >> +	off_t		offset,
> >>  	ssize_t		len)
> >>  {
> >>  	int		i, j;
> >> @@ -141,7 +141,7 @@ __dump_buffer(
> >>  
> >>  void
> >>  dump_buffer(
> >> -	off64_t		offset,
> >> +	off_t		offset,
> >>  	ssize_t		len)
> >>  {
> >>  	int		i, l;
> >> @@ -164,7 +164,7 @@ dump_buffer(
> >>  static ssize_t
> >>  do_preadv(
> >>  	int		fd,
> >> -	off64_t		offset,
> >> +	off_t		offset,
> >>  	long long	count)
> >>  {
> >>  	int		vecs = 0;
> >> @@ -199,7 +199,7 @@ do_preadv(
> >>  static ssize_t
> >>  do_pread(
> >>  	int		fd,
> >> -	off64_t		offset,
> >> +	off_t		offset,
> >>  	long long	count,
> >>  	size_t		buffer_size)
> >>  {
> >> @@ -212,13 +212,13 @@ do_pread(
> >>  static int
> >>  read_random(
> >>  	int		fd,
> >> -	off64_t		offset,
> >> +	off_t		offset,
> >>  	long long	count,
> >>  	long long	*total,
> >>  	unsigned int	seed,
> >>  	int		eof)
> >>  {
> >> -	off64_t		end, off, range;
> >> +	off_t		end, off, range;
> >>  	ssize_t		bytes;
> >>  	int		ops = 0;
> >>  
> >> @@ -259,12 +259,12 @@ read_random(
> >>  static int
> >>  read_backward(
> >>  	int		fd,
> >> -	off64_t		*offset,
> >> +	off_t		*offset,
> >>  	long long	*count,
> >>  	long long	*total,
> >>  	int		eof)
> >>  {
> >> -	off64_t		end, off = *offset;
> >> +	off_t		end, off = *offset;
> >>  	ssize_t		bytes = 0, bytes_requested;
> >>  	long long	cnt = *count;
> >>  	int		ops = 0;
> >> @@ -319,7 +319,7 @@ read_backward(
> >>  static int
> >>  read_forward(
> >>  	int		fd,
> >> -	off64_t		offset,
> >> +	off_t		offset,
> >>  	long long	count,
> >>  	long long	*total,
> >>  	int		verbose,
> >> @@ -353,7 +353,7 @@ read_forward(
> >>  int
> >>  read_buffer(
> >>  	int		fd,
> >> -	off64_t		offset,
> >> +	off_t		offset,
> >>  	long long	count,
> >>  	long long	*total,
> >>  	int		verbose,
> >> @@ -368,7 +368,7 @@ pread_f(
> >>  	char		**argv)
> >>  {
> >>  	size_t		bsize;
> >> -	off64_t		offset;
> >> +	off_t		offset;
> >>  	unsigned int	zeed = 0;
> >>  	long long	count, total, tmp;
> >>  	size_t		fsblocksize, fssectsize;
> >> diff --git a/io/pwrite.c b/io/pwrite.c
> >> index 467bfa9f..8d134c56 100644
> >> --- a/io/pwrite.c
> >> +++ b/io/pwrite.c
> >> @@ -54,7 +54,7 @@ pwrite_help(void)
> >>  static ssize_t
> >>  do_pwritev(
> >>  	int		fd,
> >> -	off64_t		offset,
> >> +	off_t		offset,
> >>  	long long	count,
> >>  	int		pwritev2_flags)
> >>  {
> >> @@ -97,7 +97,7 @@ do_pwritev(
> >>  static ssize_t
> >>  do_pwrite(
> >>  	int		fd,
> >> -	off64_t		offset,
> >> +	off_t		offset,
> >>  	long long	count,
> >>  	size_t		buffer_size,
> >>  	int		pwritev2_flags)
> >> @@ -110,13 +110,13 @@ do_pwrite(
> >>  
> >>  static int
> >>  write_random(
> >> -	off64_t		offset,
> >> +	off_t		offset,
> >>  	long long	count,
> >>  	unsigned int	seed,
> >>  	long long	*total,
> >>  	int 		pwritev2_flags)
> >>  {
> >> -	off64_t		off, range;
> >> +	off_t		off, range;
> >>  	ssize_t		bytes;
> >>  	int		ops = 0;
> >>  
> >> @@ -155,12 +155,12 @@ write_random(
> >>  
> >>  static int
> >>  write_backward(
> >> -	off64_t		offset,
> >> +	off_t		offset,
> >>  	long long	*count,
> >>  	long long	*total,
> >>  	int		pwritev2_flags)
> >>  {
> >> -	off64_t		end, off = offset;
> >> +	off_t		end, off = offset;
> >>  	ssize_t		bytes = 0, bytes_requested;
> >>  	long long	cnt = *count;
> >>  	int		ops = 0;
> >> @@ -214,11 +214,11 @@ write_backward(
> >>  
> >>  static int
> >>  write_buffer(
> >> -	off64_t		offset,
> >> +	off_t		offset,
> >>  	long long	count,
> >>  	size_t		bs,
> >>  	int		fd,
> >> -	off64_t		skip,
> >> +	off_t		skip,
> >>  	long long	*total,
> >>  	int		pwritev2_flags)
> >>  {
> >> @@ -253,7 +253,7 @@ write_buffer(
> >>  
> >>  static int
> >>  write_once(
> >> -	off64_t		offset,
> >> +	off_t		offset,
> >>  	long long	count,
> >>  	long long	*total,
> >>  	int		pwritev2_flags)
> >> @@ -275,7 +275,7 @@ pwrite_f(
> >>  	char		**argv)
> >>  {
> >>  	size_t		bsize;
> >> -	off64_t		offset, skip = 0;
> >> +	off_t		offset, skip = 0;
> >>  	long long	count, total, tmp;
> >>  	unsigned int	zeed = 0, seed = 0xcdcdcdcd;
> >>  	size_t		fsblocksize, fssectsize;
> >> diff --git a/io/reflink.c b/io/reflink.c
> >> index 8e4f3899..b6a3c05a 100644
> >> --- a/io/reflink.c
> >> +++ b/io/reflink.c
> >> @@ -98,7 +98,7 @@ dedupe_f(
> >>  	int		argc,
> >>  	char		**argv)
> >>  {
> >> -	off64_t		soffset, doffset;
> >> +	off_t		soffset, doffset;
> >>  	long long	count, total;
> >>  	char		*infile;
> >>  	int		condensed, quiet_flag;
> >> @@ -226,7 +226,7 @@ reflink_f(
> >>  	int		argc,
> >>  	char		**argv)
> >>  {
> >> -	off64_t		soffset, doffset;
> >> +	off_t		soffset, doffset;
> >>  	long long	count = 0, total;
> >>  	char		*infile = NULL;
> >>  	int		condensed, quiet_flag;
> >> diff --git a/io/seek.c b/io/seek.c
> >> index 6734ecb5..ffe7439c 100644
> >> --- a/io/seek.c
> >> +++ b/io/seek.c
> >> @@ -63,8 +63,8 @@ static void
> >>  seek_output(
> >>  	int	startflag,
> >>  	char	*type,
> >> -	off64_t	start,
> >> -	off64_t	offset)
> >> +	off_t	start,
> >> +	off_t	offset)
> >>  {
> >>  	if (offset == -1) {
> >>  		if (errno == ENXIO) {
> >> @@ -92,7 +92,7 @@ seek_f(
> >>  	int	argc,
> >>  	char	**argv)
> >>  {
> >> -	off64_t		offset, start;
> >> +	off_t		offset, start;
> >>  	size_t		fsblocksize, fssectsize;
> >>  	int		c;
> >>  	int		current;	/* specify data or hole */
> >> diff --git a/io/sendfile.c b/io/sendfile.c
> >> index a003bb55..2ce569c2 100644
> >> --- a/io/sendfile.c
> >> +++ b/io/sendfile.c
> >> @@ -34,12 +34,12 @@ sendfile_help(void)
> >>  
> >>  static int
> >>  send_buffer(
> >> -	off64_t		offset,
> >> +	off_t		offset,
> >>  	size_t		count,
> >>  	int		fd,
> >>  	long long	*total)
> >>  {
> >> -	off64_t		off = offset;
> >> +	off_t		off = offset;
> >>  	ssize_t		bytes, bytes_remaining = count;
> >>  	int		ops = 0;
> >>  
> >> @@ -66,7 +66,7 @@ sendfile_f(
> >>  	int		argc,
> >>  	char		**argv)
> >>  {
> >> -	off64_t		offset = 0;
> >> +	off_t		offset = 0;
> >>  	long long	count, total;
> >>  	size_t		blocksize, sectsize;
> >>  	struct timeval	t1, t2;
> >> diff --git a/io/stat.c b/io/stat.c
> >> index b57f9eef..e8f68dc3 100644
> >> --- a/io/stat.c
> >> +++ b/io/stat.c
> >> @@ -21,7 +21,7 @@ static cmdinfo_t stat_cmd;
> >>  static cmdinfo_t statfs_cmd;
> >>  static cmdinfo_t statx_cmd;
> >>  
> >> -off64_t
> >> +off_t
> >>  filesize(void)
> >>  {
> >>  	struct stat	st;
> >> diff --git a/io/sync_file_range.c b/io/sync_file_range.c
> >> index 94285c22..2375a060 100644
> >> --- a/io/sync_file_range.c
> >> +++ b/io/sync_file_range.c
> >> @@ -30,7 +30,7 @@ sync_range_f(
> >>  	int		argc,
> >>  	char		**argv)
> >>  {
> >> -	off64_t		offset = 0, length = 0;
> >> +	off_t		offset = 0, length = 0;
> >>  	int		c, sync_mode = 0;
> >>  	size_t		blocksize, sectsize;
> >>  
> >> diff --git a/io/truncate.c b/io/truncate.c
> >> index 1d049194..a74b6131 100644
> >> --- a/io/truncate.c
> >> +++ b/io/truncate.c
> >> @@ -16,7 +16,7 @@ truncate_f(
> >>  	int		argc,
> >>  	char		**argv)
> >>  {
> >> -	off64_t		offset;
> >> +	off_t		offset;
> >>  	size_t		blocksize, sectsize;
> >>  
> >>  	init_cvtnum(&blocksize, &sectsize);
> >> diff --git a/libxfs/rdwr.c b/libxfs/rdwr.c
> >> index ccd1501a..4eba0094 100644
> >> --- a/libxfs/rdwr.c
> >> +++ b/libxfs/rdwr.c
> >> @@ -576,7 +576,7 @@ libxfs_balloc(
> >>  
> >>  
> >>  static int
> >> -__read_buf(int fd, void *buf, int len, off64_t offset, int flags)
> >> +__read_buf(int fd, void *buf, int len, off_t offset, int flags)
> >>  {
> >>  	int	sts;
> >>  
> >> @@ -639,7 +639,7 @@ libxfs_readbufr_map(struct xfs_buftarg *btp, struct xfs_buf *bp, int flags)
> >>  	fd = libxfs_device_to_fd(btp->bt_bdev);
> >>  	buf = bp->b_addr;
> >>  	for (i = 0; i < bp->b_nmaps; i++) {
> >> -		off64_t	offset = LIBXFS_BBTOOFF64(bp->b_maps[i].bm_bn);
> >> +		off_t	offset = LIBXFS_BBTOOFF64(bp->b_maps[i].bm_bn);
> >>  		int len = BBTOB(bp->b_maps[i].bm_len);
> >>  
> >>  		error = __read_buf(fd, buf, len, offset, flags);
> >> @@ -798,7 +798,7 @@ err:
> >>  }
> >>  
> >>  static int
> >> -__write_buf(int fd, void *buf, int len, off64_t offset, int flags)
> >> +__write_buf(int fd, void *buf, int len, off_t offset, int flags)
> >>  {
> >>  	int	sts;
> >>  
> >> @@ -864,7 +864,7 @@ libxfs_bwrite(
> >>  		void	*buf = bp->b_addr;
> >>  
> >>  		for (i = 0; i < bp->b_nmaps; i++) {
> >> -			off64_t	offset = LIBXFS_BBTOOFF64(bp->b_maps[i].bm_bn);
> >> +			off_t	offset = LIBXFS_BBTOOFF64(bp->b_maps[i].bm_bn);
> >>  			int len = BBTOB(bp->b_maps[i].bm_len);
> >>  
> >>  			bp->b_error = __write_buf(fd, buf, len, offset,
> >> diff --git a/mdrestore/xfs_mdrestore.c b/mdrestore/xfs_mdrestore.c
> >> index 7c1a66c4..bb54e382 100644
> >> --- a/mdrestore/xfs_mdrestore.c
> >> +++ b/mdrestore/xfs_mdrestore.c
> >> @@ -116,7 +116,7 @@ perform_restore(
> >>  		/* ensure device is sufficiently large enough */
> >>  
> >>  		char		*lb[XFS_MAX_SECTORSIZE] = { NULL };
> >> -		off64_t		off;
> >> +		off_t		off;
> >>  
> >>  		off = sb.sb_dblocks * sb.sb_blocksize - sizeof(lb);
> >>  		if (pwrite(dst_fd, lb, sizeof(lb), off) < 0)
> >> diff --git a/repair/prefetch.c b/repair/prefetch.c
> >> index 017750e9..35b50134 100644
> >> --- a/repair/prefetch.c
> >> +++ b/repair/prefetch.c
> >> @@ -475,7 +475,7 @@ pf_batch_read(
> >>  {
> >>  	struct xfs_buf		*bplist[MAX_BUFS];
> >>  	unsigned int		num;
> >> -	off64_t			first_off, last_off, next_off;
> >> +	off_t			first_off, last_off, next_off;
> >>  	int			len, size;
> >>  	int			i;
> >>  	int			inode_bufs;
> >> diff --git a/scrub/spacemap.c b/scrub/spacemap.c
> >> index 03440d3a..00bee179 100644
> >> --- a/scrub/spacemap.c
> >> +++ b/scrub/spacemap.c
> >> @@ -97,11 +97,11 @@ scan_ag_rmaps(
> >>  	struct scrub_ctx	*ctx = (struct scrub_ctx *)wq->wq_ctx;
> >>  	struct scan_blocks	*sbx = arg;
> >>  	struct fsmap		keys[2];
> >> -	off64_t			bperag;
> >> +	off_t			bperag;
> >>  	int			ret;
> >>  
> >> -	bperag = (off64_t)ctx->mnt.fsgeom.agblocks *
> >> -		 (off64_t)ctx->mnt.fsgeom.blocksize;
> >> +	bperag = (off_t)ctx->mnt.fsgeom.agblocks *
> >> +		 (off_t)ctx->mnt.fsgeom.blocksize;
> >>  
> >>  	memset(keys, 0, sizeof(struct fsmap) * 2);
> >>  	keys->fmr_device = ctx->fsinfo.fs_datadev;
> >> diff --git a/spaceman/freesp.c b/spaceman/freesp.c
> >> index 70dcdb5c..f5177cb4 100644
> >> --- a/spaceman/freesp.c
> >> +++ b/spaceman/freesp.c
> >> @@ -62,7 +62,7 @@ static void
> >>  addtohist(
> >>  	xfs_agnumber_t	agno,
> >>  	xfs_agblock_t	agbno,
> >> -	off64_t		len)
> >> +	off_t		len)
> >>  {
> >>  	long		i;
> >>  
> >> @@ -152,7 +152,7 @@ scan_ag(
> >>  	struct fsmap		*l, *h;
> >>  	struct fsmap		*p;
> >>  	struct xfs_fd		*xfd = &file->xfd;
> >> -	off64_t			aglen;
> >> +	off_t			aglen;
> >>  	xfs_agblock_t		agbno;
> >>  	unsigned long long	freeblks = 0;
> >>  	unsigned long long	freeexts = 0;
> >> diff --git a/spaceman/trim.c b/spaceman/trim.c
> >> index e9ed47e4..727dd818 100644
> >> --- a/spaceman/trim.c
> >> +++ b/spaceman/trim.c
> >> @@ -26,7 +26,7 @@ trim_f(
> >>  	struct xfs_fd		*xfd = &file->xfd;
> >>  	struct xfs_fsop_geom	*fsgeom = &xfd->fsgeom;
> >>  	xfs_agnumber_t		agno = 0;
> >> -	off64_t			offset = 0;
> >> +	off_t			offset = 0;
> >>  	ssize_t			length = 0;
> >>  	ssize_t			minlen = 0;
> >>  	int			aflag = 0;
> >> -- 
> >> 2.42.1
> >> 
> 



[Index of Archives]     [XFS Filesystem Development (older mail)]     [Linux Filesystem Development]     [Linux Audio Users]     [Yosemite Trails]     [Linux Kernel]     [Linux RAID]     [Linux SCSI]


  Powered by Linux