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
>
prev parent 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.