All of lore.kernel.org
 help / color / mirror / Atom feed
From: "Darrick J. Wong" <djwong@kernel.org>
To: Zorro Lang <zlang@kernel.org>
Cc: fstests@vger.kernel.org, linux-xfs@vger.kernel.org
Subject: Re: [PATCH] fsstress: remove ALLOCSP and FREESP operations entirely
Date: Tue, 26 Apr 2022 20:35:33 -0700	[thread overview]
Message-ID: <20220427033533.GJ17014@magnolia> (raw)
In-Reply-To: <20220426062411.3119027-1-zlang@kernel.org>

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
> 

      reply	other threads:[~2022-04-27  3:35 UTC|newest]

Thread overview: 2+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2022-04-26  6:24 [PATCH] fsstress: remove ALLOCSP and FREESP operations entirely Zorro Lang
2022-04-27  3:35 ` Darrick J. Wong [this message]

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20220427033533.GJ17014@magnolia \
    --to=djwong@kernel.org \
    --cc=fstests@vger.kernel.org \
    --cc=linux-xfs@vger.kernel.org \
    --cc=zlang@kernel.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
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.