All of lore.kernel.org
 help / color / mirror / Atom feed
From: Murphy Zhou <xzhou@redhat.com>
To: ltp@lists.linux.it
Subject: [LTP] [PATCH v5 1/4] lib/tst_ioctl.c: add helper tst_fibmap
Date: Tue, 28 May 2019 12:39:26 +0800	[thread overview]
Message-ID: <20190528043929.19671-1-xzhou@redhat.com> (raw)
In-Reply-To: <20190523135518.GF30616@rei.lan>

To check if FIBMAP ioctl is supported on the filesystem we are
testing on. It also can check the support status of specific
files, but that may not needed for now.

Signed-off-by: Murphy Zhou <xzhou@redhat.com>
---
v5:
  Split to 4 patches
  Only take one filename parameter in tst_fibmap
  Add helper is_swap_supported to check swap operation support status
  Test fibmap/swapon and swapoff operation in the helper
  Keep NFS/TMPFS whitelist
  Keep BTRFS EINVAL handling logic, except above 2 situation:
    if swapon fails and fibmap is not supported, tst_brk with TCONF
    if swapon fails and fibmap is supported, tst_brk with TFAIL
  If swapon test pass in the helper, test swapoff similarly
  Put is_swap_supported helper in libswapon, link swapoff binaries to it
  Mute a sprintf filaname wanrning by the way
v4:
  Fail softly if FIBMAP nit supported, instead of skip entire testcase
v3:
  Fix fs_type undeclared in swapoff01.c
v2:
  Test FIBMAP instead of fstype whitelist

 include/tst_fs.h |  5 +++++
 lib/tst_ioctl.c  | 37 +++++++++++++++++++++++++++++++++++++
 2 files changed, 42 insertions(+)
 create mode 100644 lib/tst_ioctl.c

diff --git a/include/tst_fs.h b/include/tst_fs.h
index ebca065c6..6d03371ec 100644
--- a/include/tst_fs.h
+++ b/include/tst_fs.h
@@ -178,6 +178,11 @@ const char **tst_get_supported_fs_types(void);
  */
 void tst_fill_fs(const char *path, int verbose);
 
