Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 27 Feb 2019 09:12:13 +0200
From:      Andriy Gapon <avg@FreeBSD.org>
To:        Cy Schubert <Cy.Schubert@cschubert.com>
Cc:        Baptiste Daroussin <bapt@freebsd.org>, src-committers <src-committers@freebsd.org>, svn-src-head@FreeBSD.ORG, Jack Halford <jack@gandi.net>
Subject:   Re: svn commit: r344569 - in head/cddl/contrib/opensolaris: cmd/zfs lib/libzfs/common
Message-ID:  <0563e72c-c9e3-a476-ce43-d4a67c454508@FreeBSD.org>
In-Reply-To: <201902262058.x1QKwvJn018213@slippy.cwsent.com>
References:  <201902262058.x1QKwvJn018213@slippy.cwsent.com>

next in thread | previous in thread | raw e-mail | index | archive | help
On 26/02/2019 22:58, Cy Schubert wrote:
> I was talking about nested datasets, i.e. tank/freebsd/git/current and 
> tank/freebsd/git/ports are four levels deep.

We usually don't call them "nested".  In fact, I don't think that we call them
anything special because having N levels deep datasets (N > 1) is just a common
thing.  We may call them subordinate or child datasets when mentioning a
relation to a parent dataset.

> In my case the ports 
> dataset was mounted while the current dataset was not, though zfs 
> believed it was. unmounting the current dataset and remounting it, zfs 
> umount .../current; zfs mount .../current worked around the issue.

Are you sure that it was not mounted?
Have you checked that by looking at mount output?
I suspect that it was mounted, just not where you expected and its mount path
was covered by another filesystem.

E.g., lets consider this hypothetical case.
I have two same level datasets tank/freebsd/src and tank/freebsd/sys where
tank/freebsd/src is mounted at /usr/src and tank/freebsd/sys is mounted at
/usr/src/sys (a child directory of /usr/src).
If tank/freebsd/src is mounted first, then everything is okay, tank/freebsd/sys
would be mounted on top of sys directory in tank/freebsd/src.
If, however, tank/freebsd/sys is mounted first (assuming that path /usr/src/sys
exists in a root filesystem), then mounting tank/freebsd/src would simply hide
tank/freebsd/sys "below" it as /usr/src/sys would be sys directory in
tank/freebsd/src.

I guess that this is a kind of problem that could be introduced with parallel
mounting.  And I guess that this is a kind of problem that you might actually
have.  But it's just a guess.

-- 
Andriy Gapon



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?0563e72c-c9e3-a476-ce43-d4a67c454508>