Skip site navigation (1)Skip section navigation (2)
Date:      Fri, 15 Feb 2013 18:07:30 +0100
From:      Harald Schmalzbauer <h.schmalzbauer@omnilan.de>
To:        Mateusz Guzik <mjguzik@gmail.com>, freebsd-jail@freebsd.org
Cc:        freebsd-stable@freebsd.org
Subject:   Re: mount lag, umounting returns wrong "Device busy"
Message-ID:  <511E6B52.4020203@omnilan.de>
In-Reply-To: <20130215165052.GA11727@dft-labs.eu>
References:  <511E65A4.1050304@omnilan.de> <20130215165052.GA11727@dft-labs.eu>

next in thread | previous in thread | raw e-mail | index | archive | help
This is an OpenPGP/MIME signed message (RFC 2440 and 3156)
--------------enig438B4AF40B8778F9AB84DB45
Content-Type: text/plain; charset=ISO-8859-1
Content-Transfer-Encoding: quoted-printable

 schrieb Mateusz Guzik am 15.02.2013 17:50 (localtime):
> On Fri, Feb 15, 2013 at 05:43:16PM +0100, Harald Schmalzbauer wrote:
>>  Hello,
>>
>> while playing with new jail features, I recognized that manually
>> umounting doesn't work as I'd expect.
>> After jail has been destroyed, the following mountpoint is active:
>>     /dev/gpt/jailname1ROOT on /.jail.jailname1 (ufs, local, read-only)=

>>
>> There was var mounted to /.jail.jailname1/var but that sucessfully umo=
unted.
>> 'fstat' also shows no open files in /.jail.jailname1
>>
>> But when I do 'umount /.jail.jailname' I get "Device busy" returned.
>> Some minutes later umounting works.
>> But I always have to wait some time, although nothing is open and
>> nothing is mounted above.
>>
>> Does anybody have an idea what could cause that false "Device busy"?
>>
> My guess is that the jail was not dead yet and it held a reference for
> /.jail.jailname1's vnode.
>
> jls -v should show the jail.
>
> I don't know if this can happen, but my guess is that not-yet-expired
> network connections hold reference to a jail preventing it from being
> destroyed. So I would definitely checkout netstat output. There may be
> other posibilities, but nothing obvious comes to my mind at the moment.=


Good hint, I found out that returning the NIC (using jail with vnet)
takes some time and as soon as the NIC shows up back in the host, I also
can umount the jail's root mount point.
I have no idea about the internals of moving NICs. Is it "normal" that
it takes some time to return the NIC?
Almost every time I remove the jail (jail -r), I have to issue the
command twice. First, I see services getting stoped, but then the line:
  jail: kevent: No such process
'jail -r' cancels at that point (jls shows it active)
After the second 'jail -r' I get the following lines:
=2E
Terminated
gentlemail: removed
umount: unmount of /.jail.jailname1 failed: Device busy

Then 'jls' doesn't list the jail anymore, but the NIC still doesn't show
up in the hosts network stack.
And that's the cause for keeping the root mountpoint busy...
Could that be related to the wrong umount-order with 'jail -r'?

Thanks,

-Harry


--------------enig438B4AF40B8778F9AB84DB45
Content-Type: application/pgp-signature; name="signature.asc"
Content-Description: OpenPGP digital signature
Content-Disposition: attachment; filename="signature.asc"

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v2.0.18 (FreeBSD)

iEYEARECAAYFAlEea1IACgkQLDqVQ9VXb8hQeQCZAaGLpTShJ23DaP4r/O19eNqv
FTsAoLqq0uyH6g1fL2GfuTRMzsBxzDA3
=caNc
-----END PGP SIGNATURE-----

--------------enig438B4AF40B8778F9AB84DB45--



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?511E6B52.4020203>