From: Petr Vorel <pvorel@suse.cz>
To: ltp@lists.linux.it
Subject: [LTP] [PATCH 3/5] zram01.sh: Check properly mkfs.* dependencies
Date: Fri, 29 Jan 2021 18:59:11 +0100 [thread overview]
Message-ID: <YBRM7w0dNypJm2tD@pevik> (raw)
In-Reply-To: <YBQzlEoPLUAT3NFi@yuki.lan>
Hi Cyril,
> Hi!
> > +check_fs_support()
> > +{
> > + local fs unsupported
> > + local msg="missing kernel support or mkfs for filesystems:"
> > + dev_num=0
> > +
> > + for fs in $zram_filesystems; do
> > + if tst_supported_fs $fs 2> /dev/null; then
> Why are we silencing the output here?
> > + dev_num=$((dev_num+1))
> > + else
> > + unsupported="$unsupported $fs"
> > + fi
> > + done
> Maybe we should put the Btrfs space check here as well, so that all
> checks are in a single place.
> > + if [ $dev_num -eq 0 -a "$fallback_filesystem" != "$FS_TYPE" ]; then
> > + if tst_supported_fs $fallback_filesystem 2> /dev/null; then
> > + dev_num=1
> > + fi
> > + fi
> > +
> > + if [ $dev_num -eq 0 ]; then
> > + tst_res TINFO "filesystems on the system"
> > + tst_supported_fs > /dev/null
> And producing different output here.
> > + msg="$msg $zram_filesystems"
> > + if [ "$fallback_filesystem" != "$FS_TYPE" ]; then
> > + msg="$msg $fallback_filesystem"
> > + fi
> > + tst_brk TCONF "$msg"
> > + fi
> > +
> > + [ "$unsupported" ] && tst_res TINFO "$msg$unsupported"
> And here.
> I guess that we end up with a bit nicer output but the code is much more
> complex.
You're right.
> Also I'm confused how this is supposed to work, we do limit the dev_num
> but the zram_filesystems is untouched? That isn't going to work right.
It actually works due this check in functions it uses:
[ $i -eq $dev_num ] && break
(maybe more readable to use -ge ).
> I guess the best shoot would be generating the zram_filesystems here on
> the fly based on output of the tst_supported_fs.
Very good idea. I still wasn't happy with the patchset and this was the missing
piece. Also generating other variables. I overlooked that only size for BTRFS is
different. In that case [ $i -eq $dev_num ] && break should not be needed.
I also introduced fallback_filesystem, because I thought that FS_TYPE and FS_SIZE
(as uppercase) are for LTP API. But they're not, that's TST_FS_TYPE (and there
is no *SIZE variable). These (if still used) should be lower case).
Thanks for your review!
Kind regards,
Petr
next prev parent reply other threads:[~2021-01-29 17:59 UTC|newest]
Thread overview: 13+ messages / expand[flat|nested] mbox.gz Atom feed top
2021-01-29 12:18 [LTP] [PATCH 0/5] zram cleanup Petr Vorel
2021-01-29 12:18 ` [LTP] [PATCH 1/5] zram: Require root Petr Vorel
2021-01-29 14:09 ` Cyril Hrubis
2021-01-29 15:40 ` Petr Vorel
2021-01-29 12:18 ` [LTP] [PATCH 2/5] zram: Calculate dev_num variable Petr Vorel
2021-01-29 14:17 ` Cyril Hrubis
2021-01-29 12:18 ` [LTP] [PATCH 3/5] zram01.sh: Check properly mkfs.* dependencies Petr Vorel
2021-01-29 16:11 ` Cyril Hrubis
2021-01-29 17:59 ` Petr Vorel [this message]
2021-01-29 18:34 ` Cyril Hrubis
2021-01-29 19:21 ` Petr Vorel
2021-01-29 12:18 ` [LTP] [PATCH 4/5] zram: Move zram_compress_alg() to zram02.sh Petr Vorel
2021-01-29 12:18 ` [LTP] [PATCH 5/5] zram: Move test specific functions out of zram_lib.sh Petr Vorel
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=YBRM7w0dNypJm2tD@pevik \
--to=pvorel@suse.cz \
--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.