+/*
+ * test if FIBMAP ioctl is supported
+ */
+int tst_fibmap(const char *filename);
+
 #ifdef TST_TEST_H__
 static inline long tst_fs_type(const char *path)
 {
diff --git a/lib/tst_ioctl.c b/lib/tst_ioctl.c
new file mode 100644
index 000000000..38aa937db
--- /dev/null
+++ b/lib/tst_ioctl.c
@@ -0,0 +1,37 @@
+// SPDX-License-Identifier: GPL-2.0-or-later
+
+#include <errno.h>
+#include <stdio.h>
+#include <stdlib.h>
+#include <sys/ioctl.h>
+#include <linux/fs.h>
+
+#define TST_NO_DEFAULT_MAIN
+
+#include "tst_test.h"
+
+int tst_fibmap(const char *filename)
+{
+	/* test if FIBMAP ioctl is supported */
+	int fd, block = 0;
+
+	fd = open(filename, O_RDWR | O_CREAT, 0666);
+	if (fd < 0) {
+		tst_res(TWARN | TERRNO,
+			 "open(%s, O_RDWR | O_CREAT, 0666) failed", filename);
+		return 1;
+	}
+
+	if (ioctl(fd, FIBMAP, &block)) {
+		tst_res(TINFO, "FIBMAP ioctl is NOT supported");
+		close(fd);
+		return 1;
+	}
+	tst_res(TINFO, "FIBMAP ioctl is supported");
+
+	if (close(fd)) {
+		tst_res(TWARN | TERRNO, "close(fd) failed");
+		return 1;
+	}
+	return 0;
+}
-- 
2.21.0


  parent reply	other threads:[~2019-05-28  4:39 UTC|newest]

Thread overview: 55+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2019-04-30  7:14 [LTP] [PATCH] syscalls/swapon02: Do not fail on overlayfs Murphy Zhou
2019-04-30  8:14 ` Li Wang
2019-04-30  8:30   ` Murphy Zhou
2019-04-30  8:54     ` Li Wang
2019-04-30  9:08       ` Murphy Zhou
2019-04-30  9:21         ` Li Wang
2019-04-30  9:29           ` Murphy Zhou
2019-04-30  9:37           ` Amir Goldstein
2019-04-30  9:54             ` Murphy Zhou
2019-04-30 15:29               ` [LTP] [PATCH v2] syscalls/swap{on, off}: skip if FIBMAP ioctl trial fails Murphy Zhou
2019-04-30 23:59                 ` [LTP] [PATCH v3] " Murphy Zhou
2019-05-07  8:52                   ` Li Wang
2019-05-08  3:43                     ` Murphy Zhou
2019-05-08 10:22                       ` Amir Goldstein
2019-05-08 14:38                         ` Murphy Zhou
2019-05-10  4:42                         ` [LTP] [PATCH v4] syscalls/swap{on, off}: fail softly " Murphy Zhou
2019-05-10  5:27                           ` Amir Goldstein
2019-05-10  8:15                             ` Murphy Zhou
2019-05-10  8:48                               ` Amir Goldstein
2019-05-11  4:20                                 ` Murphy Zhou
2019-05-11  9:30                                   ` Amir Goldstein
2019-05-13  7:39                                     ` Murphy Zhou
2019-05-23 13:55                                       ` Cyril Hrubis
2019-05-23 14:06                                         ` Murphy Zhou
2019-05-28  4:39                                         ` Murphy Zhou [this message]
2019-05-28  4:39                                           ` [LTP] [PATCH v5 2/4] swapon/libswapon: add helper is_swap_supported Murphy Zhou
2019-05-28  5:56                                             ` Amir Goldstein
2019-05-28  8:33                                               ` Murphy Zhou
2019-05-28  9:56                                               ` Murphy Zhou
2019-05-28 11:59                                                 ` Amir Goldstein
2019-05-28 14:12                                                   ` [LTP] [PATCH v6 1/4] lib/tst_ioctl.c: add helper tst_fibmap Murphy Zhou
2019-05-28 14:12                                                     ` [LTP] [PATCH v6 2/4] swapon/libswapon: add helper is_swap_supported Murphy Zhou
2019-05-28 14:52                                                       ` Amir Goldstein
2019-06-05  5:51                                                       ` Li Wang
2019-06-05  6:55                                                         ` Li Wang
2019-06-05  9:30                                                           ` Murphy Zhou
2019-06-05  9:53                                                             ` Li Wang
2019-06-10  6:12                                                               ` Murphy Zhou
2019-06-10  9:28                                                                 ` Li Wang
2019-06-11  7:47                                                                   ` [PATCH v7 1/4] lib/tst_ioctl.c: add helper tst_fibmap Murphy Zhou
2019-06-11  7:47                                                                     ` [LTP] " Murphy Zhou
2019-06-11  7:47                                                                     ` [PATCH v7 2/4] swapon/libswapon: add helper is_swap_supported Murphy Zhou
2019-06-11  7:47                                                                       ` [LTP] " Murphy Zhou
2019-06-11  7:47                                                                     ` [PATCH v7 3/4] syscalls/swapon/swapon0{1..3}: use helpers to check support status Murphy Zhou
2019-06-11  7:47                                                                       ` [LTP] " Murphy Zhou
2019-06-11  7:47                                                                     ` [PATCH v7 4/4] syscalls/swapoff/swapoff0{1,2}: " Murphy Zhou
2019-06-11  7:47                                                                       ` [LTP] [PATCH v7 4/4] syscalls/swapoff/swapoff0{1, 2}: " Murphy Zhou
2019-06-30  1:51                                                                     ` [LTP] [PATCH v7 1/4] lib/tst_ioctl.c: add helper tst_fibmap Murphy Zhou
2019-07-16  5:19                                                                     ` Li Wang
2019-05-28 14:12                                                     ` [LTP] [PATCH v6 3/4] syscalls/swapon/swapon0{1..3}: use helper to check support status Murphy Zhou
2019-05-28 14:12                                                     ` [LTP] [PATCH v6 4/4] syscalls/swapoff/swapoff0{1, 2}: " Murphy Zhou
2019-06-05  4:44                                                     ` [LTP] [PATCH v6 1/4] lib/tst_ioctl.c: add helper tst_fibmap Murphy Zhou
2019-06-05  5:40                                                     ` Li Wang
2019-05-28  4:39                                           ` [LTP] [PATCH v5 3/4] syscalls/swapon/swapon0{1..3}: use helper to check support status Murphy Zhou
2019-05-28  4:39                                           ` [LTP] [PATCH v5 4/4] syscalls/swapoff/swapoff01: " Murphy Zhou

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=20190528043929.19671-1-xzhou@redhat.com \
    --to=xzhou@redhat.com \
    --cc=ltp@lists.linux.it \
    /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.