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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox