From: Stanislav Brabec <sbrabec@suse.cz>
To: Karel Zak <kzak@redhat.com>
Cc: util-linux@vger.kernel.org, "David Štěrba" <dsterba@suse.cz>
Subject: Re: [PATCH] libmount: handle btrfs default subvolume mount
Date: Mon, 1 Feb 2016 16:38:17 +0100 [thread overview]
Message-ID: <56AF7BE9.4000302@suse.cz> (raw)
In-Reply-To: <20160201121811.tk3eqsr5x3w44p34@ws.net.home>
Karel Zak wrote:
> I did some changes to the code:
>
> * use mnt_resolve_target() rather than mnt_resolve_spec() for target
> * move all to get_btrfs_fs_root()
> * make the basic if/else more readable
By the way, I am just fixing next btrfs issue. Now it is in blkid. And
it seems, that I will need some changes in the code: move the btrfs
default subvol function into the public API, and change it to return the
subvolid string.
What do you think? Should I make this function linux or linux+btrfs
specific (missing in the API/ABI otherwise, where include file would
contain #define MOUNT_HAS_BTRFS_SUPPORT or so), or implement it for all
systems. On unsupported systems it would always return NULL (the define
could exist in this case as well, but it would be optional).
> Please, please, test it.
I'll test it. I think that the attached reproducer should work on any
system with btrfs support.
> It would be nice to have tests/ts/mount/btrfs with all the "mount -a"
> variants you have in commit messages.
Are there any rules/framework for such tests that need root and editing
of /etc/fstab?
I think that use of losetup and /dev/loopX can be used for most
testcases. I am not sure about kernel partition table support inside
loop devices.
And by the way, loop it the only device that can be used for TRIM
testing: TRIM is internally converted to making unused blocks sparse.
Here is an example of TRIM testcase using loop:
dd if=/dev/null of=loop.img seek=1000000
mkfs.btrfs /root/loop.img
mount -oloop /root/loop.img /mnt
filefrag -e loop.img
for i in $(seq 0 100) ; do dd if=/dev/urandom of=/mnt/file$i bs=1M
count=10 ; done
filefrag -e loop.img
rm /mnt/file*
fstrim /mnt
# wait some time to complete
filefrag -e loop.img
--
Best Regards / S pozdravem,
Stanislav Brabec
software developer
---------------------------------------------------------------------
SUSE LINUX, s. r. o. e-mail: sbrabec@suse.com
Lihovarská 1060/12 tel: +49 911 7405384547
190 00 Praha 9 fax: +420 284 084 001
Czech Republic http://www.suse.cz/
PGP: 830B 40D5 9E05 35D8 5E27 6FA3 717C 209F A04F CD76
next prev parent reply other threads:[~2016-02-01 15:38 UTC|newest]
Thread overview: 18+ messages / expand[flat|nested] mbox.gz Atom feed top
2016-01-20 20:34 [PATCH] libmount: handle btrfs default subvolume mount Stanislav Brabec
2016-01-20 21:51 ` Stanislav Brabec
2016-01-20 21:57 ` Stanislav Brabec
2016-01-21 9:48 ` Karel Zak
2016-01-21 15:24 ` Stanislav Brabec
2016-01-21 15:37 ` Karel Zak
2016-01-21 15:45 ` Karel Zak
2016-01-21 17:24 ` Stanislav Brabec
2016-01-22 8:42 ` David Sterba
2016-01-21 21:58 ` Stanislav Brabec
2016-01-26 10:15 ` Karel Zak
2016-01-28 14:22 ` Stanislav Brabec
2016-02-01 12:18 ` Karel Zak
2016-02-01 15:38 ` Stanislav Brabec [this message]
2016-02-02 10:11 ` Karel Zak
2016-02-02 15:04 ` Stanislav Brabec
2016-02-02 18:43 ` Karel Zak
2016-02-02 19:36 ` Stanislav Brabec
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=56AF7BE9.4000302@suse.cz \
--to=sbrabec@suse.cz \
--cc=dsterba@suse.cz \
--cc=kzak@redhat.com \
--cc=util-linux@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