From: Eryu Guan <guaneryu@gmail.com>
To: Xiao Yang <yangx.jy@cn.fujitsu.com>
Cc: fstests@vger.kernel.org, osandov@fb.com
Subject: Re: [PATCH v2] common/rc: Fix mismatched output from standard mkswap
Date: Sat, 15 Dec 2018 20:29:10 +0800 [thread overview]
Message-ID: <20181215122910.GU3889@desktop> (raw)
In-Reply-To: <1544774247-14706-1-git-send-email-yangx.jy@cn.fujitsu.com>
On Fri, Dec 14, 2018 at 03:57:27PM +0800, Xiao Yang wrote:
> With older util-linux(e.g. v2.17.2), running some tests(e.g. generic/472,
> generic/495) got the following output:
> -------------------------------------------------------
> +mkswap: /mnt/xfstests/scratch/swap: warning: don't erase bootbits sectors
> + on whole disk. Use -f to force.
> +mkswap: unable to relabel /mnt/xfstests/scratch/swap to system_u:object_r:swapfile_t:s0: Operation not supported
> -------------------------------------------------------
>
> 1) Before commit c1f1b30 of util-linux, mkswap didn't zap bootbits sectors
> and printed a warning until force option(i.e. -f) was given. We try to
> add the force option.
>
> 2) With mounting default SELinux context(e.g. system_u:object_r:root_t:s0),
> standard mkswap tried to reset the type of default context to swapfile_t
> if it is not swapfile_t, and then it failed and returned ENOTSUP expectedly
> as we don't want to create any SELinux attr on purpose. standard mkswap
> ignored this relabel error by commit d97dc0e of util-linux, but it still
> reported the error before commit d97dc0e. We try to skip the reset step
> in standard mkswap by mounting swapfile context.
>
> Note:
> We just mount swapfile context in related tests, and keep default context
> in the rest of tests.
>
> Signed-off-by: Xiao Yang <yangx.jy@cn.fujitsu.com>
> ---
> common/rc | 4 +++-
> 1 file changed, 3 insertions(+), 1 deletion(-)
>
> diff --git a/common/rc b/common/rc
> index e5da648..4bdb870 100644
> --- a/common/rc
> +++ b/common/rc
> @@ -2210,7 +2210,7 @@ _format_swapfile() {
> # Swap files must be nocow on Btrfs.
> $CHATTR_PROG +C "$fname" > /dev/null 2>&1
> _pwrite_byte 0x61 0 "$sz" "$fname" >> $seqres.full
> - mkswap "$fname" >> $seqres.full
> + mkswap -f "$fname" >> $seqres.full
I looked at it again, and realized that we have other places that call
mkswap would have the same problem, e.g. btrfs/173 and xfs/419.
So I think it'd be better to introduce MKSWAP_PROG and make it
"mkswap -f" and use $MKSWAP_PROG here and in tests, so we don't have to
worry about this issue for new tests.
> }
>
> # Check that the filesystem supports swapfiles
> @@ -2219,6 +2219,8 @@ _require_scratch_swapfile()
> _require_scratch
>
> _scratch_mkfs >/dev/null
> + [ -n "$SELINUX_MOUNT_OPTIONS" ] && export \
> + SELINUX_MOUNT_OPTIONS="-o context=system_u:object_r:swapfile_t:s0"
Better to add comments on why we're doing this.
Thanks!
Eryu
> _scratch_mount
>
> # Minimum size for mkswap is 10 pages
> --
> 1.8.3.1
>
>
>
next prev parent reply other threads:[~2018-12-15 12:29 UTC|newest]
Thread overview: 6+ messages / expand[flat|nested] mbox.gz Atom feed top
2018-06-05 9:21 [PATCH] common/rc: Fix mismatched output from standard mkswap Xiao Yang
2018-06-07 9:52 ` Eryu Guan
2018-06-08 4:06 ` Xiao Yang
2018-12-14 7:57 ` [PATCH v2] " Xiao Yang
2018-12-15 12:29 ` Eryu Guan [this message]
2018-12-21 9:33 ` [PATCH v3] common: " Xiao Yang
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=20181215122910.GU3889@desktop \
--to=guaneryu@gmail.com \
--cc=fstests@vger.kernel.org \
--cc=osandov@fb.com \
--cc=yangx.jy@cn.fujitsu.com \
/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.