fstests.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Mauricio Faria de Oliveira <mfo@canonical.com>
To: fstests@vger.kernel.org
Cc: Amir Goldstein <amir73il@gmail.com>
Subject: [PATCH v2 3/5] common/rc: introduce new helper function _fs_type_dev_dir()
Date: Fri, 14 Feb 2020 12:18:46 -0300	[thread overview]
Message-ID: <20200214151848.8328-4-mfo@canonical.com> (raw)
In-Reply-To: <20200214151848.8328-1-mfo@canonical.com>

In order to determine the fs type on fuse-overlayfs (coming)
we need to search for the mount point/directory; the device
is not enough. (details in the next patch.)

Thus the _fs_type() function is insufficient to determine
the filesystem type, as it only searches for mount device.

So, introduce the _fs_type_dev_dir() function, which also
searches for the mountpoint/dir in addition to the device.

The fs type fix-up sed script goes into a common function.

P.S.: there might be other sites that need similar changes,
since the mount device is also checked elsewhere, but just
with this bit tests can run, so it is good enough for now.)

Signed-off-by: Mauricio Faria de Oliveira <mfo@canonical.com>
---
 common/rc | 36 ++++++++++++++++++++++++++++--------
 1 file changed, 28 insertions(+), 8 deletions(-)

diff --git a/common/rc b/common/rc
index 1feae1a94f9e..5711eca2a1d2 100644
--- a/common/rc
+++ b/common/rc
@@ -1262,6 +1262,19 @@ _used()
     _df_device $1 | $AWK_PROG '{ sub("%", "") ; print $6 }'
 }
 
+# fix filesystem type up
+#
+_fix_fs_type()
+{
+    #
+    # The Linux kernel shows NFSv4 filesystems in df output as
+    # filesystem type nfs4, although we mounted it as nfs earlier.
+    # Fix the filesystem type up here so that the callers don't
+    # have to bother with this quirk.
+    #
+    sed -e 's/nfs4/nfs/' -e 's/fuse.glusterfs/glusterfs/'
+}
+
 # return the FS type of a mounted device
 #
 _fs_type()
@@ -1272,14 +1285,21 @@ _fs_type()
 	exit 1
     fi
 
-    #
-    # The Linux kernel shows NFSv4 filesystems in df output as
-    # filesystem type nfs4, although we mounted it as nfs earlier.
-    # Fix the filesystem type up here so that the callers don't
-    # have to bother with this quirk.
-    #
-    _df_device $1 | $AWK_PROG '{ print $2 }' | \
-        sed -e 's/nfs4/nfs/' -e 's/fuse.glusterfs/glusterfs/'
+    _df_device $1 | $AWK_PROG '{ print $2 }' | _fix_fs_type
+}
+
+# return the FS type of a mounted device
+# on a mount point directory (check both)
+#
+_fs_type_dev_dir()
+{
+    if [ $# -ne 2 ]
+    then
+	echo "Usage: _fs_type_dev_dir device directory" 1>&2
+	exit 1
+    fi
+
+    _df_dir $2 | $AWK_PROG -v what=$1 '($1==what) { print $2 }' | _fix_fs_type
 }
 
 # return the FS mount options of a mounted device
-- 
2.20.1


  parent reply	other threads:[~2020-02-14 15:19 UTC|newest]

Thread overview: 13+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2020-02-14 15:18 [PATCH v2 0/5] fstests: overlay: initial support for aufs and Mauricio Faria de Oliveira
2020-02-14 15:18 ` [PATCH v2 1/5] common/overlay,rc,config: introduce OVL_FSTYP variable and aufs Mauricio Faria de Oliveira
2020-02-14 22:06   ` Amir Goldstein
2020-02-14 15:18 ` [PATCH v2 2/5] tests/overlay: mount: replace overlay hardcode with OVL_FSTYP variable Mauricio Faria de Oliveira
2020-02-14 22:12   ` Amir Goldstein
2020-02-14 15:18 ` Mauricio Faria de Oliveira [this message]
2020-02-14 22:20   ` [PATCH v2 3/5] common/rc: introduce new helper function _fs_type_dev_dir() Amir Goldstein
2020-02-14 15:18 ` [PATCH v2 4/5] common/rc: add quirks for fuse-overlayfs device/mount point Mauricio Faria de Oliveira
2020-02-14 22:37   ` Amir Goldstein
2020-02-14 15:18 ` [PATCH v2 5/5] common/overlay: silence some mount messages for fuse-overlayfs Mauricio Faria de Oliveira
2020-02-14 22:51   ` Amir Goldstein
2020-02-14 18:45 ` [PATCH v2 0/5] fstests: overlay: initial support for aufs and Amir Goldstein
2020-02-17 15:44   ` Mauricio Faria de Oliveira

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=20200214151848.8328-4-mfo@canonical.com \
    --to=mfo@canonical.com \
    --cc=amir73il@gmail.com \
    --cc=fstests@vger.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;
as well as URLs for NNTP newsgroup(s).