From: Stanislav Brabec <sbrabec@suse.cz>
To: util-linux@vger.kernel.org, David Sterba <dsterba@suse.cz>
Subject: Re: [PATCH] tests: add btrfs mount tests (fails!)
Date: Tue, 2 Feb 2016 21:14:48 +0100 [thread overview]
Message-ID: <56B10E38.7040407@suse.cz> (raw)
In-Reply-To: <56B0EEB2.1060707@suse.cz>
Stanislav Brabec wrote:
> Coverage:
I just found a bug in my testcase:
To prevent race bind-mnt has to be created in time of fs creation.
btrfs subvol create s3 >/dev/null
+mkdir -p s3/bind-mnt
popd >/dev/null
But, what is worse, I found a problem in previous patches.
Things are even more complicated than I thought, and patches still not
cover all cases.
Up to now, I have been thinking that device + subvolid is unique
identifier in the mountinfo. But it is not true, at least not when bind
mounts take its role.
Using bind mounts that point to a sub-directory of a subvolume of btrfs
results in two lines in mountinfo that have the same subvolid but
different subvol.
Second "mount -a" then fails badly. Not only that it mounts the bind
mount second time, it also mistakenly mounts another volume over a
previously mounted volume.
dev/loop0 on
/home/sbrabec/VCS/util-linux/tests/output/mount/fstab-btrfs-mnt-subvol
type btrfs
(rw,relatime,space_cache,subvolid=258,subvol=/d0/dd0/ddd0/d2/dd2/ddd2/s3/bind-mnt)
=> totally wrong
We are back on the beginning.
I have to re-evaluate all patches I sent up to now.
TODO:
Check whether it is possible to directly mount sub-directory of
sub-volume that is not a subvolume per self.
If yes:
- We will need to introduce full path evaluation of btrfs sub-volume,
and always compare it with mountinfo.
If not:
- We will have to search the whole mountinfo for a particular subvolid
and and find a shortest subvol string.
David, could you bring some light into it?
--
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-02 20:14 UTC|newest]
Thread overview: 16+ messages / expand[flat|nested] mbox.gz Atom feed top
2016-02-02 18:00 [PATCH] tests: add btrfs mount tests Stanislav Brabec
2016-02-02 20:14 ` Stanislav Brabec [this message]
2016-02-03 17:00 ` [PATCH] tests: add btrfs mount tests (fails!) Stanislav Brabec
2016-02-03 18:39 ` Stanislav Brabec
2016-02-10 16:03 ` another mount -a problem, not related to btrfs Stanislav Brabec
2016-02-11 9:43 ` [PATCH] tests: add btrfs mount tests (fails!) Karel Zak
2016-02-11 13:47 ` Stanislav Brabec
2016-02-11 16:34 ` Stanislav Brabec
2016-02-11 18:07 ` [PATCH] tests: add btrfs mount tests Stanislav Brabec
2016-02-12 9:38 ` Karel Zak
2016-02-12 10:07 ` [PATCH] tests: add btrfs mount tests (fails!) Karel Zak
2016-02-19 15:02 ` Stanislav Brabec
2016-03-09 19:13 ` Stanislav Brabec
2016-03-14 1:20 ` [PATCH] tests: add btrfs mount tests Ruediger Meier
2016-03-14 14:19 ` Stanislav Brabec
2016-03-14 23:27 ` Ruediger Meier
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=56B10E38.7040407@suse.cz \
--to=sbrabec@suse.cz \
--cc=dsterba@suse.cz \
--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 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.