All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH] fsstress: remove ALLOCSP and FREESP operations entirely
@ 2022-04-26  6:24 Zorro Lang
  2022-04-27  3:35 ` Darrick J. Wong
  0 siblings, 1 reply; 2+ messages in thread
From: Zorro Lang @ 2022-04-26  6:24 UTC (permalink / raw)
  To: fstests; +Cc: linux-xfs

From: Zorro Lang <zlang@redhat.com>

Due to upstream linux has removed ALLOCSP/FREESP ioctls by commit:
4d1b97f9ce7c0 ("xfs: kill the XFS_IOC_{ALLOC,FREE}SP* ioctls"), so
let's remove ALLOCSP/FREESP testing from fsstress, to avoid more
mismatch problems.

Due to g/070 specified "-f allocsp" and "-f freesp=0", so remove
these two lines too.

Signed-off-by: Zorro Lang <zlang@redhat.com>
---
 ltp/fsstress.c    | 117 ----------------------------------------------
 tests/generic/070 |   2 -
 2 files changed, 119 deletions(-)

diff --git a/ltp/fsstress.c b/ltp/fsstress.c
index 23188467..b395bc4d 100644
--- a/ltp/fsstress.c
+++ b/ltp/fsstress.c
@@ -86,7 +86,6 @@ static int renameat2(int dfd1, const char *path1,
 
 typedef enum {
 	OP_AFSYNC,
-	OP_ALLOCSP,
 	OP_AREAD,
 	OP_ATTR_REMOVE,
 	OP_ATTR_SET,
@@ -103,7 +102,6 @@ typedef enum {
 	OP_FALLOCATE,
 	OP_FDATASYNC,
 	OP_FIEMAP,
-	OP_FREESP,
 	OP_FSYNC,
 	OP_GETATTR,
 	OP_GETDENTS,
@@ -216,7 +214,6 @@ struct print_string {
 #define XATTR_NAME_BUF_SIZE 18
 
 void	afsync_f(opnum_t, long);
-void	allocsp_f(opnum_t, long);
 void	aread_f(opnum_t, long);
 void	attr_remove_f(opnum_t, long);
 void	attr_set_f(opnum_t, long);
@@ -233,7 +230,6 @@ void	dwrite_f(opnum_t, long);
 void	fallocate_f(opnum_t, long);
 void	fdatasync_f(opnum_t, long);
 void	fiemap_f(opnum_t, long);
-void	freesp_f(opnum_t, long);
 void	fsync_f(opnum_t, long);
 char	*gen_random_string(int);
 void	getattr_f(opnum_t, long);
@@ -281,7 +277,6 @@ char	*xattr_flag_to_string(int);
 struct opdesc	ops[OP_LAST]	= {
      /* [OP_ENUM]	   = {"name",	       function,	freq, iswrite }, */
 	[OP_AFSYNC]	   = {"afsync",	       afsync_f,	0, 1 },
-	[OP_ALLOCSP]	   = {"allocsp",       allocsp_f,	1, 1 },
 	[OP_AREAD]	   = {"aread",	       aread_f,		1, 0 },
 	[OP_ATTR_REMOVE]   = {"attr_remove",   attr_remove_f,	0, 1 },
 	[OP_ATTR_SET]	   = {"attr_set",      attr_set_f,	0, 1 },
@@ -298,7 +293,6 @@ struct opdesc	ops[OP_LAST]	= {
 	[OP_FALLOCATE]	   = {"fallocate",     fallocate_f,	1, 1 },
 	[OP_FDATASYNC]	   = {"fdatasync",     fdatasync_f,	1, 1 },
 	[OP_FIEMAP]	   = {"fiemap",	       fiemap_f,	1, 1 },
-	[OP_FREESP]	   = {"freesp",	       freesp_f,	1, 1 },
 	[OP_FSYNC]	   = {"fsync",	       fsync_f,		1, 1 },
 	[OP_GETATTR]	   = {"getattr",       getattr_f,	1, 0 },
 	[OP_GETDENTS]	   = {"getdents",      getdents_f,	1, 0 },
@@ -2042,62 +2036,6 @@ afsync_f(opnum_t opno, long r)
 #endif
 }
 
-void
-allocsp_f(opnum_t opno, long r)
-{
-#ifdef XFS_IOC_ALLOCSP64
-	int		e;
-	pathname_t	f;
-	int		fd;
-	struct xfs_flock64	fl;
-	int64_t		lr;
-	off64_t		off;
-	struct stat64	stb;
-	int		v;
-	char		st[1024];
-
-	init_pathname(&f);
-	if (!get_fname(FT_REGFILE, r, &f, NULL, NULL, &v)) {
-		if (v)
-			printf("%d/%lld: allocsp - no filename\n", procid, opno);
-		free_pathname(&f);
-		return;
-	}
-	fd = open_path(&f, O_RDWR);
-	e = fd < 0 ? errno : 0;
-	check_cwd();
-	if (fd < 0) {
-		if (v)
-			printf("%d/%lld: allocsp - open %s failed %d\n",
-				procid, opno, f.path, e);
-		free_pathname(&f);
-		return;
-	}
-	if (fstat64(fd, &stb) < 0) {
-		if (v)
-			printf("%d/%lld: allocsp - fstat64 %s failed %d\n",
-				procid, opno, f.path, errno);
-		free_pathname(&f);
-		close(fd);
-		return;
-	}
-	inode_info(st, sizeof(st), &stb, v);
-	lr = ((int64_t)random() << 32) + random();
-	off = (off64_t)(lr % MIN(stb.st_size + (1024 * 1024), MAXFSIZE));
-	off %= maxfsize;
-	fl.l_whence = SEEK_SET;
-	fl.l_start = off;
-	fl.l_len = 0;
-	e = xfsctl(f.path, fd, XFS_IOC_ALLOCSP64, &fl) < 0 ? errno : 0;
-	if (v) {
-		printf("%d/%lld: xfsctl(XFS_IOC_ALLOCSP64) %s%s %lld 0 %d\n",
-		       procid, opno, f.path, st, (long long)off, e);
-	}
-	free_pathname(&f);
-	close(fd);
-#endif
-}
-
 #ifdef AIO
 void
 do_aio_rw(opnum_t opno, long r, int flags)
@@ -3732,61 +3670,6 @@ fiemap_f(opnum_t opno, long r)
 #endif
 }
 
-void
-freesp_f(opnum_t opno, long r)
-{
-#ifdef XFS_IOC_FREESP64
-	int		e;
-	pathname_t	f;
-	int		fd;
-	struct xfs_flock64	fl;
-	int64_t		lr;
-	off64_t		off;
-	struct stat64	stb;
-	int		v;
-	char		st[1024];
-
-	init_pathname(&f);
-	if (!get_fname(FT_REGFILE, r, &f, NULL, NULL, &v)) {
-		if (v)
-			printf("%d/%lld: freesp - no filename\n", procid, opno);
-		free_pathname(&f);
-		return;
-	}
-	fd = open_path(&f, O_RDWR);
-	e = fd < 0 ? errno : 0;
-	check_cwd();
-	if (fd < 0) {
-		if (v)
-			printf("%d/%lld: freesp - open %s failed %d\n",
-				procid, opno, f.path, e);
-		free_pathname(&f);
-		return;
-	}
-	if (fstat64(fd, &stb) < 0) {
-		if (v)
-			printf("%d/%lld: freesp - fstat64 %s failed %d\n",
-				procid, opno, f.path, errno);
-		free_pathname(&f);
-		close(fd);
-		return;
-	}
-	inode_info(st, sizeof(st), &stb, v);
-	lr = ((int64_t)random() << 32) + random();
-	off = (off64_t)(lr % MIN(stb.st_size + (1024 * 1024), MAXFSIZE));
-	off %= maxfsize;
-	fl.l_whence = SEEK_SET;
-	fl.l_start = off;
-	fl.l_len = 0;
-	e = xfsctl(f.path, fd, XFS_IOC_FREESP64, &fl) < 0 ? errno : 0;
-	if (v)
-		printf("%d/%lld: xfsctl(XFS_IOC_FREESP64) %s%s %lld 0 %d\n",
-		       procid, opno, f.path, st, (long long)off, e);
-	free_pathname(&f);
-	close(fd);
-#endif
-}
-
 void
 fsync_f(opnum_t opno, long r)
 {
diff --git a/tests/generic/070 b/tests/generic/070
index 678344fa..8a134f80 100755
--- a/tests/generic/070
+++ b/tests/generic/070
@@ -29,8 +29,6 @@ _require_attrs
 
 FSSTRESS_ARGS=`_scale_fsstress_args \
 	-d $TEST_DIR/fsstress \
