Util-Linux package development
 help / color / mirror / Atom feed
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

  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