From: Ruediger Meier <sweet_f_a@gmx.de>
To: Karel Zak <kzak@redhat.com>
Cc: util-linux@vger.kernel.org
Subject: Re: question about findmnt --target
Date: Tue, 17 Mar 2015 18:14:00 +0100 [thread overview]
Message-ID: <201503171814.00580.sweet_f_a@gmx.de> (raw)
In-Reply-To: <20150317163426.GW28925@ws.net.home>
On Tuesday 17 March 2015, Karel Zak wrote:
> On Tue, Mar 17, 2015 at 04:08:58PM +0100, Ruediger Meier wrote:
> > Hi,
> >
> > I wonder what is the correct way to find a mount which is mounted
> > to a certain target directory. findmnt --target will also find a
> > mount if you specify a subdirectory of a mountpoint:
> >
> > $ mkdir /tmp/bla
> > $ findmnt --target /tmp/bla
> > TARGET SOURCE FSTYPE OPTIONS
> > /tmp /dev/mapper/vg0-tmpdirs[/tmp] ext4 ....
> >
> > The man page let me think that --target should not find the parent
> > directory.
>
> No, it's expected behavior since:
>
> commit b215d8e9a71ca8d22df6111ddc9d28bd896febb1
> Author: Dave Reisner <dreisner@archlinux.org>
> Date: Wed Apr 25 20:30:52 2012 -0400
Ok, but this was a regression for a common use case. I guess to late to
revert. Even you liked this old behavior:
commit 1f42e1089aadbe537bb59143502ebd1767d3f7ea
Author: Karel Zak <kzak@redhat.com>
Date: Sun Jan 2 22:56:31 2011 +0100
tests: use findmnt(8) for mount --move test
> and the current git tree contains:
>
> -T, --target path
> Explicitly define the mount target (mountpoint
> directory). If the path is not a mountpoint file
> or directory than findmnt checks path elements in
> reverse order for get the mountpoint (this
> feature is supported only if search in kernel
> files and unsupported for --fstab).
Ah ok, but IMO because of this regression we should make it even more
clear. Probably the first sentence should not contain "mount target"
and "mountpoint" without also using the term "parent directory" or
similar.
I think for df(1) it's written nicely:
df [OPTION]... [FILE]...
Show information about the file system on which each FILE resides, or
all file systems by default.
> > $TS_CMD_MOUNT --move $DIR_A $DIR_B
> >
> > # check the move
> > $TS_CMD_FINDMNT --kernel --target "$DIR_B" &> /dev/null
> > [ "$?" == "0" ] || ts_die "Cannot find binded $DIR_B"
> > [...]
> >
> > This findmnt line will never fail I guess.
>
> Right, this is mistake, solution is to remove --target:
>
> TS_CMD_FINDMNT --kernel "$DIR_B" &> /dev/null
>
> The disadvantage is that without --source/target findmnt(8) tries
> to use the path as source and then as target. It's bad in same cases.
>
> Maybe we need a new option to disable the evaluation of the target
> path elements. (--strict-target)
What about "findmnt --target /bla/xyz --no-parents" instead
of --strict-target?
I have to admint that I don't really like the current behavior
of --target and the default case without --source/target. Of course we
can't change it anymore.
cu,
Rudi
next prev parent reply other threads:[~2015-03-17 17:14 UTC|newest]
Thread overview: 10+ messages / expand[flat|nested] mbox.gz Atom feed top
2015-03-17 15:08 question about findmnt --target Ruediger Meier
2015-03-17 16:34 ` Karel Zak
2015-03-17 17:14 ` Ruediger Meier [this message]
2015-03-17 19:25 ` Karel Zak
2015-03-18 13:50 ` Ruediger Meier
2015-03-18 22:05 ` Karel Zak
2015-03-18 7:33 ` Bernhard Voelker
2015-03-18 10:17 ` Karel Zak
2015-03-18 10:39 ` Ruediger Meier
2015-03-18 11:22 ` Karel Zak
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=201503171814.00580.sweet_f_a@gmx.de \
--to=sweet_f_a@gmx.de \
--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