-	-f allocsp=0 \
-	-f freesp=0 \
 	-f bulkstat=0 \
 	-f bulkstat1=0 \
 	-f resvsp=0 \
-- 
2.31.1


^ permalink raw reply related	[flat|nested] 2+ messages in thread

* Re: [PATCH] fsstress: remove ALLOCSP and FREESP operations entirely
  2022-04-26  6:24 [PATCH] fsstress: remove ALLOCSP and FREESP operations entirely Zorro Lang
@ 2022-04-27  3:35 ` Darrick J. Wong
  0 siblings, 0 replies; 2+ messages in thread
From: Darrick J. Wong @ 2022-04-27  3:35 UTC (permalink / raw)
  To: Zorro Lang; +Cc: fstests, linux-xfs

On Tue, Apr 26, 2022 at 02:24:11PM +0800, Zorro Lang wrote:
> From: Zorro Lang <zlang@redhat.com>
> 
> Due to upstream linux has removed ALLOCSP/FREESP ioctls by commit:
> 4d1b97f9ce7c0 ("xfs: kill the XFS_IOC_{ALLOC,FREE}SP* ioctls"), so
> let's remove ALLOCSP/FREESP testing from fsstress, to avoid more
> mismatch problems.
> 
> Due to g/070 specified "-f allocsp" and "-f freesp=0", so remove
> these two lines too.
> 
> Signed-off-by: Zorro Lang <zlang@redhat.com>

Hooray!!!
Reviewed-by: Darrick J. Wong <djwong@kernel.org>

--D

> ---
>  ltp/fsstress.c    | 117 ----------------------------------------------
>  tests/generic/070 |   2 -
>  2 files changed, 119 deletions(-)
> 
> diff --git a/ltp/fsstress.c b/ltp/fsstress.c
> index 23188467..b395bc4d 100644
> --- a/ltp/fsstress.c
> +++ b/ltp/fsstress.c
> @@ -86,7 +86,6 @@ static int renameat2(int dfd1, const char *path1,
>  
>  typedef enum {
>  	OP_AFSYNC,
> -	OP_ALLOCSP,
>  	OP_AREAD,
>  	OP_ATTR_REMOVE,
>  	OP_ATTR_SET,
> @@ -103,7 +102,6 @@ typedef enum {
>  	OP_FALLOCATE,
>  	OP_FDATASYNC,
>  	OP_FIEMAP,
> -	OP_FREESP,
>  	OP_FSYNC,
>  	OP_GETATTR,
>  	OP_GETDENTS,
> @@ -216,7 +214,6 @@ struct print_string {
>  #define XATTR_NAME_BUF_SIZE 18
>  
>  void	afsync_f(opnum_t, long);
> -void	allocsp_f(opnum_t, long);
>  void	aread_f(opnum_t, long);
>  void	attr_remove_f(opnum_t, long);
>  void	attr_set_f(opnum_t, long);
> @@ -233,7 +230,6 @@ void	dwrite_f(opnum_t, long);
>  void	fallocate_f(opnum_t, long);
>  void	fdatasync_f(opnum_t, long);
>  void	fiemap_f(opnum_t, long);
> -void	freesp_f(opnum_t, long);
>  void	fsync_f(opnum_t, long);
>  char	*gen_random_string(int);
>  void	getattr_f(opnum_t, long);
> @@ -281,7 +277,6 @@ char	*xattr_flag_to_string(int);
>  struct opdesc	ops[OP_LAST]	= {
>       /* [OP_ENUM]	   = {"name",	       function,	freq, iswrite }, */
>  	[OP_AFSYNC]	   = {"afsync",	       afsync_f,	0, 1 },
> -	[OP_ALLOCSP]	   = {"allocsp",       allocsp_f,	1, 1 },
>  	[OP_AREAD]	   = {"aread",	       aread_f,		1, 0 },
>  	[OP_ATTR_REMOVE]   = {"attr_remove",   attr_remove_f,	0, 1 },
>  	[OP_ATTR_SET]	   = {"attr_set",      attr_set_f,	0, 1 },
> @@ -298,7 +293,6 @@ struct opdesc	ops[OP_LAST]	= {
>  	[OP_FALLOCATE]	   = {"fallocate",     fallocate_f,	1, 1 },
>  	[OP_FDATASYNC]	   = {"fdatasync",     fdatasync_f,	1, 1 },
>  	[OP_FIEMAP]	   = {"fiemap",	       fiemap_f,	1, 1 },
> -	[OP_FREESP]	   = {"freesp",	       freesp_f,	1, 1 },
>  	[OP_FSYNC]	   = {"fsync",	       fsync_f,		1, 1 },
>  	[OP_GETATTR]	   = {"getattr",       getattr_f,	1, 0 },
>  	[OP_GETDENTS]	   = {"getdents",      getdents_f,	1, 0 },
> @@ -2042,62 +2036,6 @@ afsync_f(opnum_t opno, long r)
>  #endif
>  }
>  
> -void
> -allocsp_f(opnum_t opno, long r)
> -{
> -#ifdef XFS_IOC_ALLOCSP64
> -	int		e;
> -	pathname_t	f;
> -	int		fd;
> -	struct xfs_flock64	fl;
> -	int64_t		lr;
> -	off64_t		off;
> -	struct stat64	stb;
> -	int		v;
> -	char		st[1024];
> -
> -	init_pathname(&f);
> -	if (!get_fname(FT_REGFILE, r, &f, NULL, NULL, &v)) {
> -		if (v)
> -			printf("%d/%lld: allocsp - no filename\n", procid, opno);
> -		free_pathname(&f);
> -		return;
> -	}
> -	fd = open_path(&f, O_RDWR);
> -	e = fd < 0 ? errno : 0;
> -	check_cwd();
> -	if (fd < 0) {
> -		if (v)
> -			printf("%d/%lld: allocsp - open %s failed %d\n",
> -				procid, opno, f.path, e);
> -		free_pathname(&f);
> -		return;
> -	}
> -	if (fstat64(fd, &stb) < 0) {
> -		if (v)
> -			printf("%d/%lld: allocsp - fstat64 %s failed %d\n",
> -				procid, opno, f.path, errno);
> -		free_pathname(&f);
> -		close(fd);
> -		return;
> -	}
> -	inode_info(st, sizeof(st), &stb, v);
> -	lr = ((int64_t)random() << 32) + random();
> -	off = (off64_t)(lr % MIN(stb.st_size + (1024 * 1024), MAXFSIZE));
> -	off %= maxfsize;
> -	fl.l_whence = SEEK_SET;
> -	fl.l_start = off;
> -	fl.l_len = 0;
> -	e = xfsctl(f.path, fd, XFS_IOC_ALLOCSP64, &fl) < 0 ? errno : 0;
> -	if (v) {
> -		printf("%d/%lld: xfsctl(XFS_IOC_ALLOCSP64) %s%s %lld 0 %d\n",
> -		       procid, opno, f.path, st, (long long)off, e);
> -	}
> -	free_pathname(&f);
> -	close(fd);
> -#endif
> -}
> -
>  #ifdef AIO
>  void
>  do_aio_rw(opnum_t opno, long r, int flags)
> @@ -3732,61 +3670,6 @@ fiemap_f(opnum_t opno, long r)
>  #endif
>  }
>  
> -void
> -freesp_f(opnum_t opno, long r)
> -{
> -#ifdef XFS_IOC_FREESP64
> -	int		e;
> -	pathname_t	f;
> -	int		fd;
> -	struct xfs_flock64	fl;
> -	int64_t		lr;
> -	off64_t		off;
> -	struct stat64	stb;
> -	int		v;
> -	char		st[1024];
> -
> -	init_pathname(&f);
> -	if (!get_fname(FT_REGFILE, r, &f, NULL, NULL, &v)) {
> -		if (v)
> -			printf("%d/%lld: freesp - no filename\n", procid, opno);
> -		free_pathname(&f);
> -		return;
> -	}
> -	fd = open_path(&f, O_RDWR);
> -	e = fd < 0 ? errno : 0;
> -	check_cwd();
> -	if (fd < 0) {
> -		if (v)
> -			printf("%d/%lld: freesp - open %s failed %d\n",
> -				procid, opno, f.path, e);
> -		free_pathname(&f);
> -		return;
> -	}
> -	if (fstat64(fd, &stb) < 0) {
> -		if (v)
> -			printf("%d/%lld: freesp - fstat64 %s failed %d\n",
> -				procid, opno, f.path, errno);
> -		free_pathname(&f);
> -		close(fd);
> -		return;
> -	}
> -	inode_info(st, sizeof(st), &stb, v);
> -	lr = ((int64_t)random() << 32) + random();
> -	off = (off64_t)(lr % MIN(stb.st_size + (1024 * 1024), MAXFSIZE));
> -	off %= maxfsize;
> -	fl.l_whence = SEEK_SET;
> -	fl.l_start = off;
> -	fl.l_len = 0;
> -	e = xfsctl(f.path, fd, XFS_IOC_FREESP64, &fl) < 0 ? errno : 0;
> -	if (v)
> -		printf("%d/%lld: xfsctl(XFS_IOC_FREESP64) %s%s %lld 0 %d\n",
> -		       procid, opno, f.path, st, (long long)off, e);
> -	free_pathname(&f);
> -	close(fd);
> -#endif
> -}
> -
>  void
>  fsync_f(opnum_t opno, long r)
>  {
> diff --git a/tests/generic/070 b/tests/generic/070
> index 678344fa..8a134f80 100755
> --- a/tests/generic/070
> +++ b/tests/generic/070
> @@ -29,8 +29,6 @@ _require_attrs
>  
>  FSSTRESS_ARGS=`_scale_fsstress_args \
>  	-d $TEST_DIR/fsstress \
> -	-f allocsp=0 \
> -	-f freesp=0 \
>  	-f bulkstat=0 \
>  	-f bulkstat1=0 \
>  	-f resvsp=0 \
> -- 
> 2.31.1
> 

^ permalink raw reply	[flat|nested] 2+ messages in thread

end of thread, other threads:[~2022-04-27  3:35 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2022-04-26  6:24 [PATCH] fsstress: remove ALLOCSP and FREESP operations entirely Zorro Lang
2022-04-27  3:35 ` Darrick J. Wong

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.