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 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).